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

# Механика токена DA

> Модель цены «только вверх».

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="Жёсткий лимит 21M" icon="cube">
    Максимальный объём зафиксирован навсегда. Без инфляции, без эмиссии.
  </Card>

  <Card title="100% обеспечение USDT" icon="shield-check">
    Каждый токен DA обеспечен реальным USDT в пуле ликвидности.
  </Card>

  <Card title="Сжигание при каждой продаже" icon="fire">
    100% проданных токенов безвозвратно сжигаются. Пользователь получает 75% (ручная продажа) или 70% (авто) стоимости в USDT. Оставшиеся 25% (ручная) или 30% (авто) представляют собой комиссию протокола, которая остаётся в пуле как обеспечение — именно это толкает цену DA вверх.
  </Card>

  <Card title="Без P2P-переводов" icon="ban">
    DA можно только продать, дать в залог или погасить — переводов между пользователями нет.
  </Card>
</CardGroup>

## Формула цены «Только вверх»

Цена = Ликвидность ÷ Обращающийся объём

Каждый раз, когда DA продаётся, токены сжигаются (объём уменьшается), а USDT остаётся в пуле (ликвидность остаётся или растёт). Меньше токенов ÷ такая же или большая сумма USDT = более высокая цена за токен.

<Info>
  **Как это работает:** 200 DA в обращении, 200 USDT в пуле ликвидности. Цена = 1,00 USDT за DA. Пользователь продаёт 100 DA. Пул выплачивает 70 USDT (70% от 100 USDT). Все 100 DA сжигаются. Результат: 100 DA остаются, 130 USDT в пуле. Новая цена = 130 ÷ 100 = **1,30 USDT за DA**.
</Info>

<Tip>
  5% комиссия со всех маркетинговых вознаграждений направляется прямо в пул ликвидности DA — отдельно от процентов от продажи. Дополнительная ликвидность поступает от комиссий за кредитование, дохода RWA и выручки FinPro.
</Tip>

<Info>
  **Защита через начальный резерв (Seed Supply):** При запуске протокола инициализируется небольшой постоянный резерв DA, который не может быть сожжён. Это гарантирует, что формула цены всегда остаётся стабильной, и защищает от крайних edge cases, когда общий объём токенов мог бы приблизиться к нулю. Начальный резерв исключён из обращения и циклов авто-продажи.
</Info>

## Источники пула ликвидности

Пул ликвидности — основа экономики DA. Он финансируется из множества источников по всей экосистеме RWANFTFI, обеспечивая непрерывный рост обеспечения токена. Каждый поток доходов протокола стекается в единый пул, усиливая формулу Цена = Ликвидность ÷ Объём.

