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

# Penjualan & Pinjaman

> Penjualan manual dengan pembayaran USDT 75%, auto-sell 70% selama siklus empat periode 365 hari, dan fasilitas lending LTV 70% tetap terhadap jaminan DA dengan komisi 5% sekali bayar.

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

Setelah pengguna memegang DA, mereka memiliki dua opsi finansial utama: menjual aset atau menggunakannya sebagai jaminan untuk pinjaman.

<CardGroup cols={2}>
  <Card title="Jual DA" icon="fire">
    100% DA yang terjual dibakar secara permanen. Anda menerima 75% (manual) atau 70% (otomatis) dari nilai dalam USDT. Sisa 25% (manual) atau 30% (otomatis) adalah komisi protokol yang tetap berada di kumpulan sebagai pendukung dan mendorong harga DA naik.
  </Card>

  <Card title="Pinjamkan DA" icon="building-columns">
    Pinjam dengan LTV 70% tetap dalam USDT terhadap DA Anda. Komisi 5% sekali bayar dibayar saat penerbitan dan tidak pernah dikenakan lagi saat pelunasan. DA Anda tetap di TokenStack Anda sampai Anda melunasi (penuh atau sebagian) atau batch memasuki siklus auto-sell-nya.
  </Card>
</CardGroup>

## Penjualan DA & Mekanika Pembakaran

Saat menjual DA, ada dua skenario berbeda dengan kondisi yang berbeda:

1. **Penjualan Manual (pengguna menjual secara mandiri):**
   * Pengguna menerima **75%** dari nilai DA dalam USDT pada harga saat ini.
   * **100%** token DA yang terjual dibakar secara permanen.
   * Sisa 25% adalah komisi protokol yang tetap berada di kumpulan sebagai pendukung USDT — dengan token yang lebih sedikit dan likuiditas yang sama, 25% ini secara langsung mendorong pertumbuhan harga.

2. **Auto-Sell (dipicu setelah periode TokenStack berakhir):**
   * Pengguna menerima **70%** dari nilai DA dalam USDT pada harga di tanggal auto-sell.
   * **100%** token DA yang di-auto-sell dibakar secara permanen.
   * Sisa 30% adalah komisi protokol yang tetap berada di kumpulan sebagai pendukung USDT — 30% inilah yang mendorong harga naik.
   * Auto-sell terpicu secara otomatis jika pengguna belum menjual secara manual sebelum periode berakhir.

Dalam kedua kasus, 100% token yang terjual dibakar — 25%/30% mewakili komisi protokol yang tetap berada di kumpulan sebagai pendukung USDT. Inilah mekanisme yang mendorong pertumbuhan harga: token lebih sedikit + likuiditas sama = harga per DA lebih tinggi. Auto-sell menawarkan pembayaran 5% lebih rendah, memberikan insentif kepada pengguna untuk secara aktif mengelola posisi DA mereka.

<Warning>
  **Menjual DA mengonsumsi Batas Pendapatan NFT Anda.** Setiap penjualan manual atau auto-sell DA mengurangi sisa Batas Pendapatan NFT Anda sebesar jumlah pembayaran USDT — setara dengan imbalan marketing. Jika Batas Pendapatan habis, penjualan DA manual tidak dapat dilakukan (sistem tidak dapat mengkredit pembayaran), dan pada auto-sell 100% hasil dialihkan ke DA Liquidity Pool atau dibakar (mekanisme tepatnya ditentukan oleh pengaturan DAO). Pertahankan Batas Pendapatan Anda tetap aktif — melalui Autobuy atau pembaruan NFT manual — untuk menerima pembayaran saat menjual DA.
</Warning>

<Info>
  **Auto-sell** terpicu secara otomatis jika Anda tidak menjual secara manual sebelum periode TokenStack berakhir. Auto-sell membayar 5% lebih rendah (70% vs 75%), memberikan insentif untuk manajemen aktif.
</Info>

## Periode Auto-Sell

