Skip to main content
LUMINA is the protocol’s native ERC-20, deployed as LuminaTokenV2 on Base mainnet (0xa357…223C; always read from /health.contracts.luminaToken).

Hard cap and distribution

The supply is capped at 100,000,000 LUMINA. There is no inflation mechanism — the cap is enforced in the token contract itself.
AllocationLUMINASharePurpose
BondVault70,000,00070%Backs ClaimBond redemptions for the lifetime of the protocol.
CEX liquidity14,000,00014%Centralised exchange listings + market-making inventory.
Founder8,000,0008%Vests via FounderVestingV2 (see below).
LBP (Liquidity Bootstrapping Pool)5,000,0005%Public price-discovery launch.
Treasury3,000,0003%Operating runway, audits, integrations.

Burn — 85% of every premium

When a buyer pays a USDC premium, AdaptiveFeeDistributor splits the fee 85 / 8 / 2 / 5:
SliceDestination
85%Burn (TWAP-bought LUMINA → burn address)
8%Buyback (BuybackEngine)
2%Ops (gas reimbursements, infra)
5%Maintenance reserve
The burn slice is not routed directly to LUMINA — it’s USDC that the TWAPBurner V2 swaps for LUMINA on Uniswap (Base) using a 1-hour TWAP (MEV-resistant), then burns. This applies to both premium fees and the marketplace’s 3% fee (1.5% seller + 1.5% buyer) — every protocol fee stream flows through the same AdaptiveFeeDistributor schedule.

Auto-burn trigger

TWAPBurner V2 fires automatically once either condition is met:
  • Accumulated USDC fees ≥ $500, or
  • 50 successful policy purchases since the last burn.
There is no operator-driven schedule; burn rate tracks protocol usage exactly.

Buyback + Double Burn

The BuybackEngine (0x56B5…d8B4) implements a commit-reveal scheme (MEV protection, audit fix M-10) that buys LUMINA from the open market on a schedule independent of the auto-burn flow. The resulting LUMINA is burned again (“Double Burn”) rather than redistributed — the protocol treats LUMINA accumulated by buyback as permanent supply reduction, on top of the 85% premium burn. This means LUMINA has two deflationary forces running in parallel:
  1. Premium burn. 85% of every premium → LUMINA → burned.
  2. Buyback burn. Independent market buys → LUMINA → burned.

Three roles for the token

  1. Governance. Parameter updates (bond maturities, payout ratios, oracle keys, fee splits) are voted by LUMINA holders.
  2. Payout asset. ClaimBond redemption at 730d converts the bond’s USD face to LUMINA at the protocol’s reference LUMINA/USD price.
  3. Bond pricing snapshot. At policy purchase, the LUMINA/USD price is snapshotted into the policy (audit fix H-6). Redemption math is bounded by this snapshot to protect buyers from oracle drift between purchase and trigger.

FounderVesting V2 — three release paths

The 8M founder allocation is locked in FounderVestingV2 (0xfF4D…2832, sprint FV override). Tokens are released via whichever path triggers first:
PathCondition
PATH 1 — AltSeason2-of-3 conditions sustained 1 day — (A) ETH/BTC > 0.050, (B) ETH > $4,000, (C) Aave V3 USDC variable borrow rate > 7% APY.
PATH 2 — ETH bullETH/USD > $5,000 sustained 1 day (independent of PATH 1).
PATH 3 — FallbackTime-based after 1,095 days (3 years) from deploy, independent of price.
Release: 3 tranches of ~2.666M LUMINA each, 31 days apart from trigger. The oracle wiring uses luminaOracleV2 (audit fix; previously pointed at the deprecated capacityOracle). The vesting math itself was hardened with 88 tests in sprint FV (Echidna + edge + fork) and is governed by ADR-025.

Live token addresses

Always read from /health.contracts rather than hard-coding — addresses change between V5.x deploys until mainnet.
curl -s https://lumina-api-production-ac85.up.railway.app/health \
  | jq .contracts
Key addresses (Base mainnet, V5.4):
ContractAddress
LuminaTokenV20x62C0…6680
BondVault0x193a…B6EC
ClaimBond0xaa57…1FB4
TWAPBurner V20x242d…1bC0
AdaptiveFeeDistributor0xeC78…9D54
BuybackEngine0x56B5…d8B4
FounderVestingV20xfF4D…2832
LuminaOracleV20x9bfa…71dD

See also