<AccordionGroup>
  <Accordion title="Активность NFT">
    **Покупки NFT** — 20% от каждой покупки NFT автоматически направляются в Пул ликвидности для минтинга нового DA.

    **Перекуп и автопокупка** — дополнительные 20% от каждой повторной или автоматической покупки NFT поступают в Пул ликвидности. Это стимулирует обновление позиции и поддерживает рост системы.
  </Accordion>

  <Accordion title="Комиссии и сборы">
    **Налог на маркетинговые вознаграждения** — 5% со всех маркетинговых вознаграждений по реферальной сети автоматически направляется в Пул ликвидности. Активность сети напрямую усиливает обеспечение DA.

    **Комиссия за перевод Накопительного Баланса** — при переводе Накопительного Баланса другому пользователю 20% от суммы перевода направляются в Пул ликвидности DA. Любое движение Накопительного Баланса — будь то использование при покупке NFT или перевод между кошельками — генерирует 20%-приток в Пул.

    **Комиссия за использование Накопительного Баланса** — при покупке NFT с использованием Накопительного Баланса 20% от интегрируемой суммы направляются в Пул ликвидности DA на минтинг нового DA. Пример: на накопительном 898 USDT, при покупке NFT интегрируется 718 USDT (это идёт в счёт стоимости NFT), а 180 USDT (20% от 898) уходит в Пул ликвидности DA. Каждая такая покупка пополняет Пул и создаёт основу для нового DA.

    **Комиссия за кредитование** — при взятии займа заёмщик платит единовременную 5% комиссию, направляемую в Пул ликвидности. Пример: заём 1 000\$, заёмщик получает 950\$, 50\$ идёт в Пул. Комиссия собирается с каждого нового займа.
  </Accordion>

  <Accordion title="Просроченные и неиспользованные средства">
    **Авто-продажа с нулевым лимитом дохода** — если срабатывает авто-продажа DA, а у пользователя нулевой лимит дохода на NFT, 100% выручки идёт либо в Пул ликвидности, либо на сжигание DA (точный механизм определяется настройками DAO).

    **Просроченные ваучеры** — если ваучеры остаются неиспользованными в течение 365 дней, 100% средств направляется в Пул ликвидности. Это предотвращает простой средств и устраняет неактивные обязательства.

    **Неиспользованный Накопительный Баланс** — если Накопительный Баланс остаётся неиспользованным в течение 120 дней, 70% средств направляется в Пул ликвидности для минтинга нового DA.
  </Accordion>

  <Accordion title="Внешняя выручка">
    **Комиссии SWAP** — комиссии со всех обменных операций (SWAP) автоматически направляются в Пул ликвидности.

    **Комиссии дебетовой карты** — комиссии от программы дебетовой карты поступают в Пул ликвидности, создавая реальный денежный поток из внешней экономики.

    **Доход RWA** — часть выручки от недвижимости, арендного дохода, коммерческих активов и других реальных активов направляется в Пул ликвидности, привязывая систему к реальной экономике.

    **Выручка FinPro** — часть прибыли от финансовых продуктов (Кредитование, инвестиционные продукты, финансовые услуги) поступает в Пул ликвидности.

    **Выручка экосистемы** — часть общей выручки протокола может быть направлена в Пул ликвидности или использована для создания дополнительной ликвидности для минтинга нового DA.
  </Accordion>
</AccordionGroup>

## Механика сжигания DA

Сжигание DA — ключевой дефляционный механизм — оно уменьшает предложение токенов и создаёт устойчивое давление на рост стоимости актива.

<CardGroup cols={3}>
  <Card title="Ручная продажа" icon="fire">
    100% проданного DA безвозвратно сжигается. Пользователь получает 75% стоимости в USDT. Оставшиеся 25% — это комиссия протокола, которая остаётся в пуле как обеспечение, стимулируя рост цены.
  </Card>

  <Card title="Авто-продажа" icon="clock">
    100% авто-проданного DA безвозвратно сжигается. Пользователь получает 70% стоимости в USDT. Оставшиеся 30% — это комиссия протокола, которая остаётся в пуле как обеспечение, стимулируя рост цены. Срабатывает прогрессивно с оставшегося баланса в 4 периода (всего 365 дней / 1 год).
  </Card>

  <Card title="Дефолт по кредиту" icon="ban">
    Если кредит не погашен, заложенный DA прогрессивно сжигается через цикл авто-продажи. Защищает ликвидность системы и обеспечивает финансовую дисциплину.
  </Card>
</CardGroup>

## Мгновенный доступ и цикл авто-продажи

### Мгновенный доступ

Токены DA на 100% доступны пользователю с момента их фарминга. Никакого периода блокировки. Пользователь может немедленно:

* **Продать вручную** — получить 75% стоимости в USDT, 100% токенов сжигаются
* **Взять кредит** — 70% LTV под залог DA, 5% комиссия
* **Держать и ждать** — сохранить токены и получать выгоду от роста цены со временем

### Цикл авто-продажи

Если пользователь не продаёт вручную, система запускает автоматические продажи с **оставшегося баланса** в течение 4 периодов общей продолжительностью **365 дней (1 год)**. Длительность периодов зафиксирована в смарт-контракте в днях (120 / 90 / 90 / 65 дней); упоминания месяцев ниже — приближённые, для удобства чтения.

**Пример, начиная со 100 DA:**

