Skip to main content

Supply Mechanics

The PORB token has a fixed 100M supply cap with controlled emission over time.

Supply Overview

┌─────────────────────────────────────────────────────────────────┐
│ PORB TOKEN SUPPLY │
├─────────────────────────────────────────────────────────────────┤
│ │
│ HARD CAP: 100,000,000 PORB │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ Genesis Mint │ │
│ │ 500,000 PORB (0.5%) │ │
│ │ → Season 0 point conversions │ │
│ │ → Initial CLMM liquidity │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ Post-Genesis Emissions │ │
│ │ 99,500,000 PORB (99.5%) │ │
│ │ → Probabilistic per-round emissions │ │
│ │ → Epoch-based decay (15% per 2-year epoch) │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘

Genesis Mint Details

At genesis (when LP vault reaches 25 SOL):

AllocationAmountPurpose
Point Conversions250,000 PORBSeason 0 players convert points
CLMM Liquidity250,000 PORBInitial trading pool
Total Genesis500,000 PORB0.5% of supply

Post-Genesis Emissions

Per-Round Distribution

When emission triggers (250 PORB base):

RecipientAmountPercentage
1st Joiner100 PORB40%
2nd Joiner60 PORB24%
3rd Joiner40 PORB16%
Season Pool50 PORB20%

Emission Frequency

  • Probability increases linearly since last emission
  • Guaranteed by round 20
  • Average: ~1 emission per 10 rounds

Supply Cap Enforcement

The protocol enforces the hard cap on-chain:

// Supply cap in atoms (100M × 10^9)
let cap_atoms = 100_000_000_000_000_000;
let remaining = cap_atoms - root.total_minted_orb;
let actual_mint = min(requested_mint, remaining);

// Track total minted
root.total_minted_orb += actual_mint;

No minting possible beyond the cap.

Emission Constants

ConstantValueDescription
TOTAL_SUPPLY_CAP100,000,000 PORBHard cap
GENESIS_MINT500,000 PORBSeason 0 mint
POST_GENESIS_BUDGET99,500,000 PORBRemaining for emissions
EMIT_BASE_DEFAULT250 PORBPer emission event
EMIT_PLAYER_SHARE200 PORBTo first 3 joiners
EMIT_POOL_SHARE50 PORBTo season pool

Long-Term Projections

With epoch decay (15% per 2 years):

EpochYearsRateAnnualCumulative
00-2250 PORB~6.5M6.5M
12-4212 PORB~5.5M12.0M
24-6180 PORB~4.7M16.7M
36-8153 PORB~4.0M20.7M
48-10130 PORB~3.4M24.1M
1020-2249 PORB~1.3M37.0M

Total projected emissions converge to ~43.8M PORB, well under the 99.5M budget.

Minting Control

All minting requires the mint authority PDA:

let seeds = &[b"mint_authority", &[bump]];
let signer = &[&seeds[..]];

token::mint_to(
CpiContext::new_with_signer(token_program, accounts, signer),
actual_mint
)?;

No private key exists—only the program can authorize mints.

Next Steps