/ project / architecture / machine / tokenomics.cspec
tokenomics.cspec
  1  # Tokenomics Specification
  2  # refs: T001-T008
  3  
  4  # === T001: AX TOKEN ===
  5  ax:
  6    chain: ALPHA
  7    purpose: privacy_preserving_monetary_unit
  8    
  9    properties:
 10      decimals: 4
 11      unit: microcredits (10000/AX)
 12      supply: variable (governor_controlled)
 13      minting: GOV_only
 14      privacy: full_zk_snark
 15      coinbase: none
 16      state: record_utxo
 17    
 18    minting:
 19      function: credits.alpha/mint_public
 20      caller: must_be_in GID.governors
 21      audit: all_mints_logged (governor_id, timestamp)
 22    
 23    fee_distribution:
 24      validators: 70%
 25      provers: 30%
 26      burn: 0%
 27      treasury: 0%
 28  
 29  # === T002: DX TOKEN ===
 30  dx:
 31    chain: DELTA
 32    purpose: governance_dividend_token
 33    
 34    properties:
 35      decimals: 0 (whole_tokens)
 36      supply: 1B_fixed_at_genesis
 37      minting: none_after_genesis
 38      privacy: zk_shielded_holdings
 39      coinbase: none
 40      state: shielded_records
 41    
 42    genesis_allocation:
 43      founders: 300M (30%), vesting:4yr, sale:treasury_only
 44      investors: 100M (10%), vesting:2yr, sale:treasury_only
 45      network: 250M (25%), grants:[GOV,VAL,PRV]
 46      reward: 350M (35%), long_term_incentives
 47    
 48    network_pool_grants:
 49      governor: 1M_DX, immediate, treasury_only_sale
 50      validator: 100k_DX, locked_until_paid, treasury_only_sale
 51      prover_lottery: 10k_DX, treasury_only_sale
 52    
 53    network_pool_closure:
 54      trigger: governors >= 150
 55      effect: remaining -> reward_pool
 56  
 57  # === T003: sAX (SYNTHETIC AX) ===
 58  sax:
 59    purpose: ax_representation_on_delta
 60    
 61    properties:
 62      backing: 1:1_locked_AX
 63      lifetime: ephemeral
 64      decimals: 4 (matches_AX)
 65    
 66    mint_flow:
 67      1: user.lock_for_sax(amount) on ALPHA
 68      2: AX -> locked_ax_pool
 69      3: ALPHA_block_finalizes
 70      4: cross_chain_attestation -> DELTA
 71      5: DELTA_mints_sAX_to_user
 72    
 73    burn_flow:
 74      1: user.unlock_ax(amount) on DELTA
 75      2: sAX_burned
 76      3: DELTA_block_finalizes
 77      4: cross_chain_attestation -> ALPHA
 78      5: ALPHA_releases_AX_to_user
 79    
 80    rationale:
 81      - ALPHA_utxo incompatible with DELTA_account_model
 82      - clean_separation_maintains_1:1_guarantee
 83  
 84  # === T004: FEE MODEL (NO GAS) ===
 85  design:
 86    philosophy: formula_based (not_auction)
 87    rationale: [predictable_costs, no_frontrunning, simpler_ux]
 88  
 89  alpha_fees:
 90    formula: base_fee + (proof_weight × prover_rate)
 91    base_fee: 100μ (0.01_AX)
 92    prover_rate: 50μ/weight_unit
 93    example_transfer: 100 + (1.0 × 50) = 150μ = 0.015_AX
 94  
 95  delta_fees:
 96    formula: base_fee + (notional × tier_rate)
 97    base_fee: 10μ
 98    tiers:
 99      tier1: <100k_sAX/mo, 0.10%
