Learning Platform
Глоссарий Troubleshooting
Урок 07.03 · 18 мин
Продвинутый
Contract EconomicsFee StructureTreasurySustainability

Экономика контрактов

Проблема: контракт должен «выживать»

Контракт на TON — это экономическая единица: он имеет баланс, платит storage fee, и может быть заморожен при нулевом балансе. System Design должен учитывать sustainability — способность контракта существовать долгосрочно.

Revenue Sources для контрактов

Revenue Sources для TON контрактов
Protocol Fee
Gas Remainder
Yield
Admin Top-up

Sustainability Formula

Sustainability check:

Monthly revenue = tx_count × fee_per_tx
Monthly cost = storage_fee_per_month + operational_costs

Sustainable if: revenue > cost

Пример: DEX Pool
  Revenue: 10,000 swaps/month × 0.3% fee × avg $100 = $3,000/month
  Cost: storage (~0.01 TON/month) + admin (minimal)
  → Highly sustainable [OK]

Пример: NFT Collection (10K items, no trading)
  Revenue: 0 (no ongoing activity)
  Cost: 10,000 items × 0.00003 TON/month = 0.3 TON/month
  → Not sustainable without admin top-up [WARN]

Fee Design Patterns

Pattern 1: Percentage fee

DEX swap fee:
  input_amount = msg.value;
  fee = input_amount * FEE_BPS / 10000;  // 30 bps = 0.3%
  treasury_balance += fee;
  swap_amount = input_amount - fee;

Pattern 2: Flat fee

NFT listing fee:
  require(msg.value >= LISTING_FEE);  // 0.1 TON flat
  treasury_balance += LISTING_FEE;
  // Process listing...

Pattern 3: Tiered fees

Volume-based fee:
  if (monthly_volume < 100_000 TON) fee_bps = 30;      // 0.3%
  else if (monthly_volume < 1_000_000 TON) fee_bps = 20; // 0.2%
  else fee_bps = 10;                                      // 0.1%

Treasury Management

Treasury контракт

Отдельный контракт для накопления и распределения protocol fees:

Treasury Design:
  collect_fee(amount) — вызывается pool контрактами
  withdraw(amount, to) — только admin
  distribute_rewards(validators[]) — распределение
  
Guards:
  - Minimum balance (never withdraw below threshold)
  - Timelock on large withdrawals
  - Multi-sig for admin operations

Design Checklist для Economics

ПроверкаВопрос
RevenueОткуда контракт получает доход?
CostsКакие постоянные расходы (storage)?
SustainabilityRevenue > costs при текущих объёмах?
GrowthКак costs растут с ростом пользователей?
Worst caseЧто если активность упадёт до нуля? Freeze?
RecoveryКак восстановить frozen контракт?
Проверка знанийKnowledge check
ОтветAnswer

Проверьте понимание

Результат: 0 из 0
Аналитический
Вопрос 1 из 1. NFT коллекция с 10,000 items, без торговой активности. Monthly storage fee ~0.3 TON. Как обеспечить sustainability?

Закончили урок?

Отметьте его как пройденный, чтобы отслеживать свой прогресс

Войдите чтобы оценить урок

Прогресс модуля
0 из 3