All insights

Apr 2026 · 3 min

Reading a validator's uptime

What 99.9% really means, and what it hides.

Most explorers show a single uptime number per validator. It is useful, but it measures something narrower than most delegators assume.

Where the number comes from

On Cosmos SDK chains, uptime comes from the x/slashing signing info. The chain counts how many blocks the validator failed to sign inside a sliding window:

gaiad q slashing params
gaiad q slashing signing-info <consensus-pubkey>

The explorer figure is usually 1 − missed_blocks_counter / signed_blocks_window. On Cosmos Hub the window is 10,000 blocks. At around 6 seconds per block that is roughly 17 hours.

So "100% uptime" means no missed signatures in about the last day. It says nothing about last week.

Putting numbers on it

  • 99.9% of a 10,000-block window is 10 missed blocks.
  • 99.9% over 30 days is about 43 minutes of downtime.
  • 99.98% over 90 days is about 26 minutes.
  • The jail threshold on Cosmos Hub is 5% signed, so a validator can show 96% and still be nowhere near jail. It is not healthy, but it is not in danger.

When an operator quotes uptime, ask over what period and from what source. A window-based figure from an explorer and a 90-day figure from the operator's own monitoring are different measurements.

What the number hides

  • Late signatures count as missed. A precommit only counts if it lands in the next block's LastCommit. A validator that signs every block but sits far from the rest of the set can still show missed blocks.
  • Missed proposals are not tracked separately. When the proposer is down, the round moves on and the chain continues. Some explorers show proposal history, x/slashing does not.
  • Jail history is not in the figure. A validator jailed last month and unjailed the same day can show 100% today. Check jailed_until in signing info and look for unjail transactions in the account history.
  • Validator uptime is not RPC uptime. A validator can sign every block while its public API, RPC or snapshot service is down. Those are separate services with separate monitoring.
  • Testnet numbers are noisy. Testnets halt, reset and upgrade often. Treat their uptime as a signal of upgrade discipline, not of infrastructure quality.

What to look at instead

  • Missed blocks over a long period, not the current window.
  • Jail and slashing history since the validator was created.
  • How quickly the validator signed again after each chain upgrade height.
  • Governance participation and commission changes over time.
  • Whether the operator publishes incidents when they happen.

Uptime is a floor, not a ranking. Most active validators clear it. The difference between operators shows up in the history around it.