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

# Meccanica del Token DA

> Il modello di prezzo solo-al-rialzo.

export const DaPriceSimulator = () => {
  if (typeof window === 'undefined') {
    return null;
  }
  var [minted, setMinted] = useState(1000000);
  var [liquidity, setLiquidity] = useState(1000000);
  var [burned, setBurned] = useState(0);
  var [dbMinted, setDbMinted] = useState(1000000);
  var [dbLiquidity, setDbLiquidity] = useState(1000000);
  var [dbBurned, setDbBurned] = useState(0);
  var timerRef = useRef(null);
  useEffect(function () {
    if (timerRef.current) clearTimeout(timerRef.current);
    timerRef.current = setTimeout(function () {
      setDbMinted(minted);
      setDbLiquidity(liquidity);
      setDbBurned(burned);
    }, 150);
    return function () {
      if (timerRef.current) clearTimeout(timerRef.current);
    };
  }, [minted, liquidity, burned]);
  var fmtUsd = function (n) {
    if (n >= 1000000) return '$' + (n / 1000000).toFixed(1) + 'M';
    if (n >= 1000) return '$' + (n / 1000).toFixed(1) + 'K';
    if (n >= 100) return '$' + Math.round(n);
    if (n >= 10) return '$' + n.toFixed(1);
    return '$' + n.toFixed(2);
  };
  var fmtUsdFull = function (n) {
    var digits = Math.abs(n) >= 10000 ? 0 : 2;
    return new Intl.NumberFormat('en-US', {
      style: 'currency',
      currency: 'USD',
      maximumFractionDigits: digits
    }).format(n);
  };
  var fmtNum = function (n) {
    return new Intl.NumberFormat('en-US').format(Math.round(n));
  };
  var circulating = minted - burned;
  if (circulating < 1) circulating = 1;
  var price = liquidity / circulating;
  var basePrice = liquidity / minted;
  var priceChange = (price - basePrice) / Math.max(basePrice, 0.0001) * 100;
  var burnedMax = minted - 1;
  var actualBurned = burned > burnedMax ? burnedMax : burned;
  var moonCirculating = Math.max(minted * 0.05, 1);
  var moonPrice = liquidity / moonCirculating;
  var chartData = useMemo(function () {
    var points = [];
    var steps = 200;
    for (var i = 0; i <= steps; i++) {
      var pct = i / steps * 95;
      var b = pct / 100 * dbMinted;
      var s = dbMinted - b;
      if (s < 1) s = 1;
      var p = dbLiquidity / s;
      points.push({
        pct: pct,
        burned: b,
        price: p
      });
    }
    return points;
  }, [dbMinted, dbLiquidity]);
  var W = 640, H = 280;
  var PAD = {
    top: 28,
    right: 56,
    bottom: 44,
    left: 64
  };
  var cW = W - PAD.left - PAD.right;
  var cH = H - PAD.top - PAD.bottom;
  var minP = chartData[0] ? chartData[0].price : 1;
  var maxP = chartData[chartData.length - 1] ? chartData[chartData.length - 1].price : minP * 2;
  var capP = minP * 50;
  var displayMaxP = Math.min(maxP, capP);
  var yPad = (displayMaxP - minP) * 0.08 || 0.01;
  displayMaxP = displayMaxP + yPad;
  var sqrtScale = function (val) {
    var norm = (Math.min(val, displayMaxP) - minP) / (displayMaxP - minP || 0.01);
    if (norm < 0) norm = 0;
    return Math.sqrt(norm);
  };
  var getX = function (pct) {
    return PAD.left + pct / 95 * cW;
  };
  var getY = function (p) {
    return PAD.top + cH - sqrtScale(p) * cH;
  };
  var currentPct = dbMinted > 0 ? dbBurned / dbMinted * 100 : 0;
  if (currentPct > 95) currentPct = 95;
  var currentChartPrice = dbLiquidity / Math.max(dbMinted - dbBurned, 1);
  var pathParts = [];
  for (var k = 0; k < chartData.length; k++) {
    var d = chartData[k];
    var px = getX(d.pct).toFixed(1);
    var py = getY(d.price).toFixed(1);
    pathParts.push((k === 0 ? 'M' : 'L') + ' ' + px + ' ' + py);
  }
  var pathD = pathParts.join(' ');
  var lastPt = chartData[chartData.length - 1];
  var areaD = pathD + ' L ' + getX(lastPt.pct).toFixed(1) + ' ' + (PAD.top + cH) + ' L ' + getX(0).toFixed(1) + ' ' + (PAD.top + cH) + ' Z';
  var dotX = getX(currentPct);
  var dotY = getY(currentChartPrice);
  var milestones = [10, 100, 1000, 10000];
  var visibleMilestones = milestones.filter(function (m) {
    return m > minP * 1.2 && m < displayMaxP * 0.95;
  });
  var xPcts = [0, 20, 40, 60, 80];
  var yLabelFracs = [0, 0.25, 0.5, 0.75, 1];
  var hdZoneX = getX(50);
  var hdZoneW = getX(95) - hdZoneX;
  var 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'
  };
  var pulseKeyframes = '@keyframes daPulse{0%,100%{opacity:0.6;r:12}50%{opacity:0.2;r:18}}';
  return <div style={{
    backgroundColor: '#000000',
    color: '#FFFFFF',
    border: '1px solid rgba(255,255,255,0.05)'
  }} className="p-6 rounded-xl not-prose">

      {}
      <style>{pulseKeyframes}</style>

      {}
      <div className="flex items-center justify-between mb-6">
        <h3 style={{
    color: '#FFFFFF',
    margin: 0
  }} className="text-lg font-serif italic">DA Price Simulator</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)',
    fontSize: '11px',
    padding: '4px 12px',
    borderRadius: '9999px',
    fontWeight: 500
  }}>Interactive</span>
      </div>

      {}
      <div className="grid grid-cols-1 sm:grid-cols-3 gap-4 mb-6">
        {}
        <div style={{
    backgroundColor: '#383838',
    border: '1px solid rgba(255,255,255,0.05)'
  }} className="rounded-xl p-4">
          <label style={{
    color: 'rgba(255,255,255,0.5)',
    fontSize: '11px',
    fontWeight: 500,
    display: 'block',
    marginBottom: '4px',
    textTransform: 'uppercase',
    letterSpacing: '0.05em'
  }}>DA Minted</label>
          <span style={{
    color: '#FFFFFF',
    fontSize: '18px',
    fontWeight: 800,
    display: 'block',
    marginBottom: '8px'
  }}>{fmtNum(minted)} DA</span>
          <input type="range" min="10000" max="21000000" step="10000" value={minted} onChange={function (e) {
    var val = Number(e.target.value);
    setMinted(val);
    if (burned >= val) setBurned(val - 1);
  }} className="w-full cursor-pointer" style={sliderStyle} />
          <div className="flex justify-between text-[10px] mt-1">
            <span style={{
    color: 'rgba(255,255,255,0.5)'
  }}>10,000</span>
            <span style={{
    color: 'rgba(255,255,255,0.5)'
  }}>21,000,000</span>
          </div>
        </div>
        {}
        <div style={{
    backgroundColor: '#383838',
    border: '1px solid rgba(255,255,255,0.05)'
  }} className="rounded-xl p-4">
          <label style={{
    color: 'rgba(255,255,255,0.5)',
    fontSize: '11px',
    fontWeight: 500,
    display: 'block',
    marginBottom: '4px',
    textTransform: 'uppercase',
    letterSpacing: '0.05em'
  }}>USDT Liquidity Pool</label>
          <span style={{
    color: '#FFFFFF',
    fontSize: '18px',
    fontWeight: 800,
    display: 'block',
    marginBottom: '8px'
  }}>{fmtUsdFull(liquidity)}</span>
          <input type="range" min="10000" max="100000000" step="10000" value={liquidity} onChange={function (e) {
    setLiquidity(Number(e.target.value));
  }} className="w-full cursor-pointer" style={sliderStyle} />
          <div className="flex justify-between text-[10px] mt-1">
            <span style={{
    color: 'rgba(255,255,255,0.5)'
  }}>$10,000</span>
            <span style={{
    color: 'rgba(255,255,255,0.5)'
  }}>$100,000,000</span>
          </div>
        </div>
        {}
        <div style={{
    backgroundColor: '#383838',
    border: '1px solid rgba(255,255,255,0.05)'
  }} className="rounded-xl p-4">
          <label style={{
    color: 'rgba(255,255,255,0.5)',
    fontSize: '11px',
    fontWeight: 500,
    display: 'block',
    marginBottom: '4px',
    textTransform: 'uppercase',
    letterSpacing: '0.05em'
  }}>DA Burned</label>
          <span style={{
    color: '#FFFFFF',
    fontSize: '18px',
    fontWeight: 800,
    display: 'block',
    marginBottom: '8px'
  }}>{fmtNum(actualBurned)} DA</span>
          <input type="range" min="0" max={burnedMax} step="10000" value={actualBurned} onChange={function (e) {
    setBurned(Number(e.target.value));
  }} className="w-full cursor-pointer" style={sliderStyle} />
          <div className="flex justify-between text-[10px] mt-1">
            <span style={{
    color: 'rgba(255,255,255,0.5)'
  }}>0</span>
            <span style={{
    color: 'rgba(255,255,255,0.5)'
  }}>{fmtNum(burnedMax)}</span>
          </div>
        </div>
      </div>

      {}
      <div className="mb-6" style={{
    display: 'flex',
    flexWrap: 'wrap',
    gap: '16px',
    alignItems: 'center'
  }}>
        {}
        <div style={{
    flexShrink: 0,
    display: 'flex',
    justifyContent: 'center'
  }} className="w-[160px] sm:w-[140px] mx-auto sm:mx-0">
          <video autoPlay muted loop playsInline style={{
    borderRadius: '12px',
    objectFit: 'cover'
  }} className="w-[160px] h-[160px] sm:w-[140px] sm:h-[140px]">
            <source src="/DAalpha-Uncompressed8-bit422.webm" type="video/webm" />
          </video>
        </div>
        {}
        <div style={{
    flex: '1 1 0%',
    minWidth: '240px',
    display: 'flex',
    flexWrap: 'wrap',
    gap: '12px'
  }}>
          {}
          <div style={{
    backgroundColor: '#383838',
    border: '1px solid rgba(255,255,255,0.05)',
    flex: '1 1 160px'
  }} className="rounded-xl p-4">
            <div style={{
    color: 'rgba(255,255,255,0.5)',
    fontSize: '10px',
    textTransform: 'uppercase',
    letterSpacing: '0.05em',
    marginBottom: '4px'
  }}>DA Price</div>
            <div style={{
    color: '#4ade80',
    fontSize: '28px',
    fontWeight: 900,
    lineHeight: 1.2
  }}>{fmtUsdFull(price)}</div>
            <div style={{
    color: 'rgba(255,255,255,0.7)',
    fontSize: '12px',
    fontWeight: 600,
    marginTop: '4px'
  }}>
              {priceChange >= 0 ? 'Up' : 'Down'} {Math.abs(priceChange).toFixed(2)}% from base
            </div>
          </div>
          {}
          <div style={{
    backgroundColor: '#383838',
    border: '1px solid rgba(255,255,255,0.05)',
    flex: '1 1 160px'
  }} className="rounded-xl p-4">
            <div style={{
    color: 'rgba(255,255,255,0.5)',
    fontSize: '10px',
    textTransform: 'uppercase',
    letterSpacing: '0.05em',
    marginBottom: '4px'
  }}>Circulating Supply</div>
            <div style={{
    color: '#FFFFFF',
    fontSize: '20px',
    fontWeight: 900
  }}>{fmtNum(circulating)} DA</div>
            <div style={{
    color: 'rgba(255,255,255,0.4)',
    fontSize: '12px',
    marginTop: '4px'
  }}>of 21M hard cap</div>
          </div>
          {}
          <div style={{
    backgroundColor: '#383838',
    border: '1px solid rgba(255,255,255,0.05)',
    flex: '1 1 160px'
  }} className="rounded-xl p-4">
            <div style={{
    color: 'rgba(255,255,255,0.5)',
    fontSize: '10px',
    textTransform: 'uppercase',
    letterSpacing: '0.05em',
    marginBottom: '4px'
  }}>Liquidity Pool</div>
            <div style={{
    color: '#FFFFFF',
    fontSize: '20px',
    fontWeight: 900
  }}>{fmtUsdFull(liquidity)}</div>
            <div style={{
    color: 'rgba(255,255,255,0.4)',
    fontSize: '12px',
    marginTop: '4px'
  }}>100% USDT backed</div>
          </div>
        </div>
      </div>

      {}
      <div style={{
    backgroundColor: '#383838',
    border: '1px solid rgba(255,255,255,0.05)'
  }} className="rounded-xl p-4 overflow-x-auto">
        <div style={{
    color: 'rgba(255,255,255,0.6)',
    fontSize: '12px',
    fontWeight: 600,
    marginBottom: '8px'
  }}>Price vs Burn Percentage</div>
        <svg viewBox={'0 0 ' + W + ' ' + H} className="w-full" style={{
    minWidth: '400px'
  }}>
          <defs>
            <linearGradient id="daAreaGrad" x1="0" y1="0" x2="1" y2="0">
              <stop offset="0%" stopColor="#4ade80" stopOpacity="0.03" />
              <stop offset="100%" stopColor="#4ade80" stopOpacity="0.25" />
            </linearGradient>
          </defs>

          {}
          <rect x={hdZoneX} y={PAD.top} width={hdZoneW} height={cH} fill="rgba(251,191,36,0.04)" />
          <text x={hdZoneX + 6} y={PAD.top + 12} fill="rgba(251,191,36,0.3)" style={{
    fontSize: '8px',
    fontWeight: 500
  }}>High Deflation Zone</text>

          {}
          {yLabelFracs.map(function (frac, idx) {
    var val = minP + (displayMaxP - minP) * frac;
    var y = getY(val);
    return <line key={'yg-' + idx} x1={PAD.left} y1={y} x2={W - PAD.right} y2={y} stroke="rgba(255,255,255,0.05)" strokeWidth="0.5" />;
  })}

          {}
          {visibleMilestones.map(function (m) {
    var y = getY(m);
    return <g key={'ms-' + m}>
                <line x1={PAD.left} y1={y} x2={W - PAD.right} y2={y} stroke="rgba(255,255,255,0.08)" strokeWidth="0.5" strokeDasharray="4 4" />
                <text x={W - PAD.right + 4} y={y + 3} fill="rgba(255,255,255,0.35)" style={{
      fontSize: '8px'
    }}>{fmtUsd(m)}</text>
              </g>;
  })}

          {}
          {yLabelFracs.map(function (frac, idx) {
    var val = minP + (displayMaxP - minP) * frac;
    var y = getY(val);
    return <text key={'yl-' + idx} x={PAD.left - 8} y={y} textAnchor="end" dominantBaseline="middle" fill="rgba(255,255,255,0.4)" style={{
      fontSize: '9px'
    }}>
                {fmtUsd(val)}
              </text>;
  })}

          {}
          <path d={areaD} fill="url(#daAreaGrad)" />

          {}
          <path d={pathD} fill="none" stroke="#4ade80" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" />

          {}
          <line x1={dotX} y1={PAD.top} x2={dotX} y2={PAD.top + cH} stroke="rgba(255,255,255,0.15)" strokeWidth="1" strokeDasharray="4 3" />

          {}
          <circle cx={dotX} cy={dotY} r="12" fill="none" stroke="#4ade80" strokeWidth="1.5" opacity="0.4" style={{
    animation: 'daPulse 2s ease-in-out infinite'
  }} />

          {}
          <circle cx={dotX} cy={dotY} r="6" fill="#4ade80" stroke="#000000" strokeWidth="2" />

          {}
          <rect x={dotX + 10} y={dotY - 12} width={Math.max(fmtUsd(currentChartPrice).length * 7 + 12, 48)} height={20} rx="4" fill="rgba(0,0,0,0.7)" stroke="rgba(74,222,128,0.3)" strokeWidth="1" />
          <text x={dotX + 16} y={dotY + 2} fill="#4ade80" style={{
    fontSize: '10px',
    fontWeight: 700
  }}>{fmtUsd(currentChartPrice)}</text>

          {}
          {xPcts.map(function (pct) {
    return <text key={'xl-' + pct} x={getX(pct)} y={H - PAD.bottom + 18} textAnchor="middle" fill="rgba(255,255,255,0.4)" style={{
      fontSize: '9px'
    }}>
                {pct}%
              </text>;
  })}
          <text x={W / 2} y={H - 4} textAnchor="middle" fill="rgba(255,255,255,0.3)" style={{
    fontSize: '8px'
  }}>Burn Percentage (% of Minted Supply)</text>
        </svg>

        {}
        <div className="flex items-center gap-4 mt-2" style={{
    paddingLeft: PAD.left + 'px'
  }}>
          <div className="flex items-center gap-1">
            <span style={{
    display: 'inline-block',
    width: '8px',
    height: '8px',
    borderRadius: '50%',
    backgroundColor: '#4ade80'
  }} />
            <span style={{
    color: 'rgba(255,255,255,0.5)',
    fontSize: '10px'
  }}>DA Price</span>
          </div>
          <div className="flex items-center gap-1">
            <span style={{
    display: 'inline-block',
    width: '8px',
    height: '8px',
    borderRadius: '50%',
    backgroundColor: '#4ade80',
    boxShadow: '0 0 6px rgba(74,222,128,0.6)'
  }} />
            <span style={{
    color: 'rgba(255,255,255,0.5)',
    fontSize: '10px'
  }}>Current Position</span>
          </div>
          <div className="flex items-center gap-1">
            <span style={{
    display: 'inline-block',
    width: '12px',
    height: '6px',
    backgroundColor: 'rgba(251,191,36,0.15)',
    borderRadius: '2px'
  }} />
            <span style={{
    color: 'rgba(255,255,255,0.5)',
    fontSize: '10px'
  }}>High Deflation Zone</span>
          </div>
        </div>

        {}
        <div style={{
    marginTop: '10px',
    paddingLeft: PAD.left + 'px'
  }}>
          <span style={{
    color: 'rgba(255,255,255,0.4)',
    fontSize: '12px'
  }}>
            If 95% of supply is burned:{' '}
            <span style={{
    color: '#FFFFFF',
    fontWeight: 700
  }}>{fmtUsdFull(moonPrice)}</span>
            {' '}USDT per DA
          </span>
        </div>
      </div>

      {}
      <p style={{
    color: 'rgba(255,255,255,0.4)',
    fontSize: '12px',
    lineHeight: 1.6,
    marginTop: '16px',
    marginBottom: 0
  }}>
        Direct formula calculator. DA Price = Liquidity Pool ÷ Circulating Supply. Supply starts at 0 and grows via farming — hard cap 21M. Every sale burns 100% of sold tokens. On every sale, 25% (manual) or 30% (auto) of USDT backing stays in the pool — this drives the price upward.
      </p>
    </div>;
};

