Staking
Understanding staking mechanisms in Mitosis
What is Staking?
Users can stake (delegate) MITO or gMITO tokens to validators to support network security and earn rewards. Both tokens provide equal consensus voting power and staking rewards.
Supported Tokens
MITO Staking
- Voting Power: 1 MITO = 1 consensus voting power for the validator
- Rewards: Standard staking rewards based on validator performance
- Contract: ValidatorStaking
gMITO Staking
- Voting Power: 1 gMITO = 1 consensus voting power for the validator
- Rewards: Same staking rewards as MITO
- Contract: ValidatorStakingGovMITO
Both tokens contribute equally to validator voting power and receive identical staking rewards, providing users flexibility in their participation method.
Staking Operations
Staking Process
When users stake tokens to a validator:
- Tokens are locked in the respective staking contract
- Validator’s consensus voting power increases by the staked amount
- Users become eligible for staking rewards
- Minimum staking amounts apply
Unstaking Process
Users can unstake their tokens at any time:
- Unstaked amount reduces the validator’s consensus voting power immediately
- Tokens enter an unbonding period before they can be claimed
- Unbonding Period: 21 days (mainnet)
- Minimum unstaking amounts apply
Redelegation
Users can move their staked tokens from one validator to another:
- Process: Directly transfer stakes from validator A to validator B
- Cooldown Period: After redelegation, users cannot perform another redelegation involving either validator A or B for a specified time
- Voting Power: Immediately moves from source to destination validator
- Minimum redelegation amounts apply
Contract Structure
The staking system uses separate contracts for each token type:
Token-Specific Contracts
- ValidatorStaking: Handles MITO token staking operations
- ValidatorStakingGovMITO: Handles gMITO token staking operations
Central Hub
- ValidatorStakingHub: Receives staking information via
notifyStake()
from staking contracts - ConsensusValidatorEntrypoint: Transmits staking data to consensus layer for voting power updates
Staking Rewards
Staking rewards are distributed through the ValidatorRewardDistributor contract:
- Reward Token: All staking rewards are paid in gMITO tokens
- Frequency: Rewards distributed per epoch (1 week on mainnet)
- Calculation: Based on individual TWAB (Time-Weighted Average Balance) and validator performance
- Collection: Users can claim rewards each epoch based on their contribution
For detailed information about reward calculation, distribution mechanisms, and TWAB methodology, see the Rewards section.