> ## Documentation Index
> Fetch the complete documentation index at: https://whitepaper.rwanftfi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Продаж і Кредитування

> Ручний продаж за 75% у USDT, автопродаж за 70% протягом 365-денного чотирьох-періодного циклу та кредитна можливість з фіксованим 70% LTV під заставу DA з одноразовою 5% комісією.

export const SellVsLend = () => {
  const [daAmount, setDaAmount] = useState(1000);
  const [currentPrice, setCurrentPrice] = useState(1.00);
  const [futurePrice, setFuturePrice] = useState(2.00);
  const [tab, setTab] = useState('sell');
  const [paybackPercent, setPaybackPercent] = useState(100);
  const fmtUsd = n => {
    const digits = Math.abs(n) >= 10000 ? 0 : 2;
    return new Intl.NumberFormat('en-US', {
      style: 'currency',
      currency: 'USD',
      maximumFractionDigits: digits
    }).format(n);
  };
  const manualSellPayout = daAmount * currentPrice * 0.75;
  const autoSellPayout = daAmount * futurePrice * 0.70;
  const loanAmount = daAmount * currentPrice * 0.70 * 0.95;
  const futureValue = daAmount * futurePrice;
  const paybackFraction = paybackPercent / 100;
  const repayAmount = loanAmount * paybackFraction;
  const tokensReturned = daAmount * paybackFraction;
  const tokensReturnedValue = tokensReturned * futurePrice;
  const tokensLocked = daAmount * (1 - paybackFraction);
  const netPosition = loanAmount - repayAmount + tokensReturnedValue;
  const autoSellBetter = futurePrice > currentPrice * (75 / 70);
  const sellDifference = Math.abs(autoSellPayout - manualSellPayout);
  const sliderStyle = {
    touchAction: 'manipulation',
    height: '6px',
    borderRadius: '3px',
    background: 'linear-gradient(to right, rgba(255,255,255,0.4), rgba(255,255,255,0.15))',
    outline: 'none',
    WebkitAppearance: 'none',
    appearance: 'none'
  };
  return <div style={{
    backgroundColor: '#000000',
    color: '#FFFFFF',
    borderColor: 'rgba(255,255,255,0.05)'
  }} className="p-6 rounded-xl not-prose border">
      <div className="flex items-center justify-between mb-6">
        <h3 style={{
    color: '#FFFFFF'
  }} className="text-lg font-serif italic">Sell vs Lend Strategy Tool</h3>
        <span style={{
    color: 'rgba(255,255,255,0.6)',
    backgroundColor: 'rgba(255,255,255,0.1)',
    border: '1px solid rgba(255,255,255,0.2)'
  }} className="text-xs px-3 py-1 rounded-full font-medium">Interactive</span>
      </div>

      {}
      <div className="space-y-3 mb-6">
        {}
        <div style={{
    backgroundColor: '#383838',
    border: '1px solid rgba(255,255,255,0.05)'
  }} className="rounded-xl p-4">
          <div className="flex justify-between items-center mb-2">
            <span style={{
    color: 'rgba(255,255,255,0.5)',
    fontSize: '12px'
  }}>DA Amount</span>
            <span style={{
    color: '#FFFFFF',
    fontSize: '14px',
    fontWeight: 700
  }}>{daAmount.toLocaleString('en-US')} DA</span>
          </div>
          <input type="range" min="0" max="10000" step="100" value={daAmount} onChange={e => setDaAmount(Number(e.target.value))} className="w-full cursor-pointer" style={sliderStyle} />
        </div>

        {}
        <div style={{
    backgroundColor: '#383838',
    border: '1px solid rgba(255,255,255,0.05)'
  }} className="rounded-xl p-4">
          <div className="flex justify-between items-center mb-2">
            <span style={{
    color: 'rgba(255,255,255,0.5)',
    fontSize: '12px'
  }}>Current DA Price</span>
            <span style={{
    color: '#FFFFFF',
    fontSize: '14px',
    fontWeight: 700
  }}>${currentPrice.toFixed(2)}</span>
          </div>
          <input type="range" min="1.00" max="10.00" step="0.10" value={currentPrice} onChange={e => setCurrentPrice(Number(e.target.value))} className="w-full cursor-pointer" style={sliderStyle} />
        </div>

        {}
        <div style={{
    backgroundColor: '#383838',
    border: '1px solid rgba(255,255,255,0.05)'
  }} className="rounded-xl p-4">
          <div className="flex justify-between items-center mb-2">
            <span style={{
    color: 'rgba(255,255,255,0.5)',
    fontSize: '12px'
  }}>Expected Price in 4 Months</span>
            <span style={{
    color: '#FFFFFF',
    fontSize: '14px',
    fontWeight: 700
  }}>${futurePrice.toFixed(2)}</span>
          </div>
          <input type="range" min="1.00" max="20.00" step="0.10" value={futurePrice} onChange={e => setFuturePrice(Number(e.target.value))} className="w-full cursor-pointer" style={sliderStyle} />
        </div>
      </div>

      {}
      <div style={{
    backgroundColor: 'rgba(56,56,56,0.7)'
  }} className="flex rounded-full p-1 mb-6">
        <button onClick={() => setTab('sell')} style={tab === 'sell' ? {
    backgroundColor: '#FFFFFF',
    color: '#000000'
  } : {
    backgroundColor: 'transparent',
    color: 'rgba(255,255,255,0.5)'
  }} className="flex-1 px-3 py-1.5 rounded-full text-[11px] font-medium transition-all">
          SELL DA
        </button>
        <button onClick={() => setTab('lend')} style={tab === 'lend' ? {
    backgroundColor: '#FFFFFF',
    color: '#000000'
  } : {
    backgroundColor: 'transparent',
    color: 'rgba(255,255,255,0.5)'
  }} className="flex-1 px-3 py-1.5 rounded-full text-[11px] font-medium transition-all">
          LEND DA
        </button>
      </div>

      {}
      {tab === 'sell' && <>
          <div className="grid grid-cols-1 md:grid-cols-2 gap-4">
            {}
            <div style={{
    backgroundColor: 'rgba(255,255,255,0.03)',
    border: '1px solid rgba(255,255,255,0.15)'
  }} className="rounded-xl p-5">
              <div className="flex items-center gap-2 mb-4">
                <h4 style={{
    color: '#FFFFFF'
  }} className="text-base font-bold">MANUAL SELL</h4>
                <span style={{
    color: '#f87171',
    backgroundColor: 'rgba(239,68,68,0.1)',
    border: '1px solid rgba(239,68,68,0.2)'
  }} className="ml-auto text-[10px] font-semibold px-2 py-0.5 rounded-full">
                  Sell now
                </span>
              </div>
              <div style={{
    color: '#FFFFFF'
  }} className="text-2xl font-bold mb-1">{fmtUsd(manualSellPayout)}</div>
              <div style={{
    color: 'rgba(255,255,255,0.3)',
    fontSize: '10px',
    marginBottom: '8px'
  }}>(25% stays in pool)</div>
              <div style={{
    color: 'rgba(255,255,255,0.4)',
    fontSize: '11px',
    lineHeight: '1.6'
  }}>
                100% DA burned · 75% payout in USDT · 25% stays in pool — drives price up
              </div>
              <div style={{
    color: 'rgba(255,255,255,0.4)',
    fontSize: '11px',
    marginTop: '4px',
    lineHeight: '1.6'
  }}>
                Sell now at current price. 25% stays as backing in the pool.
              </div>
            </div>

            {}
            <div style={{
    backgroundColor: 'rgba(255,255,255,0.03)',
    border: '1px solid rgba(255,255,255,0.15)'
  }} className="rounded-xl p-5">
              <div className="flex items-center gap-2 mb-4">
                <h4 style={{
    color: '#FFFFFF'
  }} className="text-base font-bold">AUTO-SELL</h4>
                <span style={{
    color: '#fbbf24',
    backgroundColor: 'rgba(251,191,36,0.1)',
    border: '1px solid rgba(251,191,36,0.2)'
  }} className="ml-auto text-[10px] font-semibold px-2 py-0.5 rounded-full">
                  Sell at peak
                </span>
              </div>
              <div style={{
    color: '#FFFFFF'
  }} className="text-2xl font-bold mb-1">{fmtUsd(autoSellPayout)}</div>
              <div style={{
    color: 'rgba(255,255,255,0.3)',
    fontSize: '10px',
    marginBottom: '8px'
  }}>(30% stays in pool)</div>
              <div style={{
    color: 'rgba(255,255,255,0.4)',
    fontSize: '11px',
    lineHeight: '1.6'
  }}>
                100% DA burned · 70% payout in USDT · 30% stays in pool — drives price up
              </div>
              <div style={{
    color: 'rgba(255,255,255,0.4)',
    fontSize: '11px',
    marginTop: '4px',
    lineHeight: '1.6'
  }}>
                Auto-sells progressively from remaining balance if not sold manually.
              </div>
            </div>
          </div>

          {}
          {daAmount > 0 && <div style={{
    backgroundColor: 'rgba(255,255,255,0.05)',
    border: '1px solid rgba(255,255,255,0.1)',
    marginTop: '16px'
  }} className="rounded-xl p-4 text-center">
              <div style={{
    color: 'rgba(255,255,255,0.6)',
    fontSize: '12px'
  }}>
                {autoSellBetter ? <>Auto-sell pays <span style={{
    color: '#FFFFFF',
    fontWeight: 600
  }}>{fmtUsd(sellDifference)} more</span> despite 30% retention — DA price growth outweighs the extra 5% retention.</> : <>At this price projection, manual sell pays <span style={{
    color: '#FFFFFF',
    fontWeight: 600
  }}>{fmtUsd(sellDifference)} more</span>.</>}
              </div>
            </div>}
        </>}

      {}
      {tab === 'lend' && <>
          {}
          <div style={{
    backgroundColor: 'rgba(255,255,255,0.03)',
    border: '1px solid rgba(255,255,255,0.15)'
  }} className="rounded-xl p-5 mb-2">
            <div className="flex items-center mb-4">
              <div style={{
    backgroundColor: 'rgba(255,255,255,0.15)',
    width: '28px',
    height: '28px',
    borderRadius: '50%',
    display: 'flex',
    alignItems: 'center',
    justifyContent: 'center',
    fontSize: '13px',
    fontWeight: 700,
    color: '#FFFFFF',
    flexShrink: 0
  }}>1</div>
              <span style={{
    color: '#FFFFFF',
    fontSize: '15px',
    fontWeight: 700,
    marginLeft: '10px'
  }}>BORROW</span>
              <span style={{
    color: '#4ade80',
    backgroundColor: 'rgba(34,197,94,0.1)',
    border: '1px solid rgba(34,197,94,0.2)'
  }} className="ml-auto text-[10px] font-semibold px-2 py-0.5 rounded-full">
                70% LTV
              </span>
            </div>
            <div style={{
    color: '#FFFFFF',
    fontSize: '28px',
    fontWeight: 900
  }}>{fmtUsd(loanAmount)}</div>
            <div style={{
    color: 'rgba(255,255,255,0.4)',
    fontSize: '12px',
    marginTop: '4px'
  }}>USDT loan (70% LTV minus 5% fee)</div>
            <div style={{
    color: 'rgba(255,255,255,0.3)',
    fontSize: '11px',
    marginTop: '8px'
  }}>DA locked: {daAmount.toLocaleString('en-US')} DA</div>
          </div>

          {}
          <div style={{
    textAlign: 'center',
    padding: '4px 0'
  }}>
            <div style={{
    width: '1px',
    height: '16px',
    backgroundColor: 'rgba(255,255,255,0.15)',
    margin: '0 auto'
  }} />
            <div style={{
    color: '#4ade80',
    fontSize: '11px',
    fontWeight: 600,
    padding: '4px 12px',
    backgroundColor: 'rgba(74,222,128,0.08)',
    borderRadius: '9999px',
    display: 'inline-block'
  }}>
              DA price grows to {fmtUsd(futurePrice)}
            </div>
            <div style={{
    width: '1px',
    height: '16px',
    backgroundColor: 'rgba(255,255,255,0.15)',
    margin: '0 auto'
  }} />
          </div>

          {}
          <div style={{
    backgroundColor: '#383838',
    border: '1px solid rgba(255,255,255,0.05)'
  }} className="rounded-xl p-4 mb-2">
            <div className="flex justify-between items-center mb-2">
              <span style={{
    color: 'rgba(255,255,255,0.5)',
    fontSize: '12px'
  }}>Loan Repayment</span>
              <span style={{
    color: '#FFFFFF',
    fontSize: '14px',
    fontWeight: 700
  }}>{paybackPercent}%</span>
            </div>
            <input type="range" min="0" max="100" step="10" value={paybackPercent} onChange={e => setPaybackPercent(Number(e.target.value))} className="w-full cursor-pointer" style={sliderStyle} />
            <div className="flex justify-between mt-1">
              <span style={{
    color: 'rgba(255,255,255,0.5)',
    fontSize: '10px'
  }}>0%</span>
              <span style={{
    color: 'rgba(255,255,255,0.5)',
    fontSize: '10px'
  }}>100%</span>
            </div>
          </div>

          {}
          <div style={{
    backgroundColor: 'rgba(255,255,255,0.03)',
    border: '1px solid rgba(255,255,255,0.15)'
  }} className="rounded-xl p-5 mb-2">
            <div className="flex items-center mb-4">
              <div style={{
    backgroundColor: 'rgba(255,255,255,0.15)',
    width: '28px',
    height: '28px',
    borderRadius: '50%',
    display: 'flex',
    alignItems: 'center',
    justifyContent: 'center',
    fontSize: '13px',
    fontWeight: 700,
    color: '#FFFFFF',
    flexShrink: 0
  }}>2</div>
              <span style={{
    color: '#FFFFFF',
    fontSize: '15px',
    fontWeight: 700,
    marginLeft: '10px'
  }}>
                {paybackPercent === 100 ? 'FULL REPAY' : `PARTIAL REPAY (${paybackPercent}%)`}
              </span>
            </div>
            <div className="grid grid-cols-2 gap-3">
              <div>
                <div style={{
    color: 'rgba(255,255,255,0.4)',
    fontSize: '10px',
    marginBottom: '4px'
  }}>PAY BACK</div>
                <div style={{
    color: '#FFFFFF',
    fontSize: '20px',
    fontWeight: 700
  }}>{fmtUsd(repayAmount)}</div>
                <div style={{
    color: 'rgba(255,255,255,0.3)',
    fontSize: '11px'
  }}>{paybackPercent}% of loan</div>
              </div>
              <div>
                <div style={{
    color: 'rgba(255,255,255,0.4)',
    fontSize: '10px',
    marginBottom: '4px'
  }}>GET BACK</div>
                <div style={{
    color: '#4ade80',
    fontSize: '20px',
    fontWeight: 700
  }}>{tokensReturned.toLocaleString('en-US')} DA</div>
                <div style={{
    color: 'rgba(255,255,255,0.3)',
    fontSize: '11px'
  }}>worth {fmtUsd(tokensReturnedValue)} at future price</div>
              </div>
            </div>
            {paybackPercent < 100 && tokensLocked > 0 && <div style={{
    color: 'rgba(255,255,255,0.3)',
    fontSize: '11px',
    marginTop: '10px',
    borderTop: '1px solid rgba(255,255,255,0.08)',
    paddingTop: '8px'
  }}>
                {tokensLocked.toLocaleString('en-US')} DA remain locked as collateral
              </div>}
          </div>

          {}
          <div style={{
    textAlign: 'center',
    padding: '4px 0'
  }}>
            <div style={{
    width: '1px',
    height: '24px',
    backgroundColor: 'rgba(255,255,255,0.15)',
    margin: '0 auto'
  }} />
          </div>

          {}
          <div style={{
    backgroundColor: 'rgba(255,255,255,0.03)',
    border: '1px solid rgba(255,255,255,0.15)'
  }} className="rounded-xl p-5 mb-4">
            <div className="flex items-center mb-4">
              <div style={{
    backgroundColor: 'rgba(255,255,255,0.15)',
    width: '28px',
    height: '28px',
    borderRadius: '50%',
    display: 'flex',
    alignItems: 'center',
    justifyContent: 'center',
    fontSize: '13px',
    fontWeight: 700,
    color: '#FFFFFF',
    flexShrink: 0
  }}>3</div>
              <span style={{
    color: '#FFFFFF',
    fontSize: '15px',
    fontWeight: 700,
    marginLeft: '10px'
  }}>YOUR PROFIT</span>
            </div>
            <div style={{
    textAlign: 'center'
  }}>
              <div style={{
    color: '#FFFFFF',
    fontSize: '36px',
    fontWeight: 900
  }}>{fmtUsd(netPosition)}</div>
              <div style={{
    color: 'rgba(255,255,255,0.4)',
    fontSize: '11px',
    marginTop: '4px'
  }}>Net position</div>
            </div>
            <div style={{
    borderTop: '1px solid rgba(255,255,255,0.1)',
    marginTop: '16px'
  }} />
            <div className="grid grid-cols-3 gap-3 text-center" style={{
    marginTop: '12px'
  }}>
              <div>
                <div style={{
    color: 'rgba(255,255,255,0.4)',
    fontSize: '10px'
  }}>NET POSITION</div>
                <div style={{
    color: '#4ade80',
    fontSize: '16px',
    fontWeight: 700
  }}>{fmtUsd(netPosition)}</div>
                <div style={{
    color: 'rgba(255,255,255,0.3)',
    fontSize: '10px'
  }}>All fees included</div>
              </div>
              <div>
                <div style={{
    color: 'rgba(255,255,255,0.4)',
    fontSize: '10px'
  }}>VS HOLD</div>
                <div style={{
    color: '#FFFFFF',
    fontSize: '16px',
    fontWeight: 700
  }}>{fmtUsd(futureValue)}</div>
              </div>
              <div>
                <div style={{
    color: 'rgba(255,255,255,0.4)',
    fontSize: '10px'
  }}>VS SELL NOW</div>
                <div style={{
    color: '#f87171',
    fontSize: '16px',
    fontWeight: 700
  }}>{fmtUsd(manualSellPayout)}</div>
                <div style={{
    color: 'rgba(255,255,255,0.3)',
    fontSize: '10px'
  }}>25% stays in pool</div>
              </div>
            </div>
          </div>

          {}
          <div style={{
    backgroundColor: 'rgba(34,197,94,0.08)',
    border: '1px solid rgba(34,197,94,0.2)'
  }} className="rounded-xl p-4 text-center mb-3">
            <div style={{
    color: 'rgba(255,255,255,0.6)',
    fontSize: '12px'
  }}>
              Lending lets you access liquidity <span style={{
    color: '#FFFFFF',
    fontWeight: 600
  }}>NOW</span> while keeping exposure to DA price growth.
              {paybackPercent === 100 ? <span> At 100% repayment, you recover your full DA position at the new price.</span> : <span> At {paybackPercent}% repayment, {tokensLocked.toLocaleString('en-US')} DA remain locked. Unpaid loans default through the auto-sell cycle.</span>}
            </div>
          </div>

          {}
          <div style={{
    backgroundColor: 'rgba(239,68,68,0.08)',
    border: '1px solid rgba(239,68,68,0.2)',
    marginTop: '12px'
  }} className="rounded-xl p-4 text-center">
            <div style={{
    color: '#f87171',
    fontSize: '11px'
  }}>
              Each loan stays open until its collateralized stack enters the auto-sell cycle. If not repaid before then, the DA collateral is progressively burned.
            </div>
          </div>
        </>}
    </div>;
};

