Staking Overview

Staking is how holders plug into the flywheel. You stake $IONS (the TOKEN) to earn badges, optionally lock for a multiplier, and become eligible for variable PYUSD rewards harvested from the protocol-owned reserve.

"Stake TOKEN to unlock badges and become eligible for variable PYUSD rewards from the protocol reserve."

The mental model

Your share of rewards is driven by your weight, and weight has three inputs:

weight = staked × badgeMultiplier × lockMultiplier
  • staked — how much $IONS you've staked.
  • badgeMultiplier — your badge tier (1× → 8×), set by staked amount.
  • lockMultiplier — your lock duration (1× → 10×).

Maximum boost = Diamond (8×) × 5-year lock (10×) = 80×. See Weights & Rewards for the exact reward math.

Key properties

  • You never deposit PYUSD. You stake $IONS; rewards (PYUSD) come from realized reserve yield. The reserve is protocol-owned.
  • Only realized yield is distributed. Principal stays in Kamino; stakers receive the harvested yield delta, pro-rata by weight.
  • Pull-based rewards. You sign and pay gas to claim_reward; the payout is a real SPL transfer of PYUSD from the pool.
  • Locks only go up. A lock can be extended, never shortened, and locked stake cannot be unstaked before expiry.
  • No retroactive rewards. An entry checkpoint means a position only earns on index growth after its weight is established.

On-chain home

Staking is implemented by the staking_vault program (weights, badges, locks) feeding the reward_distributor program (a MasterChef-style accumulator). Both are deployed to devnet and exercised by the test suite. See Programs.

What staking is — and isn't

Staking provides reward weight, badges, and protocol utility. It is not ownership, equity, debt, a dividend, or a fixed-yield product. Rewards are variable and can go to zero. Read the Disclaimer.