> ## 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.

# Selling & Lending

> Manual sell at 75% USDT payout, auto-sell at 70% over a 365-day four-period cycle, and a fixed 70% LTV lending facility against DA collateral with a one-time 5% commission.

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>;
};

Once a user holds DA, they have two primary financial options: selling the asset or using it as collateral for a loan.

<CardGroup cols={2}>
  <Card title="Sell DA" icon="fire">
    100% of sold DA is permanently burned. You receive 75% (manual) or 70% (auto) of value in USDT. The remaining 25% (manual) or 30% (auto) is a protocol commission that stays in the pool as backing and drives the DA price upward.
  </Card>

  <Card title="Lend DA" icon="building-columns">
    Borrow at a fixed 70% LTV in USDT against your DA. A one-time 5% commission is paid at issuance and never charged again at repayment. Your DA stays in your TokenStack until you repay (in full or in part) or the batch enters its auto-sell cycle.
  </Card>
</CardGroup>

## Selling DA & Burn Mechanics

When selling DA, there are two distinct scenarios with different conditions:

1. **Manual Sale (user sells independently):**
   * The user receives **75%** of the DA value in USDT at the current price.
   * **100%** of the sold DA tokens are permanently burned.
   * The remaining 25% is a protocol commission that stays in the pool as USDT backing — with fewer tokens and the same liquidity, this 25% directly drives the price growth.

2. **Auto-Sell (triggered after TokenStack period expires):**
   * The user receives **70%** of the DA value in USDT at the price on the date of auto-sell.
   * **100%** of the auto-sold DA tokens are permanently burned.
   * The remaining 30% is a protocol commission that stays in the pool as USDT backing — this 30% is what drives the price upward.
   * Auto-sell triggers automatically if the user has not sold manually before the period expires.

In both cases, 100% of sold tokens are burned — the 25%/30% represents the protocol commission that stays in the pool as USDT backing. This is the mechanism that drives price growth: fewer tokens + same liquidity = higher price per DA. Auto-sell offers a 5% lower payout, incentivizing users to actively manage their DA positions.

<Warning>
  **Selling DA consumes your NFT's Income Limit.** Every manual or auto-sell of DA reduces your NFT's remaining Income Limit by the USDT payout amount — on equal footing with marketing rewards. If the Income Limit is exhausted, manual DA sale is not possible (the system cannot credit the payout), and on auto-sell 100% of proceeds are routed to the DA Liquidity Pool or to burn (the exact mechanism is determined by DAO settings). Keep your Income Limit active — through Autobuy or manual NFT renewal — to receive the payout when selling DA.
</Warning>

<Info>
  **Auto-sell** triggers automatically if you don't sell manually before the TokenStack period expires. It pays 5% less (70% vs 75%), incentivizing active management.
</Info>

## Auto-Sell Periods

DA is 100% available to the user immediately upon farming — there is no lock-up period. The user can sell manually at any time (receiving 75% in USDT) or take a loan against their DA. If the user does **not** act, the system triggers automatic forced sales from the **remaining balance** progressively over 4 periods spanning **365 days (1 year)** total. Period durations are denominated in days on-chain (120 / 90 / 90 / 65 days); the month references below are approximations for readability.

**Example starting with 100 DA:**

<Steps>
  <Step title="Period 1 — 25% auto-sell after 120 days (~4 months)">
    If you haven't sold manually within 120 days (\~4 months), 25% of your current DA balance is auto-sold. 25% of 100 DA = **25 DA auto-sold** → You receive 70% of value in USDT at current price → 100% of 25 DA burned → Remaining: **75 DA**
  </Step>

  <Step title="Period 2 — 40% auto-sell after 90 more days (~3 months, day 210)">
    40% of the remaining balance is auto-sold. 40% of 75 DA = **30 DA auto-sold** → Remaining: **45 DA**
  </Step>

  <Step title="Period 3 — 50% auto-sell after 90 more days (~3 months, day 300)">
    50% of the remaining balance is auto-sold. 50% of 45 DA = **22.5 DA auto-sold** → Remaining: **22.5 DA**
  </Step>

  <Step title="Period 4 — 100% auto-sell after 65 more days (~2 months, day 365)">
    100% of the remaining balance is auto-sold. Position fully closed. 100% of 22.5 DA = **22.5 DA auto-sold** → Remaining: **0 DA**
  </Step>