Щойно у користувача з'являється DA, у нього є два основні фінансові варіанти: продати актив або використати його як заставу для кредиту.

<CardGroup cols={2}>
  <Card title="Продати DA" icon="fire">
    100% проданих DA безповоротно спалюється. Ви отримуєте 75% (ручний продаж) або 70% (авто) вартості в USDT. Решта 25% (ручний) або 30% (авто) — комісія протоколу, що залишається у пулі як забезпечення та штовхає ціну DA вгору.
  </Card>

  <Card title="Взяти кредит під DA" icon="building-columns">
    Позичайте за фіксованим 70% LTV у USDT під заставу ваших DA. Одноразова 5% комісія сплачується на момент видачі і більше не стягується при погашенні. Ваш DA залишається у вашому TokenStack, доки ви не погасите кредит (повністю або частково) або партія не увійде в цикл автопродажу.
  </Card>
</CardGroup>

## Продаж DA та механіка спалювання

При продажу DA є два окремі сценарії з різними умовами:

1. **Ручний продаж (користувач продає самостійно):**
   * Користувач отримує **75%** вартості DA в USDT за поточною ціною.
   * **100%** проданих токенів DA безповоротно спалюється.
   * Решта 25% — комісія протоколу, що залишається у пулі як забезпечення USDT — з меншою кількістю токенів і тією ж ліквідністю саме ці 25% безпосередньо штовхають ціну вгору.