<CardGroup cols={2}>
  <Card title="Hard Cap di 21M" icon="cube">
    Offerta massima fissata per sempre. Nessuna inflazione, nessun minting.
  </Card>

  <Card title="Garantito 100% in USDT" icon="shield-check">
    Ogni token DA è garantito da USDT reali nel pool di liquidità.
  </Card>

  <Card title="Burn ad Ogni Vendita" icon="fire">
    Il 100% dei token venduti viene bruciato in modo permanente. L'utente riceve 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 — è ciò che fa salire il prezzo del DA.
  </Card>

  <Card title="Nessun Trasferimento P2P" icon="ban">
    Il DA può essere solo venduto, dato in prestito o rimborsato — nessun trasferimento peer-to-peer.
  </Card>
</CardGroup>

## La Formula di Prezzo "Solo al Rialzo"

Prezzo = Liquidità ÷ Offerta Circolante

Ogni volta che il DA viene venduto, i token vengono bruciati (l'offerta diminuisce) mentre l'USDT resta nel pool (la liquidità rimane stabile o cresce). Meno token ÷ stessa o più USDT = prezzo più alto per token.

<Info>
  **Come funziona:** 200 DA in circolazione, 200 USDT nel pool di liquidità. Prezzo = 1,00 USDT per DA. Un utente vende 100 DA. Il pool paga 70 USDT (70% del valore di 100 USDT). Tutti i 100 DA vengono bruciati. Risultato: 100 DA rimangono, 130 USDT nel pool. Nuovo prezzo = 130 ÷ 100 = **1,30 USDT per DA**.
</Info>

<Tip>
  La commissione del 5% su tutte le ricompense di marketing fluisce direttamente nel pool di liquidità DA — separatamente dalle percentuali di vendita. Liquidità aggiuntiva proviene dalle commissioni di Lending, dai ricavi RWA e dai ricavi FinPro.
</Tip>

<Info>
  **Protezione Seed Supply:** Una piccola riserva permanente di DA — la **Seed Supply** — viene pre-depositata nel protocollo al lancio come salvaguardia tecnica per la formula di prezzo.

  * **Permanente e non vendibile.** La Seed Supply è bloccata a livello di protocollo: **non può essere bruciata**, **non può essere venduta** (manualmente o tramite auto-vendita), ed è **esclusa dai cicli di auto-vendita**.
  * **Fuori dalla circolazione.** **Non è conteggiata come offerta circolante** e non partecipa mai ai saldi degli utenti, al farming, al lending o alle distribuzioni di marketing.
  * **Garantisce un denominatore non zero.** Poiché `Prezzo = Liquidità ÷ Offerta Circolante`, la formula non deve mai dividere per zero. La Seed Supply garantisce `totalSupply > 0` in ogni momento, quindi la funzione di prezzo è sempre definita — anche nel caso estremo in cui ogni altro token in circolazione sia stato bruciato.
  * **Protezione solo per casi limite.** In condizioni operative normali la Seed Supply non ha effetto sulla price discovery. Esiste puramente come un floor deterministico che mantiene `getPrice()` ben definito quando la liquidità è presente ma l'offerta circolante altrimenti raggiungerebbe zero.
</Info>

## Fonti del Pool di Liquidità

Il Pool di Liquidità è il fondamento dell'economia DA. È alimentato da molteplici fonti in tutto l'ecosistema RWANFTFI, garantendo una crescita continua del backing del token. Ogni flusso di ricavi del protocollo confluisce in un singolo pool, rinforzando la formula Prezzo = Liquidità ÷ Offerta.

<AccordionGroup>
  <Accordion title="Attività NFT">
    **Acquisti NFT** — il 20% di ogni acquisto NFT viene automaticamente indirizzato al Pool di Liquidità per il minting di nuovo DA.

    **Rebuy e Autobuy** — un ulteriore 20% da ogni acquisto NFT ripetuto o automatico fluisce nel Pool di Liquidità. Questo incentiva il rinnovo della posizione e supporta la crescita del sistema.
  </Accordion>

  <Accordion title="Commissioni e Tasse">
    **Tassa sulle Ricompense di Marketing** — il 5% di tutte le ricompense di marketing nella rete di referral viene automaticamente indirizzato al Pool di Liquidità. L'attività della rete rinforza direttamente il backing del DA.

    **Commissione di Trasferimento del Saldo Cumulativo** — quando si trasferisce il Saldo Cumulativo a un altro utente, il 20% dell'importo del trasferimento viene indirizzato al Pool di Liquidità DA. Qualsiasi movimento del Saldo Cumulativo — sia che venga utilizzato in un acquisto NFT o trasferito tra wallet — genera un flusso del 20% nel Pool.

    **Commissione di Acquisto del Saldo Cumulativo** — quando si acquista un NFT utilizzando il Saldo Cumulativo, il 20% dell'importo integrato viene indirizzato al Pool di Liquidità DA per il minting di nuovo DA. Esempio: 898 USDT sul Saldo Cumulativo — quando integrati in un acquisto NFT, 718 USDT vanno verso il costo dell'NFT, e 180 USDT (20% di 898) fluiscono nel Pool di Liquidità DA. Ogni tale acquisto ricarica il Pool e crea la base per nuovo DA.

    **Commissione di Lending** — quando si stipula un prestito, il mutuatario paga una commissione una tantum del 5% indirizzata al Pool di Liquidità. Esempio: prestito di \$1.000, il mutuatario riceve \$950, \$50 vanno al Pool. La commissione viene riscossa con ogni nuovo prestito.
  </Accordion>

  <Accordion title="Fondi Scaduti e Inutilizzati">
    **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 100% dei proventi va al Pool di Liquidità o al burn del DA (meccanismo esatto determinato dalle impostazioni della DAO).

    **Voucher Scaduti** — se i Voucher rimangono inutilizzati per 365 giorni, il 100% dei fondi viene indirizzato al Pool di Liquidità. Questo previene fondi inattivi ed elimina passività inattive.

    **Saldo Cumulativo Inutilizzato** — se il Saldo Cumulativo rimane inutilizzato per 120 giorni, il 70% dei fondi viene indirizzato al Pool di Liquidità per il minting di nuovo DA.
  </Accordion>

  <Accordion title="Ricavi Esterni">
    **Commissioni SWAP** — le commissioni da tutte le operazioni di scambio (SWAP) vengono automaticamente indirizzate al Pool di Liquidità.

    **Commissioni Carta di Debito** — le commissioni dal programma Carta di Debito fluiscono nel Pool di Liquidità, creando un cash flow reale dall'economia esterna.

    **Ricavi RWA** — una parte dei ricavi da immobili, redditi da locazione, asset commerciali e altri asset del mondo reale viene indirizzata al Pool di Liquidità, ancorando il sistema all'economia reale.

    **Ricavi FinPro** — una parte dei profitti dai prodotti finanziari (Lending, prodotti di investimento, servizi finanziari) fluisce nel Pool di Liquidità.

    **Ricavi dell'Ecosistema** — una parte dei ricavi totali del protocollo può essere indirizzata al Pool di Liquidità o utilizzata per creare liquidità aggiuntiva per il minting di nuovo DA.
  </Accordion>
</AccordionGroup>

## Meccanica del Burn DA

Il burn del DA è il meccanismo deflazionario centrale — riduce l'offerta di token e crea una pressione al rialzo sostenuta sul valore dell'asset.

<CardGroup cols={3}>
  <Card title="Vendita Manuale" icon="fire">
    Il 100% del DA venduto viene bruciato in modo permanente. L'utente riceve il 75% del valore in USDT. Il restante 25% è una commissione di protocollo che resta nel pool come backing, guidando la crescita del prezzo.
  </Card>

  <Card title="Auto-Vendita" icon="clock">
    Il 100% del DA auto-venduto viene bruciato in modo permanente. L'utente riceve il 70% del valore in USDT. Il restante 30% è una commissione di protocollo che resta nel pool come backing, guidando la crescita del prezzo. Si attiva progressivamente dal saldo residuo in 4 periodi (365 giorni / 1 anno totale).
  </Card>

  <Card title="Default sul Lending" icon="ban">
    Se un prestito non viene rimborsato, il DA dato in collaterale viene progressivamente bruciato attraverso il ciclo di auto-vendita. Protegge la liquidità del sistema e rafforza la disciplina finanziaria.
  </Card>
</CardGroup>

## Accesso Istantaneo e Ciclo di Auto-Vendita

### Accesso Istantaneo

I token DA sono al 100% disponibili per l'utente dal momento in cui vengono farmati. Non c'è alcun periodo di lock-up. L'utente può immediatamente:

* **Vendere manualmente** — ricevere il 75% del valore in USDT, il 100% dei token viene bruciato
* **Stipulare un prestito** — 70% LTV contro il collaterale DA, commissione del 5%
* **Holdare e attendere** — mantenere i token e beneficiare della crescita del prezzo nel tempo

### Ciclo di Auto-Vendita

Se l'utente non vende manualmente, il sistema attiva vendite automatiche dal **saldo residuo** 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 — Dopo 120 giorni (~4 mesi)">
    Il 25% del saldo attuale viene auto-venduto. Il 25% di 100 = **25 DA venduti** → Residuo: **75 DA**
  </Step>

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

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

  <Step title="Periodo 4 — Dopo altri 65 giorni (~2 mesi, giorno 365)">
    Il 100% del saldo residuo viene auto-venduto. Il 100% di 22,5 = **22,5 DA 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 al momento del trigger di quel periodo — non al prezzo di farming originale. Il 100% dei token auto-venduti viene bruciato, e l'utente riceve il 70% del valore in USDT al prezzo della data dell'auto-vendita. Poiché il prezzo cresce nel tempo, i periodi successivi bruciano token a un prezzo più alto, accelerando la deflazione.

L'utente può vendere manualmente in qualsiasi momento prima che si attivi l'auto-vendita, ricevendo il 75% invece del 70%.

<Tip>
  La vendita manuale (payout 75%) è sempre più redditizia per token rispetto all'auto-vendita (payout 70%). Tuttavia, l'auto-vendita beneficia della crescita del prezzo nel tempo — i periodi successivi vengono eseguiti a un prezzo DA più alto.
</Tip>

<Warning>
  **Auto-Vendita con Income Limit Zero:** Se l'auto-vendita si attiva e l'utente ha Income Limit zero (NFT non rinnovato), il 100% dei proventi va al Pool di Liquidità o al burn del DA (determinato dalla DAO). L'utente non riceve nulla. Mantieni sempre un Income Limit attivo.
</Warning>

## Lending Multi-Batch

Ogni batch di DA da ciascun ciclo di mining serve come collaterale indipendente. Questo abilita un ciclo continuo di micro-prestiti:

<Steps>
  <Step title="Mina Batch 1">
    L'utente completa un ciclo di mining e riceve il batch DA 1.
  </Step>

  <Step title="Prendi in prestito contro Batch 1">
    L'utente stipula un prestito a un LTV fisso del 70% contro il batch 1 (commissione del 5% pagata all'emissione al Pool di Liquidità).
  </Step>

  <Step title="Mina Batch 2">
    L'utente avvia un nuovo ciclo di mining e riceve il batch DA 2.
  </Step>

  <Step title="Prendi in prestito contro Batch 2">
    L'utente stipula un altro prestito a un LTV fisso del 70% contro il batch 2 (commissione separata del 5% pagata all'emissione).
  </Step>
