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

# Vendita e Lending

> Vendita manuale al 75% del payout in USDT, auto-vendita al 70% su un ciclo a quattro periodi di 365 giorni, e un lending a LTV fisso del 70% contro collaterale DA con una commissione una tantum del 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>;
};

Una volta che un utente detiene DA, ha due opzioni finanziarie principali: vendere l'asset o utilizzarlo come collaterale per un prestito.

<CardGroup cols={2}>
  <Card title="Vendi DA" icon="fire">
    Il 100% del DA venduto viene bruciato in modo permanente. Ricevi il 75% (manuale) o il 70% (auto) del valore in USDT. Il restante 25% (manuale) o 30% (auto) è una commissione di protocollo che resta nel pool come backing e fa salire il prezzo del DA.
  </Card>

  <Card title="Presta DA" icon="building-columns">
    Prendi in prestito a un LTV fisso del 70% in USDT contro il tuo DA. Una commissione una tantum del 5% viene pagata all'emissione e non viene mai addebitata di nuovo al rimborso. Il tuo DA resta nel tuo TokenStack finché non rimborsi (in tutto o in parte) o il batch non entra nel suo ciclo di auto-vendita.
  </Card>
</CardGroup>

## Vendita di DA e Meccanica del Burn

Quando si vende DA, ci sono due scenari distinti con condizioni diverse:

1. **Vendita Manuale (l'utente vende in modo indipendente):**
   * L'utente riceve il **75%** del valore DA in USDT al prezzo corrente.
   * Il **100%** dei token DA venduti viene bruciato in modo permanente.
   * Il restante 25% è una commissione di protocollo che resta nel pool come backing in USDT — con meno token e la stessa liquidità, questo 25% guida direttamente la crescita del prezzo.

2. **Auto-Vendita (attivata dopo la scadenza del periodo TokenStack):**
   * L'utente riceve il **70%** del valore DA in USDT al prezzo della data dell'auto-vendita.
   * Il **100%** dei token DA auto-venduti viene bruciato in modo permanente.
   * Il restante 30% è una commissione di protocollo che resta nel pool come backing in USDT — questo 30% è ciò che fa salire il prezzo.
   * L'auto-vendita si attiva automaticamente se l'utente non ha venduto manualmente prima della scadenza del periodo.

In entrambi i casi, il 100% dei token venduti viene bruciato — il 25%/30% rappresenta la commissione di protocollo che resta nel pool come backing in USDT. Questo è il meccanismo che guida la crescita del prezzo: meno token + stessa liquidità = prezzo più alto per DA. L'auto-vendita offre un payout inferiore del 5%, incentivando gli utenti a gestire attivamente le proprie posizioni in DA.

<Warning>
  **La vendita di DA consuma l'Income Limit del tuo NFT.** Ogni vendita manuale o auto-vendita di DA riduce l'Income Limit residuo del tuo NFT dell'importo del payout in USDT — sullo stesso piano delle ricompense di marketing. Se l'Income Limit è esaurito, la vendita manuale di DA non è possibile (il sistema non può accreditare il payout), e in caso di auto-vendita il 100% dei proventi viene indirizzato al Pool di Liquidità DA o al burn (il meccanismo esatto è determinato dalle impostazioni della DAO). Mantieni il tuo Income Limit attivo — tramite Autobuy o rinnovo manuale dell'NFT — per ricevere il payout quando vendi DA.
</Warning>

<Info>
  L'**auto-vendita** si attiva automaticamente se non vendi manualmente prima della scadenza del periodo TokenStack. Paga il 5% in meno (70% vs 75%), incentivando la gestione attiva.
</Info>

## Periodi di Auto-Vendita

Il DA è al 100% disponibile per l'utente immediatamente al farming — non c'è alcun periodo di lock-up. L'utente può vendere manualmente in qualsiasi momento (ricevendo il 75% in USDT) o stipulare un prestito contro il proprio DA. Se l'utente **non** agisce, il sistema attiva vendite forzate automatiche dal **saldo residuo** progressivamente in 4 periodi che coprono complessivamente **365 giorni (1 anno)**. Le durate dei periodi sono espresse in giorni on-chain (120 / 90 / 90 / 65 giorni); i riferimenti ai mesi qui sotto sono approssimazioni per la leggibilità.

**Esempio iniziando con 100 DA:**

<Steps>
  <Step title="Periodo 1 — auto-vendita del 25% dopo 120 giorni (~4 mesi)">
    Se non hai venduto manualmente entro 120 giorni (\~4 mesi), il 25% del tuo saldo DA attuale viene auto-venduto. Il 25% di 100 DA = **25 DA auto-venduti** → Ricevi il 70% del valore in USDT al prezzo corrente → Il 100% di 25 DA viene bruciato → Residuo: **75 DA**
  </Step>

  <Step title="Periodo 2 — auto-vendita del 40% dopo altri 90 giorni (~3 mesi, giorno 210)">
    Il 40% del saldo residuo viene auto-venduto. Il 40% di 75 DA = **30 DA auto-venduti** → Residuo: **45 DA**
  </Step>

  <Step title="Periodo 3 — auto-vendita del 50% dopo altri 90 giorni (~3 mesi, giorno 300)">
    Il 50% del saldo residuo viene auto-venduto. Il 50% di 45 DA = **22,5 DA auto-venduti** → Residuo: **22,5 DA**
  </Step>

  <Step title="Periodo 4 — auto-vendita del 100% dopo altri 65 giorni (~2 mesi, giorno 365)">
    Il 100% del saldo residuo viene auto-venduto. Posizione completamente chiusa. Il 100% di 22,5 DA = **22,5 DA auto-venduti** → Residuo: **0 DA**
  </Step>
</Steps>

<Note>
  Le percentuali di auto-vendita (25% / 40% / 50% / 100%) mostrate sopra rappresentano la configurazione attuale del protocollo. I valori specifici sono memorizzati come parametri del protocollo e sono soggetti alle procedure standard di governance. Verifica sempre lo smart contract o la documentazione attuale del protocollo per i valori più recenti.
</Note>

Ogni auto-vendita viene eseguita al prezzo del DA in quel momento, non al prezzo di farming originale. Poiché il prezzo cresce nel tempo, le auto-vendite successive bruciano token a un prezzo più alto — rinforzando ulteriormente la deflazione.

<Warning>
  **Auto-Vendita con Income Limit Zero:** Se l'auto-vendita di DA si attiva e l'utente ha Income Limit zero sul proprio NFT (il che significa che l'NFT non è stato rinnovato), il 100% dei proventi viene indirizzato al Pool di Liquidità o al burn del DA. Il meccanismo esatto è determinato dalle impostazioni della DAO. Gli utenti dovrebbero sempre mantenere un Income Limit attivo per ricevere il proprio payout di auto-vendita.
</Warning>

## Lending (Credito contro DA)

I detentori di NFT Premium ed Elite (Livello 5 e superiori) possono stipulare un prestito in USDT contro il proprio collaterale DA invece di venderlo. Il prestito è collateralizzato da uno specifico batch DA da un singolo ciclo completato di mining e farming - l'intero batch in una volta, non una sua frazione. I livelli inferiori non eseguono il mining e non hanno collaterale DA da mettere a garanzia.

Ogni prestito viene emesso a un **LTV fisso del 70%** con una **commissione una tantum del 5%** indirizzata al Pool di Liquidità DA all'emissione. Nulla viene addebitato al rimborso. Il mutuatario riceve il 95% dell'importo lordo del prestito nel proprio Saldo Regolare. Esempio: per un batch da 100 DA a un prezzo DA di 1,00 USDT, il prestito lordo è 70 USDT, la commissione è 3,50 USDT e il payout netto al mutuatario è 66,50 USDT.

La proprietà strutturale distintiva è che il prezzo DA viene catturato in `loan.price` all'emissione e non viene mai riprezionato in seguito. La successiva crescita del prezzo DA non aumenta il debito - quindi il mutuatario estrae liquidità USDT al prezzo odierno mantenendo il rialzo sulla futura apprezzazione. Il prestito non ha una scadenza fissa, può essere rimborsato in tutto o in parte in qualsiasi momento prima che il batch entri nel suo ciclo di auto-vendita, e un determinato batch può essere dato in pegno solo una volta nel corso della sua intera vita.

Se il prestito non viene rimborsato prima che il batch entri nel suo ciclo di auto-vendita, il DA dato in pegno viene progressivamente bruciato attraverso il programma standard a quattro periodi. Il mutuatario conserva gli USDT ricevuti all'emissione; il valore USDT di ogni porzione bruciata fluisce al Pool di Liquidità DA. Tra i periodi di auto-vendita il mutuatario può ancora intervenire e chiamare `repay()` per recuperare il DA ancora in pegno.

<Warning>
  **Default sul Lending - Burn Progressivo:** Se il prestito non viene rimborsato prima che il batch collateralizzato entri nel suo ciclo di auto-vendita, il collaterale procede attraverso il programma standard a quattro periodi (25% / 40% / 50% / 100% del DA in pegno **rimanente** bruciato in 120 / 90 / 90 / 65 giorni, 365 giorni totali). Il 100% del DA bruciato viene distrutto in modo permanente; il corrispondente valore USDT a `loan.price` viene indirizzato al Pool di Liquidità DA. Il mutuatario **non** riceve USDT per la porzione bruciata - l'unico recupero economico da un batch in default è l'USDT ricevuto all'emissione.

  **Il recupero parziale è sempre disponibile.** Il mutuatario può chiamare `repay()` tra qualsiasi due periodi di auto-vendita e recuperare il DA in pegno **rimanente** pagando solo per ciò che è ancora in pegno. Il DA già bruciato nei periodi precedenti non può essere recuperato, ma ogni burn futuro può ancora essere fermato rimborsando prima del confine del suo periodo.
</Warning>

<Note>
  **`repay()` dopo l'avvio dell'auto-vendita - comportamento corretto post-CertiK (RWA-58):** Le versioni precedenti del contratto revocare `repay()` una volta che il batch attraversava il ciclo di auto-vendita. Dopo l'audit CertiK, questo è stato corretto: `repay()` è ora richiamabile in qualsiasi fase della vita del prestito. Quando il batch ha già attraversato un trigger di auto-vendita, il contratto esegue prima `_processExpiredStacks()` per liquidare ogni periodo il cui confine è già passato - bruciando la corrispondente quota di collaterale - e poi procede contro il resto post-burn.

  Conseguenza pratica: un `repay()` tardivo non può "anticipare" un burn già scattato. Per preservare l'**intero** collaterale, il mutuatario deve rimborsare prima di attraversare il primo trigger di auto-vendita (Periodo 1, attualmente giorno 120 della vita del batch).
</Note>

<Card title="Meccanica Completa del Lending →" icon="hand-holding-dollar" href="/it/da-lending">
  Idoneità, la finestra di emissione di 30 giorni, formule, rimborso parziale con esempi pratici, matematica completa del default e la tabella dei parametri - tutto in una pagina dedicata.
</Card>

<SellVsLend />