2. **Автопродаж (спрацьовує після закінчення періоду TokenStack):**
   * Користувач отримує **70%** вартості DA в USDT за ціною на дату автопродажу.
   * **100%** автопроданих токенів DA безповоротно спалюється.
   * Решта 30% — комісія протоколу, що залишається у пулі як забезпечення USDT — саме ці 30% штовхають ціну вгору.
   * Автопродаж спрацьовує автоматично, якщо користувач не продав вручну до закінчення періоду.

В обох випадках 100% проданих токенів спалюється — 25%/30% представляють комісію протоколу, що залишається у пулі як забезпечення USDT. Це механізм, що штовхає ціну вгору: менше токенів + та сама ліквідність = вища ціна за DA. Автопродаж дає на 5% меншу виплату, стимулюючи користувачів активно керувати своїми позиціями DA.

<Warning>
  **Продаж DA витрачає Ліміт Доходу вашого NFT.** Кожен ручний або автопродаж DA зменшує залишковий Ліміт Доходу вашого NFT на суму виплати в USDT — на тих самих умовах, що й маркетингові винагороди. Якщо Ліміт Доходу вичерпано, ручний продаж DA неможливий (система не може зарахувати виплату), а при автопродажу 100% надходжень спрямовуються до Пулу Ліквідності DA або на спалювання (точний механізм визначається налаштуваннями DAO). Тримайте Ліміт Доходу активним — через Autobuy або ручне поновлення NFT — щоб отримувати виплату при продажу DA.
