Validator FAQ
👀 TL;DR — Key Points
Only the top
max_validatorsby total stake are active.New validators with higher stake can rotate out lower-staked ones.
Validator selection is by bonded stake, not random.
🔒 Max Validator Cap Behavior
If the active set is full (
max_validatorsreached), new validators are created but inactive.They’ll be evaluated at the end of each block for possible inclusion.
⚖️ Validator Set Rotation by Stake (Not Random)
Cosmos SDK sorts all bonded validators by total stake.
Top
max_validatorsare included in the active set for block signing.
🚫 Inactive Validators
Validators below the threshold are not slashed or deleted.
They remain candidates and can still receive delegations.
⏰ When Rotation Happens
The validator set is recalculated at the end of each block (
staking.EndBlocker).Any change in stake (new validator, delegation, slashing) can trigger reshuffling.
A new validator with higher stake replaces a lower-staked one in the next block.
🧪 Example: Suppose max_validators = 10.
10
J
100
—
New K
200
If K joins with more stake than J:
Kenters the active set.Jis rotated out and becomes inactive.
Was this helpful?