100      tier2: 100k-1M_sAX/mo, 0.05%
101      tier3: 1M-10M_sAX/mo, 0.025%
102      tier4: >10M_sAX/mo, 0.01%
103  
104  distribution:
105    validators: 70%
106    provers: 30%
107    burn: 0%
108    treasury: 0% (from_fees)
109  
110  # === T005: DX POOLS ===
111  pools:
112    founders:
113      amount: 300M_DX
114      percent: 30%
115      vesting: 4_years
116      sale: treasury_only
117    
118    investors:
119      amount: 100M_DX
120      percent: 10%
121      vesting: 2_years
122      sale: treasury_only
123    
124    network:
125      amount: 250M_DX
126      percent: 25%
127      distribution: [gov_grants, val_grants, prover_lottery]
128      closure: at_150_governors -> remainder_to_reward
129    
130    reward:
131      amount: 350M_DX
132      percent: 35%
133      purpose: long_term_incentives
134    
135    treasury:
136      target: 1B_AX
137      funded_by: trading_revenue_allocation
138      uses: [dx_buybacks, protocol_expenses]
139      role: sole_buyer_for_genesis_dx
140  
141  # === T006: VALIDATOR EARN-IN ===
142  problem:
143    at_launch: no_circulating_AX_or_DX
144    solution: earn_stake_from_revenues
145  
146  flow:
147    1_registration:
148      - register_with_network
149      - provisional_validator_status
150      - dx_grant_allocated (locked, staked)
151    
152    2_earn_in_period:
153      - participate_in_consensus
154      - earn_fee_share
155      - fees_LOCKED_to_ax_stake (cannot_spend)
156      - performance_monitored
157    
158    3_stake_completion:
159      - ax_stake_reaches: 100k_AX
160      - full_validator_status
161      - future_earnings: freely_spendable
162    
163    4_dx_unlock:
164      - dx_grant_paid_for_at_launch_prices
165      - dx_remains_staked
166      - sale: treasury_only
167  
168  governor_exception:
169    - mint_own_stake (sovereign)
170    - 1M_DX_immediate
171    - treasury_only_sale
172  
173  performance_requirements:
174    uptime: >= 95% (CLP)
175    consensus_participation: >= 99%
176    slashing: zero
177    failure_consequence: extended_earn_in_or_removal
178  
179  # === T007: DIVIDEND DISTRIBUTION ===
180  revenue_flow:
181    delta_exchange_revenue -> fee_splitter ->
182      - validator_prover_pool (variable%)
183      - dividend_pool (variable%) ->
184          - treasury_refill
185          - insurance_refill
186          - dx_holder_dividends
187  
188  allocation_phases:
189    bootstrap:
190      condition: treasury < target
191      val_prover: 60%
192      dividends: 20%
193      treasury: 15%
194      insurance: 5%
195    
196    steady_state:
197      condition: treasury >= target AND insurance >= target
198      val_prover: 25%
199      dividends: 70%
200      treasury: 0%
201      insurance: 5%
202    
203    treasury_refill:
204      condition: treasury < target
205      val_prover: 30%
206      dividends: 50%
207      treasury: 15%
208      insurance: 5%
209    
210    insurance_refill:
211      condition: insurance < 3%_OI
212      val_prover: 25%
213      dividends: 55%
214      treasury: 5%
215      insurance: 15%
216  
217  claim_process:
218    1: register_alpha_address (private/zk)
219    2: dividends_accumulate_per_epoch
220    3: claim_options:
221       - receive_sAX_on_delta (trading)
222       - withdraw_to_alpha_address (private)
223    4: unclaimed_after_180_epochs: forfeited_to_dividend_pool
224  
225  staking:
226    default: staked (opt_out_model)
227    transfer: must_unstake_first
228    voting: requires >= 10k_DX_staked
229    dividend_eligibility: staked_only
230  
231  # === T008: TREASURY BUYBACK ===
232  purpose:
233    - liquidity_for_genesis_holders
234    - price_discovery_without_volatility
235    - controlled_sell_pressure
236  
237  formula:
238    buyback_price: TWAP_30(daily_dividend) × 365 × PE_ratio
239    
240    pe_ratio:
241      genesis: 5
242      changes: increase_only (governance)
243      max: 100
244      vote_required: supermajority (67%)
245  
246  example:
247    daily_dividend_per_dx: 0.0001_AX
248    twap_30: 0.0001_AX
249    pe_ratio: 5
250    buyback_price: 0.0001 × 365 × 5 = 0.1825_AX/DX
251  
252  treasury_targets:
253    ax_balance: 1B_AX
254    insurance_fund: 3%_of_open_interest
255  
256  buyback_execution:
257    when: treasury_has_sufficient_ax
258    process:
259      1: process_pending_requests (FIFO)
260      2: execute_at_formula_price
261      3: acquired_dx -> treasury_holdings (redistributable_via_governance)