</Warning>

<Info>
  **Автопродаж** спрацьовує автоматично, якщо ви не продали вручну до закінчення періоду TokenStack. Він виплачує на 5% менше (70% проти 75%), стимулюючи активне управління.
</Info>

## Періоди автопродажу

DA доступний користувачу на 100% одразу після фармінгу — періоду блокування немає. Користувач може продати вручну в будь-який час (отримуючи 75% у USDT) або взяти кредит під заставу DA. Якщо користувач **не діє**, система запускає автоматичні примусові продажі з **залишкового балансу** прогресивно протягом 4 періодів, що в сумі тривають **365 днів (1 рік)**. Тривалість періодів он-чейн виміряна в днях (120 / 90 / 90 / 65 днів); посилання на місяці нижче — приблизні для зручності читання.

**Приклад зі стартом у 100 DA:**

<Steps>
  <Step title="Період 1 — 25% автопродажу через 120 днів (~4 місяці)">
    Якщо ви не продали вручну протягом 120 днів (\~4 місяці), 25% поточного балансу DA продається автоматично. 25% від 100 DA = **25 DA автопродано** → Ви отримуєте 70% вартості в USDT за поточною ціною → 100% з 25 DA спалюється → Залишок: **75 DA**
  </Step>

  <Step title="Період 2 — 40% автопродажу ще через 90 днів (~3 місяці, день 210)">
    40% залишкового балансу автопродається. 40% від 75 DA = **30 DA автопродано** → Залишок: **45 DA**
  </Step>

  <Step title="Період 3 — 50% автопродажу ще через 90 днів (~3 місяці, день 300)">
    50% залишкового балансу автопродається. 50% від 45 DA = **22,5 DA автопродано** → Залишок: **22,5 DA**
  </Step>

  <Step title="Період 4 — 100% автопродажу ще через 65 днів (~2 місяці, день 365)">
    100% залишкового балансу автопродається. Позиція повністю закрита. 100% від 22,5 DA = **22,5 DA автопродано** → Залишок: **0 DA**
  </Step>