DA tersedia 100% untuk pengguna segera setelah farming — tidak ada periode lock-up. Pengguna dapat menjual secara manual kapan saja (menerima 75% dalam USDT) atau mengambil pinjaman dengan jaminan DA. Jika pengguna **tidak** bertindak, sistem memicu penjualan paksa otomatis dari **saldo tersisa** secara progresif selama 4 periode dengan total **365 hari (1 tahun)**. Durasi periode dihitung dalam hari pada on-chain (120 / 90 / 90 / 65 hari); referensi bulan di bawah ini adalah perkiraan untuk keterbacaan.

**Contoh dimulai dengan 100 DA:**

<Steps>
  <Step title="Periode 1 — Auto-sell 25% setelah 120 hari (~4 bulan)">
    Jika Anda belum menjual secara manual dalam 120 hari (\~4 bulan), 25% dari saldo DA Anda saat ini di-auto-sell. 25% dari 100 DA = **25 DA di-auto-sell** → Anda menerima 70% nilai dalam USDT pada harga saat ini → 100% dari 25 DA dibakar → Tersisa: **75 DA**
  </Step>

  <Step title="Periode 2 — Auto-sell 40% setelah 90 hari berikutnya (~3 bulan, hari ke-210)">
    40% dari saldo tersisa di-auto-sell. 40% dari 75 DA = **30 DA di-auto-sell** → Tersisa: **45 DA**
  </Step>

  <Step title="Periode 3 — Auto-sell 50% setelah 90 hari berikutnya (~3 bulan, hari ke-300)">
    50% dari saldo tersisa di-auto-sell. 50% dari 45 DA = **22,5 DA di-auto-sell** → Tersisa: **22,5 DA**
  </Step>

  <Step title="Periode 4 — Auto-sell 100% setelah 65 hari berikutnya (~2 bulan, hari ke-365)">
    100% dari saldo tersisa di-auto-sell. Posisi ditutup sepenuhnya. 100% dari 22,5 DA = **22,5 DA di-auto-sell** → Tersisa: **0 DA**
  </Step>
</Steps>

<Note>
  Persentase auto-sell (25% / 40% / 50% / 100%) yang ditampilkan di atas mewakili konfigurasi protokol saat ini. Nilai-nilai spesifik disimpan sebagai parameter protokol dan tunduk pada prosedur tata kelola standar. Selalu periksa smart contract atau dokumentasi protokol terbaru untuk nilai-nilai terbaru.
</Note>

Setiap auto-sell dieksekusi pada harga DA saat itu juga, bukan pada harga farming awal. Karena harga tumbuh seiring waktu, auto-sell yang lebih kemudian membakar token pada harga yang lebih tinggi — semakin memperkuat deflasi.

<Warning>
  **Auto-Sell dengan Batas Pendapatan Nol:** Jika auto-sell DA terpicu dan pengguna memiliki Batas Pendapatan nol pada NFT-nya (artinya NFT belum diperbarui), 100% hasil dialihkan ke Liquidity Pool atau pembakaran DA. Mekanisme tepatnya ditentukan oleh pengaturan DAO. Pengguna harus selalu mempertahankan Batas Pendapatan yang aktif untuk menerima pembayaran auto-sell mereka.
</Warning>

## Lending (Kredit terhadap DA)

Pemegang NFT Premium dan Elite (Level 5 ke atas) dapat mengambil pinjaman USDT terhadap jaminan DA mereka alih-alih menjualnya. Pinjaman dijaminkan oleh batch DA tertentu dari satu siklus mining dan farming yang telah selesai - seluruh batch sekaligus, bukan sebagian darinya. Tingkatan yang lebih rendah tidak menjalankan mining dan tidak memiliki jaminan DA untuk dipinjam.

Setiap pinjaman diterbitkan dengan **LTV 70% tetap** dengan **komisi 5% sekali bayar** yang diarahkan ke DA Liquidity Pool saat penerbitan. Tidak ada biaya yang dikenakan saat pelunasan. Peminjam menerima 95% dari jumlah pinjaman bruto di Saldo Reguler mereka. Contoh: untuk batch 100 DA pada harga DA 1,00 USDT, pinjaman bruto adalah 70 USDT, biaya adalah 3,50 USDT, dan pembayaran bersih peminjam adalah 66,50 USDT.

