Validator FAQ

👀 TL;DR — Key Points

  • Only the top max_validators by 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_validators reached), 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_validators are 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.

Rank
Validator
Stake

10

J

100

New K

200

If K joins with more stake than J:

  • K enters the active set.

  • J is rotated out and becomes inactive.

chevron-rightHow does reward share work for Validators on Shannon?hashtag

In Shannon, we are moving away from a custom supplier-like rev share implementation and defaulting to standard Cosmos best practices.

Learn more about validator stake delegation herearrow-up-right.

You can read more about how delegation works on the Cosmos Hubarrow-up-right, which follows similar patterns, or this blog postarrow-up-right

chevron-rightHow many validators can be staked and how many validators can produce blocks?hashtag

An infinite number of validators can be staked; HOWEVER, only validators in the active set will produce blocks. The size of the active set is dictated by the parameter max_validators which can be checked using pocketd query params.

chevron-rightHow do I become an Active Validator?hashtag

Active Validators on Pocket Network are determined by the stake-weight of each validator. Only the top N Validator nodes by stake-weight are eligible to produce blocks.

Each block, the chain evaluates the stake-weight of all Validators and then can promote or demote validators into the active set based on that stake-weight.

chevron-rightWhat is the `max_validators` parameter?hashtag

The max_validators parameter is a parameter that dictates the maximum number of validators that can be in the active set.

It is native to the x/staking module defined by the Cosmos SDK.

Note that Pocket Network has not made any changes to the c/staking module.

You can read more about it at docs.cosmos.network/main/build/modules/stakingarrow-up-right.

chevron-rightHow do I check the value of the `max_validators` parameter?hashtag
chevron-rightHow do I query the active set of validators?hashtag
chevron-rightHow do I delegate additional tokens to my Validator?hashtag

To increase your self-delegation or allow others to delegate to your Validator, use:

Example with specific parameters:

chevron-rightHow do I unbond (undelegate) tokens from my Validator?hashtag

To unbond a portion of your staked tokens:

Example with specific parameters:

Unbonding lock period

Unbonding initiates a lock period during which tokens cannot be transferred. The duration depends on network configuration which can be checked using:

chevron-rightHow do I check if my node is synchronized?hashtag

Use the following command to check your node's synchronization status:

Synchronization status

Ensure that the sync_info.catching_up field is false to confirm that your node is fully synchronized.

Your Full Node must be fully synchronized before creating a Validator.

chevron-rightHow do I stay updated with network upgrades?hashtag

Monitor and follow:

chevron-rightWhat security practices should I follow?hashtag
  • Never share or expose your mnemonic phrases and private keys

  • Store private keys and mnemonics in secure locations

  • Regularly monitor your Validator's status to prevent jailing from downtime

  • When setting up your validator:

    • The commission-rate, commission-max-rate, and commission-max-change-rate should be expressed as decimals (e.g., 0.1 for 10%)

    • Ensure you have sufficient balance for your specified amounts in validator.json and delegations

chevron-rightWhat keys are important for Validators?hashtag

BE ABSOLUTELY SURE YOU HAVE THESE BACKED UP!!!

  • You will need your validator address key (the address you staked from)

  • Your priv_validator_key.json — found in /pocketd/config

  • Your node_key.json — found in /pocketd/config

Last updated

Was this helpful?