</Steps>

<Note>
  Відсотки автопродажу (25% / 40% / 50% / 100%), показані вище, відображають поточну конфігурацію протоколу. Конкретні значення зберігаються як параметри протоколу та підпорядковуються стандартним процедурам управління. Завжди звіряйтеся зі смартконтрактом або поточною документацією протоколу для актуальних значень.
</Note>

Кожен автопродаж виконується за ціною DA в той момент, а не за початковою ціною фармінгу. Оскільки ціна з часом зростає, пізніші автопродажі спалюють токени за вищою ціною — це додатково посилює дефляцію.

<Warning>
  **Автопродаж із нульовим Лімітом Доходу:** якщо спрацьовує автопродаж DA, а у користувача нульовий Ліміт Доходу на NFT (тобто NFT не поновлено), 100% надходжень спрямовується або до Пулу Ліквідності, або на спалювання DA. Точний механізм визначається налаштуваннями DAO. Користувачі повинні завжди підтримувати активний Ліміт Доходу, щоб отримувати виплату за автопродажем.
</Warning>

## Кредитування (кредит під заставу DA)

Власники NFT рівнів Premium та Elite (Рівень 5 і вище) можуть взяти кредит у USDT під заставу свого DA замість того, щоб продавати його. Кредит забезпечений конкретною партією DA з одного завершеного циклу майнінгу та фармінгу - вся партія одразу, а не частка від неї. Нижчі рівні не запускають майнінг і не мають застави DA.