<Steps>
  <Step title="Период 1 — Через 120 дней (~4 месяца)">
    25% текущего баланса продаётся автоматически. 25% от 100 = **25 DA продано** → Остаток: **75 DA**
  </Step>

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

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

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

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

Каждая авто-продажа выполняется по цене DA на момент срабатывания этого периода — а не по цене на момент фарминга. 100% авто-проданных токенов сжигается, и пользователь получает 70% стоимости в USDT по цене на дату авто-продажи. Поскольку цена со временем растёт, в более поздние периоды токены сжигаются по более высокой цене, ускоряя дефляцию.

Пользователь может продать вручную в любое время до срабатывания авто-продажи, получив 75% вместо 70%.

<Tip>
  Ручная продажа (выплата 75%) всегда выгоднее за токен, чем авто-продажа (выплата 70%). Однако авто-продажа выигрывает от роста цены со временем — более поздние периоды выполняются по более высокой цене DA.
</Tip>

<Warning>
  **Авто-продажа с нулевым лимитом дохода:** Если срабатывает авто-продажа, а у пользователя нулевой лимит дохода (NFT не продлён), 100% выручки идёт в Пул ликвидности или на сжигание DA (определяется DAO). Пользователь ничего не получает. Всегда поддерживайте активный лимит дохода.
</Warning>

## Мульти-батч кредитование

Каждый батч DA из каждого цикла майнинга служит независимым залогом. Это позволяет непрерывный цикл микро-кредитования:

<Steps>
  <Step title="Намайнить Батч 1">
    Пользователь завершает цикл майнинга и получает батч DA 1.
  </Step>

  <Step title="Взять заём под Батч 1">
    Пользователь берёт заём по фиксированному 70% LTV под батч 1 (единовременная 5% комиссия взимается при выдаче, не при погашении).
  </Step>

  <Step title="Намайнить Батч 2">
    Пользователь начинает новый цикл майнинга и получает батч DA 2.
  </Step>

  <Step title="Взять заём под Батч 2">
    Пользователь берёт ещё один заём по фиксированному 70% LTV под батч 2 (отдельная единовременная 5% комиссия при выдаче нового займа).
  </Step>
</Steps>

Это позволяет иметь несколько одновременных микрокредитов - по одному на каждый батч DA. Каждый заём независим - привязан к своему батчу - и остаётся активным, пока стэк этого батча не вошёл в цикл авто-продажи. Если произойдёт дефолт по какому-либо отдельному займу, будет сожжён только залог этого батча - не все активы DA. Кредитование также поддерживает частичное погашение и пропорциональное восстановление при дефолте. Подробный разбор см. в [Механика кредитования](/ru/da-lending).

Подробное сравнение продажи и кредитования см. в [Продажа и кредитование](/ru/da-selling-lending).

## Дефляционный цикл

Дважды в год система запускает специальный Дефляционный Цикл продолжительностью до 30 дней, предназначенный для усиления дефицита токена.

<Steps>
  <Step title="Пауза генерации новых циклов">
    Запуск новых циклов майнинга NFTM, стейкинга и генерации DA приостановлен на весь период Дефляционного Цикла. **Активные циклы, начатые до старта Дефляционного Цикла, продолжают идти и завершаются по графику** — пользователи, у которых майнинг уже шёл, не теряют свой прогресс.
  </Step>

  <Step title="Активация механизмов продажи">
    Активируются автоматические или добровольные механизмы продажи DA.
  </Step>

  <Step title="Ежедневное сжигание">
    Часть токенов сжигается ежедневно.
  </Step>

  <Step title="Сокращение предложения">
    Рыночное предложение сокращается, усиливая давление на рост цены.
  </Step>
</Steps>

<Info>
  Дефляционный Цикл делает экономику DA предсказуемой, управляемой и устойчивой в долгосрочной перспективе.
</Info>

Больше активности → больше ликвидности → больше эмиссии DA → больше сжигания → больше дефицита → рост стоимости актива. Эта замкнутая система означает: чем активнее развивается экосистема, тем сильнее становится экономика DA.

<DaPriceSimulator />
