Staking & holding
Season 0 uses wallet holdings, not staking. Each Season 0 reward tier requires a minimum ALPUN balance (5,000 / 25,000 / 100,000 / 500,000) held in your linked wallet while productive time accrues — the backend indexer samples balances continuously; no staking transaction is needed.
Staking launches with Season 1, converting held balances into locked positions with the benefits below. Wallets that held a Season 0 threshold through the end of the season receive a Founders Boost when they stake in early Season 1. Holding or staking yields gameplay benefits, never token interest.
Three concepts stay separated:
On-chain staking amount
↓
Daily Alpaca Energy allowance
↓
Game participation and seasonal points
Lock tiers
| Area | Lock period | Benefit |
|---|---|---|
| Alpaca Meadow | None | Basic energy bonus |
| Golden Farm | 30 days | 1.10× multiplier, rare items |
| Cosmic Ranch | 90 days | 1.25× multiplier, exclusive alpaca, governance access |
Energy formula
The backend — never the frontend — computes the daily allowance:
Base daily energy: 100
Every 10,000 ALPUN staked: +10
Maximum staking bonus: +200
30-day lock multiplier: 1.10×
90-day lock multiplier: 1.25×
dailyEnergy = min(baseEnergy + stakingBonus, maximumDailyEnergy) × lockMultiplier
The blockchain indexer keeps a MongoDB projection of every on-chain
staking position (staking_positions collection). The game service derives
benefits from that projection; it never reads wallet state supplied by the
browser.
Reward model
Player stakes tokens
→ receives additional energy
→ performs farm actions
→ earns seasonal points
→ seasonal points determine allocation
→ fixed seasonal token pool is claimable
Season 0 emits no ALPUN at all — rewards are the Founders Farm NFTs only. The game only ever takes ALPUN off the market (hold thresholds) or burns it (claim fees); there is no game-driven sell pressure in Phase 0. Any future seasonal token pool would be a fixed, pre-announced amount — never a permanent APY with unlimited emission.
Besides energy, the balance requirement gates the Season NFT tiers (Season 0: wallet balance; Season 1+: staked balance):
Hold ≥ tier threshold in the linked wallet
→ productive time accrues toward that tier
→ dip below the threshold: accrual pauses (7-day cooldown to resume)
→ hold the threshold 7 days before claiming
→ claim fee in ALPUN: 50 % burned, 50 % treasury
Rewards are variable, not guaranteed, and may end after any season.
On-chain components
SPL token mint ALPUN
Staking program deposits, withdrawals, lock periods
Reward vault PDA holds any future seasonal pool
Player staking accounts one PDA per staked position
The transaction-building endpoints
(POST /api/v1/staking/transactions/*) return unsigned or partially
prepared transactions for the wallet to inspect and sign. The backend
must not sign as the player.
Synchronization
Solana account/program change
→ indexer decodes staking event
→ blockchain_events insert (idempotent: signature + instruction index)
→ staking_positions projection update
→ staking.updated outbox event
→ game benefits recalculated