Sifat struktural yang menentukan adalah bahwa harga DA ditangkap dalam `loan.price` saat penerbitan dan tidak pernah diperbarui setelahnya. Pertumbuhan harga DA berikutnya tidak meningkatkan utang - sehingga peminjam mengekstrak likuiditas USDT pada harga hari ini sambil mempertahankan potensi kenaikan pada apresiasi masa depan. Pinjaman tidak memiliki jatuh tempo tetap, dapat dilunasi penuh atau sebagian kapan saja sebelum batch memasuki siklus auto-sell-nya, dan batch tertentu hanya dapat dijaminkan sekali sepanjang hidupnya.

Jika pinjaman tidak dilunasi sebelum batch memasuki siklus auto-sell-nya, DA yang dijaminkan dibakar secara progresif melalui jadwal empat periode standar. Peminjam menyimpan USDT yang diterima saat penerbitan; nilai USDT dari setiap bagian yang dibakar mengalir ke DA Liquidity Pool. Di antara periode auto-sell, peminjam masih dapat masuk dan memanggil `repay()` untuk mengklaim kembali DA yang masih dijaminkan.

<Warning>
  **Gagal Bayar Lending - Pembakaran Progresif:** Jika pinjaman tidak dilunasi sebelum batch yang dijaminkan memasuki siklus auto-sell-nya, jaminan melewati jadwal empat periode standar (25% / 40% / 50% / 100% dari DA yang dijaminkan **tersisa** dibakar selama 120 / 90 / 90 / 65 hari, total 365 hari). 100% DA yang dibakar dihancurkan secara permanen; nilai USDT yang sesuai pada `loan.price` diarahkan ke DA Liquidity Pool. Peminjam **tidak** menerima USDT untuk bagian yang dibakar - satu-satunya pemulihan ekonomi dari batch yang gagal bayar adalah USDT yang diterima saat penerbitan.

  **Pemulihan sebagian selalu tersedia.** Peminjam dapat memanggil `repay()` di antara dua periode auto-sell mana pun dan mengklaim kembali DA yang **masih** dijaminkan dengan hanya membayar untuk apa yang masih dijaminkan. DA yang telah dibakar pada periode-periode sebelumnya tidak dapat dipulihkan, tetapi setiap pembakaran mendatang masih dapat dihentikan dengan melunasi sebelum batas periodenya.
</Warning>

<Note>
  **`repay()` setelah auto-sell dimulai - perilaku dikoreksi pasca-CertiK (RWA-58):** Versi kontrak sebelumnya membatalkan `repay()` setelah batch memasuki siklus auto-sell. Setelah audit CertiK, hal ini dikoreksi: `repay()` kini dapat dipanggil pada tahap mana pun dalam kehidupan pinjaman. Ketika batch telah melewati pemicu auto-sell, kontrak pertama menjalankan `_processExpiredStacks()` untuk menyelesaikan setiap periode yang batasnya telah terlewati - yang membakar bagian jaminan yang sesuai - dan kemudian melanjutkan terhadap sisa pasca-pembakaran.

  Konsekuensi praktis: `repay()` yang terlambat tidak dapat "mendahului" pembakaran yang telah terpicu. Untuk menjaga **seluruh** jaminan, peminjam harus melunasi sebelum melewati pemicu auto-sell pertama (Periode 1, saat ini hari ke-120 dari kehidupan batch).
</Note>

<Card title="Mekanika Lending Lengkap →" icon="hand-holding-dollar" href="/id/da-lending">
  Kelayakan, pintu penerbitan 30 hari, formula, pelunasan sebagian dengan contoh perhitungan, matematika gagal bayar penuh, dan tabel parameter - semuanya di halaman khusus.
</Card>

<SellVsLend />