</Steps>

Ciò consente più micro-prestiti simultanei, uno per batch DA. Ogni prestito è indipendente - legato al proprio batch - e resta attivo finché lo stack di quel batch non entra nel ciclo di auto-vendita. Se un singolo prestito va in default, viene bruciato solo il collaterale di quel batch - non tutte le posizioni in DA.

Per un confronto dettagliato tra vendita e lending, vedi [Vendita e Lending](/it/da-selling-lending). Il lending supporta anche rimborsi parziali e recupero proporzionale in caso di default. Consulta [Meccanica del Lending](/it/da-lending) per la panoramica completa.

## Ciclo Deflazionario

Due volte all'anno il sistema attiva uno speciale Ciclo Deflazionario della durata massima di 30 giorni, progettato per intensificare la scarsità del token.

<Steps>
  <Step title="Sospendi nuovi cicli">
    L'avvio di nuovi cicli di mining NFTM, staking e generazione DA è sospeso per la durata del Ciclo Deflazionario. **I cicli attivi avviati prima del Ciclo Deflazionario continuano a funzionare e si completano come previsto** — gli utenti con mining già in corso non perdono il loro progresso.
  </Step>

  <Step title="Attiva i meccanismi di vendita">
    I meccanismi di vendita automatica o volontaria del DA vengono attivati.
  </Step>

  <Step title="Burn giornaliero">
    Una porzione di token viene bruciata quotidianamente.
  </Step>

  <Step title="L'offerta si riduce">
    L'offerta sul mercato si riduce, rinforzando la pressione al rialzo sul prezzo.
  </Step>
</Steps>

<Info>
  Il Ciclo Deflazionario rende l'economia DA prevedibile, gestibile e sostenibile nel lungo periodo.
</Info>

Maggiore attività → maggiore liquidità → maggiore emissione DA → maggiore burn → maggiore scarsità → maggiore valore dell'asset. Questo sistema a circuito chiuso significa che più attivamente l'ecosistema si sviluppa, più forte diventa l'economia DA.

<DaPriceSimulator />
