π‘Tiered Staking
Tiered staking is a new staking mechanism introduced in Cronos POS Chain v7 (via the x/tieredrewards module). CRO holders can lock their stake for a defined exit commitment period in exchange for a higher APY on top of standard staking rewards.
There are two components to staking rewards under the new model:
Base rewards
The inflation + transaction fee + reserve top up
Must be delegated to a bonded validator
Bonus rewards
Tier Rewards Pool
Must be in a tier position AND delegated to a bonded validator
The base reward floor (~3% APY) is guaranteed by the module - if block fees fall below the target rate, the rewards pool automatically tops up the shortfall. Bonus rewards are a fixed APY on top of the base rate, determined by the tier you choose.
Key things to know:
Voting rights preserved Tier-locked positions count toward governance voting power for the full duration of the lock.
Slashing applies Locked positions are subject to standard validator slashing rules.
Rewards are not automatic Rewards do not arrive in your wallet automatically. They are paid out when settlement runs inside a transaction or via hooks. Besides
claim-tier-rewards, several other scenarios can implicitly claim outstanding rewards too (see Claim base and bonus rewards).Change validator freely You can move your position to a different validator at any time without triggering exit.
Tier Structure
Base
β
β
~3%
β
1
1 year
+2%
~5%
100 CRO
2
2 years
+4%
~7%
100 CRO
3
4 years
+7%
~10%
100 CRO
APY values are illustrative. Actual rates depend on governance decisions and available protocol revenue. All tier parameters are governance-adjustable.
For integration: Always fetch live tier values from the chain. Parameters can change via governance.
Use GET /chainmain/tieredrewards/v1/tiers or chain-maind query tieredrewards tiers.
The on-chain Tier struct fields are: Id, ExitDuration, BonusApy (decimal, e.g. 0.02 = 2%), MinLockAmount, CloseOnly.
The exit commitment is the waiting period that begins when you choose to exit - not when you originally locked your stake. You continue earning full base and bonus rewards throughout this waiting period.
When governance sets a tier to close-only (CloseOnly = true), no new positions can be opened in that tier. Existing positions continue earning rewards and can exit normally. This is how a tier is retired over time.
Testnet vs Mainnet Parameters
Testnet uses shorter durations and lower minimums so full lifecycle flows can be tested in minutes.
Tier 1 exit commitment
1 year
1 minute
Tier 2 exit commitment
2 years
2 minutes
Tier 3 exit commitment
4 years
4 minutes
Min lock amount (all tiers)
100 CRO
1 CRO
Endpoints:
Mainnet
https://rest.mainnet.crypto.org
crypto-org-chain-mainnet-1
Testnet
https://rest.testnet-croeseid-4.cronos-pos.org
testnet-croeseid-4
Position Lifecycle
You can cancel exit at any time using clear-position. The exit timer resets and bonus rewards resume immediately.
Transaction Commands
Replace [YOUR_KEY] and [CHAIN_ID] with your key name and the appropriate chain ID.
Common flags:
Entering a Tier
Option A - Lock fresh CRO into a tier:
tier-id
1, 2, or 3
amount
In basecro (1 CRO = 100,000,000 basecro)
validator-address
Validator operator address (starts with crocncl...)
Optional flag: --trigger-exit-immediately - starts the exit countdown immediately at lock time.
Example:
Option B - Lock an existing delegation (no unbonding required):
Converts your existing stake on that validator into a tier position in one step
Partial commits are supported β you can commit a portion of your delegation
Optional flag:
--trigger-exit-immediately
Example:
Managing a Position
Query the positions by owner:
Add more CRO to an existing position:
Cannot add tokens while an exit is in progress. Cancel the exit with clear-position first.
Move your position (redelegate) to a different validator (does not trigger exit):
Claim base and bonus rewards (explicit):
Multiple position IDs can be claimed in a single transaction (space-separated):
Other user transactions that settle rewards first
The keeper runs the same base + bonus settlement before the main execution of these messages: tier-undelegate, tier-redelegate, add-to-tier-position, exit-tier-with-delegation, and clear-position.
Slashing a position
When the staking module slashes an active redelegation that is mapped to your position, any outstanding rewards on the position will also be claimed.
Rewards are not distributed automatically. claim-tier-rewards is the dedicated explicit claim, and other messages and hook settlements may initiate claims too.
Exiting a Tier
Step 1 - Trigger exit (starts the commitment countdown):
Your position continues earning full base and bonus rewards during the commitment period.
Cancel exit at any time:
Step 2 - After exit commitment elapses, choose one route:
Option A - Instant exit (no unbonding):
Your stake transfers back to your wallet on the same validator immediately. Partial exits are supported that the remaining position must still meet the tier minimum (100 CRO on mainnet).
Option B - Standard unbonding (28-day wait):
Option C - Renew your commitment with clearPosition
After exit commitment elapses, you can use clear-position to cancel the exit instead of withdrawing. This resets the exit timer and resumes bonus rewards, effectively renewing your commitment without needing to re-lock.
Query Commands
REST API Reference
No authentication required. Standard HTTP GET requests.
Mainnet
https://rest.mainnet.crypto.org
Testnet
https://rest.testnet-croeseid-4.cronos-pos.org
x/tieredrewards Endpoints
GET /chainmain/tieredrewards/v1/tiers
All tier definitions
GET /chainmain/tieredrewards/v1/params
Module parameters
GET /chainmain/tieredrewards/v1/position/{position_id}
Single position by ID
GET /chainmain/tieredrewards/v1/positions/{owner_address}
All positions for an owner
GET /chainmain/tieredrewards/v1/positions
All positions (paginated)
GET /chainmain/tieredrewards/v1/estimate_rewards/{position_id}
Estimated pending rewards
GET /chainmain/tieredrewards/v1/rewards_pool_balances
Rewards pool balance
GET /chainmain/tieredrewards/v1/voting_power/{owner}
Voting power by owner
GET /chainmain/tieredrewards/v1/total_delegated_voting_power
Total voting power
GET /chainmain/tieredrewards/v1/validator_data/{validator}
Validator reward data
GET /chainmain/tieredrewards/v1/position_mappings/{position_id}
Unbonding/redelegation mappings
x/inflation Endpoints
GET /chainmain/inflation/v1/params
Inflation parameters (max_supply, decay_rate, burned_addresses)
Pagination
List endpoints that support pagination via query parameters:
Integration
Tier positions are queryable via standard public REST endpoints.
Recommended queries for balance and position tracking
Key fields in position responses
tier_id
Which tier: 1, 2, or 3
amount
Amount of tokens stored in the position
delegated_shares
Shares held by the tier module on behalf of this position
validator
Current validator operator address
exit_triggered_at
Zero value = not exiting
exit_unlock_at
When exit commitment elapses and tokens become withdrawable
last_bonus_accrual
Timestamp of last bonus settlement
Partners signing and submitting transactions use standard Cosmos SDK transaction signing - the same flow as regular staking transactions. No new signing logic is required.
Key Rules and Gotchas
Rewards settlement
Rewards do not distribute automatically. Users either claim directly claim-tier-rewards or through other messages that will initiate an claim.
Exit commitment timing
The commitment period starts when you trigger exit, not when you entered the tier.
Bonus stops at exit unlock
Bonus stops accruing once the exit commitment elapses. Base rewards continue.
No auto-rollover
When exit commitment elapses, the position stays active until the user submits an exit transaction.
Add to position
Cannot add tokens while an exit is in progress. Cancel with clear-position first.
Redelegate freely
Moving to a different validator does not trigger exit or affect tier status.
Partial exits
Instant exit supports partial amounts. Remaining balance must still meet the tier minimum.
Pool can be empty
If the rewards pool has insufficient balance, the claim transaction fails. Retry after replenishment.
Slashing applies
Tier-locked positions are subject to standard validator slashing rules.
Voting rights retained
Tier-locked positions count toward governance voting power throughout the lock.
Validator jailed or removed
Position stays valid. User can redelegate to another validator without triggering exit.
Quick Reference
Lock fresh CRO
tx tieredrewards lock-tier [tier-id] [amount] [validator]
Commit existing stake
tx tieredrewards commit-delegation-to-tier [validator] [amount] [tier-id]
Add to position
tx tieredrewards add-to-tier-position [position-id] [amount]
Redelegate
tx tieredrewards tier-redelegate [position-id] [dst-validator]
Claim rewards
tx tieredrewards claim-tier-rewards [position-id ...]
Trigger exit
tx tieredrewards trigger-exit [position-id]
Cancel exit
tx tieredrewards clear-position [position-id]
Instant exit
tx tieredrewards exit-tier-with-delegation [position-id] [amount]
Start unbonding
tx tieredrewards tier-undelegate [position-id]
Withdraw after unbonding
tx tieredrewards withdraw-from-tier [position-id]
View my positions
query tieredrewards positions-by-owner [address]
Estimate rewards
query tieredrewards estimate-position-rewards [position-id]
View tiers
query tieredrewards tiers
Inflation params
query inflation params
Last updated