Emission schedule, burn mechanics, staking multipliers, and manipulation cost modeling for the TRUTH token.
Document Version: 1.0.0 Last Updated: 2025-02
- Token Overview
- Initial Distribution
- Emission Schedule
- Burn Mechanics
- Staking Rewards
- Duration Multipliers
- Accuracy Bonus Schedule
- Manipulation Cost Analysis
- Supply Projections
- Economic Security Thresholds
| Property | Value |
|---|---|
| Token name | TRUTH |
| Standard | ERC20 + ERC20Votes + ERC20Permit + ERC20Burnable |
| Maximum supply | 1,000,000,000 (1B) |
| Decimals | 18 |
| Chain | EVM-compatible (Solidity ^0.8.20) |
Two additional tokens exist for specific protocol functions:
| Token | Type | Supply Model | Purpose |
|---|---|---|---|
| VOL | ERC20 | Dynamic (controller-gated) | Synthetic volatility exposure |
| LIQ | ERC20 | Dynamic (emission-based) | Liquidity provider rewards |
This document covers TRUTH tokenomics exclusively. VOL and LIQ economics are secondary and derive from TRUTH staking activity.
At Token Generation Event (TGE, Quarter 0):
| Bucket | Allocation | Tokens | Unlock |
|---|---|---|---|
| Community / Stakers | 40% | 400,000,000 | Immediate |
| Early Stakers | 25% | 250,000,000 | Immediate |
| DAO Treasury | 20% | 200,000,000 | 5% per quarter |
| Team | 10% | 100,000,000 | 4-year linear vest |
| Liquidity Pools | 5% | 50,000,000 | Immediate |
Immediately circulating at TGE: 700,000,000 (70%) — Community + Early Stakers + Liquidity.
Locked at TGE: 300,000,000 (30%) — DAO Treasury + Team.
Team tokens unlock linearly over 16 quarters (4 years):
team_unlocked(q) = min(q / 16, 1.0) × 100,000,000
Quarter 0: 0 TRUTH
Quarter 4: 25,000,000 TRUTH (25%)
Quarter 8: 50,000,000 TRUTH (50%)
Quarter 12: 75,000,000 TRUTH (75%)
Quarter 16: 100,000,000 TRUTH (100% — fully vested)
DAO Treasury releases 5% of its total allocation per quarter:
dao_released(q) = min(0.05 × q, 1.0) × 200,000,000
Quarter 0: 0 TRUTH
Quarter 4: 40,000,000 TRUTH (20%)
Quarter 10: 100,000,000 TRUTH (50%)
Quarter 20: 200,000,000 TRUTH (100% — fully released)
gross_supply(q) = immediate + team_unlocked(q) + dao_released(q)
where:
immediate = 700,000,000
team_unlocked(q) = min(q/16, 1.0) × 100,000,000
dao_released(q) = min(0.05 × q, 1.0) × 200,000,000
A 1% quarterly burn is applied to the circulating supply:
net_supply(q) = gross_supply(q) × (1 - 0.01)^q
Burns are funded from:
| Source | Mechanism |
|---|---|
| Platform fees | 2% (200 bps) of each payout is collected; a portion is burned |
| Dispute penalties | Losing disputants forfeit 10,000 TRUTH; portion burned |
| Governance deposit burn | Failed proposals forfeit a portion of the deposit |
| Quarter | Gross Supply | Cumulative Burned | Net Circulating | % of Max |
|---|---|---|---|---|
| 0 | 700,000,000 | 0 | 700,000,000 | 70.00% |
| 4 | 765,000,000 | 30,039,402 | 734,960,598 | 73.50% |
| 8 | 830,000,000 | 63,199,200 | 766,800,800 | 76.68% |
| 12 | 895,000,000 | 98,361,250 | 796,638,750 | 79.66% |
| 16 | 960,000,000 | 134,820,384 | 825,179,616 | 82.52% |
| 20 | 1,000,000,000 | 164,025,000 | 835,975,000 | 83.60% |
Values are approximate. Exact figures depend on the burn being applied after each quarter's emission.
Due to the 1% quarterly burn, the net circulating supply converges to a steady state below the 1B maximum. Even after all vesting and treasury releases complete (Quarter 20), the burn continues to reduce circulating supply.
Asymptotic equilibrium (no new minting):
net_supply → 0 as q → ∞ (deflationary to zero in theory)
In practice, governance can adjust the burn rate via STANDARD or CONSTITUTIONAL proposals.
| Parameter | Value |
|---|---|
| Base staking APY | 12% |
| Early adopter multiplier | 2.0x (first 10,000 users) |
| Platform fee on payouts | 200 bps (2%) |
gross_payout = stake × (1 + accuracy_bonus) × duration_multiplier
platform_fee = gross_payout × 0.02
net_payout = gross_payout - platform_fee
| Parameter | Value |
|---|---|
| Stake | 10,000 TRUTH |
| Duration | 4 quarters (1 year) |
| Accuracy score | 0.85 (>0.7, bonus eligible) |
| Duration multiplier | 1.5x |
| Early adopter | No (rank > 10,000) |
effective_apy = 0.12 × 1.5 × 1.0 = 18.0%
annual_reward = 10,000 × 0.18 = 1,800 TRUTH
quarterly_reward = 450 TRUTH
total_reward = 450 × 4 = 1,800 TRUTH
| Lock Duration | Quarters | Multiplier |
|---|---|---|
| 30 days | ~0.33 | 1.0x |
| 90 days | 1 | 1.125x |
| 180 days | 2 | 1.25x |
| 1 year | 4 | 1.5x |
| 2 years | 8 | 2.0x |
| 4 years | 16 | 3.0x |
Formula:
duration_multiplier = min(3.0, 1.0 + (quarters / 16) × 2.0)
The multiplier is linear in the number of quarters locked, capped at 3.0x for lockups of 16+ quarters.
From the whitepaper Appendix A:
| Accuracy Range | Bonus Multiplier | Effect |
|---|---|---|
| > 0.9 | +50% on profit | Reward elite predictors |
| > 0.7 | +25% on profit | Reward consistent predictors |
| > 0.5 | +0% | Neutral |
| ≤ 0.5 | -30% penalty | Penalize poor predictors |
The accuracy bonus applies to the profit component only, not the original stake. A predictor with 0.95 accuracy who stakes 1,000 TRUTH and earns 200 TRUTH profit receives:
boosted_profit = 200 × 1.5 = 300 TRUTH
final_payout = 1,000 + 300 = 1,300 TRUTH
The ManipulationSimulator evaluates whether a whale can profitably dominate a staking pool.
Model:
whale_dominance = whale_stake / (whale_stake + honest_stake × n_honest)
profit_if_correct = whale_share_of_losing_pool × (1 + bonus) - fee
expected_loss = whale_stake × (1 - p_outcome) × loss_factor
net_expected_value = profit_if_correct × p_outcome - expected_loss
A manipulation is unprofitable when net_expected_value < 0, which occurs when:
- TVL is sufficiently large relative to the whale's stake.
- The accuracy bonus does not apply (whale has no prediction history).
- Slashing penalizes incorrect bets.
oracle_bribe_cost = TVL × oracle_bribe_factor
where oracle_bribe_factor = 0.33 (33% of TVL)
To corrupt the oracle, the attacker must bribe sources worth ≥66% of weighted votes. Given the weight structure (Chainlink 1.5, API3 1.2, validators 1.0 each), the minimum bribery target is Chainlink + API3 + 1 validator (weight 3.7, 64.9%) or API3 + all 3 validators (weight 4.2, 73.7%).
The bribe must exceed each source's expected future earnings from honest operation.
market_manipulation_cost = TVL × market_manipulation_factor
where market_manipulation_factor = 0.20 (20% of TVL)
This represents the cost of moving external markets to create a predictable event outcome.
security_threshold = max(event_payout, oracle_bribe_cost, market_manipulation_cost)
is_secure = TVL ≥ security_threshold
| TVL | Max Event Payout | Oracle Bribe | Market Manipulation | Secure? |
|---|---|---|---|---|
| 1,000,000 | 500,000 | 330,000 | 200,000 | Yes (margin: +100%) |
| 1,000,000 | 1,200,000 | 330,000 | 200,000 | No (payout > TVL) |
| 5,000,000 | 2,000,000 | 1,650,000 | 1,000,000 | Yes (margin: +150%) |
Quarter │ Team Unlocked │ DAO Released │ Gross Supply │ Net (after burn)
────────┼───────────────┼──────────────┼──────────────┼─────────────────
0 │ 0 │ 0 │ 700,000,000 │ 700,000,000
2 │ 12,500,000 │ 20,000,000 │ 732,500,000 │ 717,988,250
4 │ 25,000,000 │ 40,000,000 │ 765,000,000 │ 734,960,598
8 │ 50,000,000 │ 80,000,000 │ 830,000,000 │ 766,800,800
12 │ 75,000,000 │ 120,000,000 │ 895,000,000 │ 796,638,750
16 │ 100,000,000 │ 160,000,000 │ 960,000,000 │ 825,179,616
20 │ 100,000,000 │ 200,000,000 │ 1,000,000,000│ 835,975,000
Cumulative Burn │ Quarter
────────────────┼────────
7,000,000 │ 1
27,860,000 │ 4
63,200,000 │ 8
98,360,000 │ 12
134,820,000 │ 16
164,025,000 │ 20
| Period (quarters) | Gross Emission | Net Burn | Effective Inflation |
|---|---|---|---|
| 0–4 | +65,000,000 | -30,039,402 | +34,960,598 (5.0%) |
| 4–8 | +65,000,000 | -33,159,798 | +31,840,202 (4.3%) |
| 8–12 | +65,000,000 | -35,162,050 | +29,837,950 (3.9%) |
| 12–16 | +65,000,000 | -36,459,134 | +28,540,866 (3.6%) |
| 16–20 | +40,000,000 | -29,204,616 | +10,795,384 (1.3%) |
| 20+ | 0 | ongoing burn | deflationary |
After Quarter 20, no new tokens are emitted. The burn continues, making the protocol deflationary.
Given the manipulation cost model, the protocol is economically secure when:
TVL ≥ max_event_payout / (1 - oracle_bribe_factor)
TVL ≥ max_event_payout / 0.67
TVL ≥ 1.49 × max_event_payout
Rule of thumb: TVL should be at least 1.5x the maximum payout of any single event.
| TVL Range | Max Single Event Payout | Security Rating |
|---|---|---|
| < 500K | 100K | Minimal |
| 500K – 2M | 500K | Moderate |
| 2M – 10M | 2M | Strong |
| 10M+ | 5M | Institutional |
Manipulation Cost
▲
│
3.3M │ ╱
│ ╱
2.0M │ ╱
│ ╱
1.0M │ ╱
│ ╱
0.33M │ ╱
│ ╱
│ ╱
│ ╱
│╱
└──────────────────────────────► TVL
0 1M 3M 5M 7M 10M
Oracle bribery = 0.33 × TVL (linear)
Market manipulation = 0.20 × TVL (linear)
As TVL grows, the cost to attack the protocol grows linearly. The protocol becomes more secure with scale.
Chart generation scripts for all projections in this document are available at docs/graphs/. See:
supply_emission.py— Circulating supply over timetvl_manipulation.py— TVL vs. manipulation costreputation_distribution.py— Reputation score distribution
These scripts export PNG charts for embedding in presentations and audit reports.