Staking & Rewards
Lock SUDIGITAL tokens to earn 5-15% APY with anti-whale protection and sustainable emission controls.
APY Tiers
| Lock Period | APY | Basis Points | Phase 1 Status |
|---|---|---|---|
| Flexible | 5% | 500 | Active |
| 30 Days | 5% | 500 | Active |
| 90 Days | 8% | 800 | Active |
| 180 Days | 10% | 1,000 | Active |
| 365 Days | 15% | 1,500 | Disabled in Phase 1 |
Phase 1 caps lock duration at 180 days. The 365-day tier activates in Phase 2 once the ecosystem matures.
Emission Controls
| Parameter | Value |
|---|---|
| Annual Emission Cap | 10,000,000 tokens |
| Daily Emission Cap | ~27,397 tokens |
| Max Stake Per Wallet | 100,000 tokens |
| Min Stake Amount | 1 token |
| Ecosystem Pool | 400,000,000 tokens |
| Pool Runway | 40+ years at max emission rate |
Launch Criteria
Staking does not activate until both conditions are met:
- 1,111+ unique holders — each holding at least 100 SUDIGITAL tokens
- $111,111+ TVL — in DEX liquidity pools
This prevents early concentration and ensures meaningful participation.
Reward Calculation
Rewards accrue per second (not per block) for maximum precision:
daily_rate = apy_bps / 365
rewards = staked_amount * reward_rate * seconds_elapsed / SECONDS_PER_DAY / BASIS_POINTS- Basis Points: 10,000 (1 basis point = 0.01%)
- Precision: Second-based calculation prevents compounding errors
- Claim: Users claim accumulated rewards at any time
Example
A user stakes 50,000 SUDIGITAL for 90 days at 8% APY:
Daily reward rate: 800 / 365 = ~2.19 BPS
Daily rewards: 50,000 * 2.19 / 10,000 = ~10.96 SUDIGITAL/day
90-day total: ~986 SUDIGITALOn-Chain Data
Stake Account
| Field | Type | Description |
|---|---|---|
staked_amount | u64/uint256 | Amount currently staked |
locked_until | i64/uint256 | Lock expiry timestamp |
reward_rate | u64/uint256 | APY in basis points |
rewards_accumulated | u64/uint256 | Unclaimed rewards |
last_claim | i64/uint256 | Last claim timestamp |
created_at | i64/uint256 | Stake creation time |
Staking Config (Authority-Managed)
| Field | Description |
|---|---|
is_enabled | Global staking on/off |
annual_emission_cap | Max tokens emitted per year |
max_stake_per_wallet | Anti-whale limit |
max_lock_duration | Phase-dependent cap |
emissions_this_year | Running total for current year |
total_staked | Global TVL |
Smart Contract Functions
| EVM (StakingModule) | Solana (sudigital-token) |
|---|---|
stake(amount, lockDuration) | stake_tokens(amount, lock_duration) |
unstake(amount) | unstake_tokens(amount) |
claimRewards() | claim_staking_rewards() |
getApyForLockDuration(duration) | get_apy_for_lock_duration(duration) |
getPendingRewards(user) | calculate_pending_rewards() |
enableStaking() / disableStaking() | via update_staking_config |
fundRewardsPool(amount) | — |
getStakingConfig() | — |
APY Funding Model
APY is designed to transition from emission-funded to revenue-funded:
| Year | Emissions | Revenue | Source Mix |
|---|---|---|---|
| Year 1 | 60% | 40% | Primarily ecosystem pool |
| Year 2 | 40% | 60% | Revenue growing |
| Year 3 | 20% | 80% | Nearly self-sustaining |
| Year 4 | 0% | 100% | Fully revenue-funded |
Revenue Sources for APY
| Source | % of APY Funding |
|---|---|
| Mission ecosystem fund | 40% |
| DEX trading fees | 35% |
| NFT trading royalties | 15% |
| Treasury allocation | 10% |
XP & Leveling System
Staking and mission participation earn XP, which determines your level and reward multiplier:
| Level | Name | XP Threshold | Multiplier |
|---|---|---|---|
| 0 | Newcomer | 0 | 1.0x |
| 1 | Holder | 101 | 1.05x |
| 2 | Stacker | 501 | 1.1x |
| 3 | Whale | 1,501 | 1.15x |
| 4 | Diamond Hands | 3,501 | 1.2x |
| 5 | Alpha | 7,001 | 1.3x |
| 6 | Titan | 12,001 | 1.4x |
| 7 | Mogul | 20,001 | 1.5x |
| 8 | Legend | 35,001 | 1.7x |
| 9 | Sovereign | 60,001 | 1.9x |
| 10 | Super Wealthy | 100,001 | 2.0x |
XP Sources
| Action | Base XP |
|---|---|
| Daily Check-In | 10 XP (Solana) / 20 XP (EVM) |
| Consecutive Streak | +5 per day |
| Weekly Streak (7 days) | 150 XP bonus |
| Monthly Streak (30 days) | 1,000 XP bonus |
| Mission Participation | 75 XP |
| Mission Win | 500 XP |
| Mission Creation | 100 XP |
Streak Rules: 1-day window, 1-hour grace period. Streak breaks if >25 hours since last login. Min check-in interval: 82,800 seconds (23 hours).
Related
- Token Distribution — where staking rewards come from
- Business Model — sustainability model
- Blockchain Integration — SDK for staking