Кожен кредит видається за фіксованим **70% LTV** з одноразовою **5% комісією**, що спрямовується до Пулу Ліквідності DA на момент видачі. При погашенні нічого не стягується. Позичальник отримує 95% від валової суми кредиту на свій Звичайний Баланс. Приклад: для партії 100 DA за ціною DA 1,00 USDT валовий кредит становить 70 USDT, комісія - 3,50 USDT, а чиста виплата позичальнику - 66,50 USDT.

Визначальна структурна властивість полягає в тому, що ціна DA фіксується в `loan.price` на момент видачі і ніколи не перераховується після цього. Подальше зростання ціни DA не збільшує борг - тому позичальник вилучає ліквідність у USDT за сьогоднішньою ціною, зберігаючи право на майбутнє зростання. Кредит не має фіксованого терміну, може бути погашений повністю або частково у будь-який момент до того, як партія увійде в цикл автопродажу, і дана партія може бути закладена лише один раз за весь час існування.

Якщо кредит не погашено до того, як партія увійшла в цикл автопродажу, заставлений DA прогресивно спалюється за стандартним чотирьох-періодним графіком. Позичальник зберігає USDT, отримані на момент видачі; USDT-вартість кожної спаленої частини надходить до Пулу Ліквідності DA. Між автопродажними періодами позичальник може все ще втрутитися і викликати `repay()`, щоб отримати назад DA, що ще залишається в заставі.