</Steps>

<Note>
  The auto-sell percentages (25% / 40% / 50% / 100%) shown above represent the current protocol configuration. Specific values are stored as protocol parameters and are subject to standard governance procedures. Always check the smart contract or current protocol documentation for the latest values.
</Note>

Each auto-sell executes at the DA price at that moment, not the original farming price. Since price grows over time, later auto-sells burn tokens at a higher price — strengthening deflation further.

<Warning>
  **Auto-Sell with Zero Income Limit:** If DA auto-sell triggers and the user has zero Income Limit on their NFT (meaning the NFT has not been renewed), 100% of proceeds are directed either to the Liquidity Pool or to DA burn. The exact mechanism is determined by DAO settings. Users should always maintain an active Income Limit to receive their auto-sell payout.
</Warning>

## Lending (Credit Against DA)

Premium and Elite NFT holders (Level 5 and above) can take a USDT loan against their DA collateral instead of selling it. The loan is collateralized by a specific DA batch from a single completed mining and farming cycle - the whole batch at once, not a fraction of it. Lower tiers do not run mining and have no DA collateral to borrow against.

Every loan is issued at a fixed **70% LTV** with a one-time **5% commission** routed to the DA Liquidity Pool at issuance. Nothing is charged at repayment. The borrower receives 95% of the gross loan amount in their Regular Balance. Example: for a 100 DA batch at a DA price of 1.00 USDT, the gross loan is 70 USDT, the fee is 3.50 USDT, and the borrower's net payout is 66.50 USDT.

The defining structural property is that the DA price is captured in `loan.price` at issuance and never reprices afterward. Subsequent DA price growth does not increase the debt - so the borrower extracts USDT liquidity at today's price while retaining the upside on future appreciation. The loan has no fixed maturity, can be repaid in full or in part at any moment before the batch enters its auto-sell cycle, and a given batch can be pledged only once over its entire lifetime.

If the loan is not repaid before the batch enters its auto-sell cycle, the pledged DA is progressively burned through the standard four-period schedule. The borrower keeps the USDT received at issuance; the USDT value of every burned portion flows to the DA Liquidity Pool. Between auto-sell periods the borrower can still step in and call `repay()` to reclaim whatever DA is still pledged.

<Warning>
  **Lending Default - Progressive Burn:** If the loan is not repaid before the collateralized batch enters its auto-sell cycle, the collateral proceeds through the standard four-period schedule (25% / 40% / 50% / 100% of the **remaining** pledged DA burned over 120 / 90 / 90 / 65 days, 365 days total). 100% of burned DA is permanently destroyed; the corresponding USDT value at `loan.price` is routed to the DA Liquidity Pool. The borrower does **not** receive USDT for the burned portion - the only economic recovery from a defaulted batch is the USDT received at issuance.

  **Partial recovery is always available.** The borrower can call `repay()` between any two auto-sell periods and reclaim the **remaining** pledged DA by paying only for what is still pledged. DA already burned in earlier periods cannot be recovered, but every future burn can still be stopped by repaying before its period boundary.
</Warning>

<Note>
  **`repay()` after auto-sell starts - behavior corrected post-CertiK (RWA-58):** Earlier contract versions reverted `repay()` once the batch crossed into the auto-sell cycle. After the CertiK audit, this was corrected: `repay()` is now callable at any stage of the loan's life. When the batch has already crossed an auto-sell trigger, the contract first runs `_processExpiredStacks()` to settle every period whose boundary has already passed - which burns the corresponding share of collateral - and then proceeds against the post-burn remainder.

  Practical consequence: a late `repay()` cannot "outpace" a burn that has already triggered. To preserve the **entire** collateral, the borrower must repay before crossing the first auto-sell trigger (Period 1, currently day 120 of the batch's life).
</Note>

<Card title="Full Lending Mechanics →" icon="hand-holding-dollar" href="/en/da-lending">
  Eligibility, the 30-day issuance gate, formulas, partial repayment with worked examples, full default math, and the parameter table - all on a dedicated page.
</Card>

<SellVsLend />
