Staking Snapshots
Every epoch (default: 24 hours), the system records each staker's USD-equivalent value:
stakeUSD = SUM(position_v * sharePrice_v * assetPriceUSD_v) for all GovernanceVaultsDuring the bootstrap phase, this simplifies to just the XRP vault position.
Snapshots are stored immutably and used for percentile calculations:
Top 50% → eligible to create prediction markets, propose/challenge outcomes, and vote in initial resolutions.
Snapshots ensure deterministic eligibility and prevent stake-hopping manipulation.
Optimistic Snapshot Architecture
Axiom uses an optimistic off-chain computation model with on-chain fraud proofs to achieve major gas savings while maintaining decentralization.
Normal Operation (99%+ of snapshots)
Off-chain indexer computes staker percentiles and builds a Merkle tree
Submitter posts Merkle root on-chain (~251k gas) with economic bond (100-1000 XRP)
24-hour challenge window allows anyone to dispute with fraud proof
If unchallenged, snapshot auto-finalizes
Users verify eligibility via cheap Merkle proofs (~4k gas)
Fraud Proof (rare, economically deterred)
Challenger submits fraud proof with alternative Merkle root + bond
Contract computes percentiles on-chain (expensive! ~4M gas for 1000 stakers)
Compares roots: loser forfeits bond to winner (200 XRP total)
Economic deterrent: attacking costs $250-$2,500, defending is cheaper
Why this works:
Cost efficiency: $3k-$15k/year vs $1.8M/year pure on-chain sorting.
Decentralization: Anyone can submit/challenge with bonds ensuring honesty.
Scalability: Off-chain computation supports millions of stakers.
Security: Economic game theory makes attacks irrational.
Dual Epoch Locking: Creation vs Resolution
Axiom uses a two-epoch system to balance long-term market integrity with fresh voter participation:
Creation Epoch: Locked when market is created, determines who can create markets.
Resolution Epoch: Locked when the first proposal is submitted, determines who can submit proposals, vote, and receive penalties/rewards.
This prevents stake-hopping and ensures penalties/rewards apply to currently-staked participants.
Example Flow:
Day 1 (Epoch 100): Market created
- creationEpoch = 100
- resolutionEpoch = null
Day 90 (Epoch 190): First proposal submitted
- resolutionEpoch = 190 (LOCKED)
- Only Epoch 190 top 50% can submit proposals and vote
- Vaults enforce resolution lock on Epoch 190 participants
Day 91-93: Voting period
- Withdrawal blocked for all proposal submitters and voters
- Penalties/rewards apply to Epoch 190 stakesTwo snapshot mechanisms:
Governance Snapshots (24-hour epochs): staker USD values for percentile-based eligibility.
TVL Snapshots (hourly updates): track vault TVL for fee distribution.
Both operate independently.
Snapshot Automation
Snapshots are permissionless and trustless; any participant can trigger the snapshot function after an epoch duration has elapsed. Contracts fetch XRP/USD price from decentralized sources (BandChain oracle or XRP/USD-pegged stables DEX), calculate USD-equivalent positions, store data on-chain, and compute percentiles.
Epoch duration (default 24 hours) is governance-adjustable.
Last updated