<Warning>
  **Дефолт за кредитом - прогресивне спалювання:** якщо кредит не погашено до того, як заставлена партія увійшла в цикл автопродажу, застава проходить стандартний чотирьох-періодний графік (25% / 40% / 50% / 100% від **залишку** заставленого DA, спаленого протягом 120 / 90 / 90 / 65 днів, 365 днів загалом). 100% спаленого DA безповоротно знищується; відповідна USDT-вартість за `loan.price` спрямовується до Пулу Ліквідності DA. Позичальник **не** отримує USDT за спалену частину - єдиним економічним відновленням від партії з дефолтом є USDT, отримані на момент видачі.

  **Часткове відновлення завжди доступне.** Позичальник може викликати `repay()` між будь-якими двома автопродажними періодами і отримати назад **залишок** заставленого DA, сплативши лише за те, що ще залишається в заставі. DA, вже спалений у попередніх періодах, не може бути відновлений, але кожне майбутнє спалювання ще можна зупинити, погасивши до межі його періоду.
</Warning>

<Note>
  **`repay()` після початку автопродажу - поведінка, виправлена після CertiK (RWA-58):** більш ранні версії контракту скасовували `repay()` щойно партія переходила в цикл автопродажу. Після аудиту CertiK це було виправлено: `repay()` тепер можна викликати на будь-якому етапі існування кредиту. Коли партія вже перетнула тригер автопродажу, контракт спочатку запускає `_processExpiredStacks()` для врегулювання кожного вже минулого межового періоду - що спалює відповідну частку застави - а потім продовжується відносно залишку після спалювання.

  Практичний наслідок: пізній `repay()` не може «обігнати» спалювання, що вже спрацювало. Щоб зберегти **всю** заставу, позичальник повинен погасити до перетину першого тригера автопродажу (Період 1, зараз день 120 існування партії).
</Note>

<Card title="Повна механіка кредитування →" icon="hand-holding-dollar" href="/uk/da-lending">
  Eligibility, 30-денний шлюз видачі, формули, часткове погашення з практичними прикладами, повна математика дефолту та таблиця параметрів - все на окремій сторінці.
</Card>

<SellVsLend />
