Understanding liveness requirements
Thex/slashing module tracks missed blocks via a sliding window. Check the current parameters:
signed_blocks_window— the window size (e.g., 10,000 blocks)min_signed_per_window— the minimum fraction that must be signed (e.g., 0.5 = 50%)
(1 - min_signed_per_window) × signed_blocks_window consecutive blocks, the validator is jailed.
Short maintenance (< a few hours)
For brief maintenance within the liveness window, you can stop the node and restart without additional steps:Long maintenance (risk of jailing)
For extended maintenance that exceeds the liveness window, temporarily reduce your validator’s power by unbonding stake:Unbond your self-delegation
The unbonding period is ~21 days. During this period, the THEO cannot be transferred or re-delegated.
Perform maintenance
With zero voting power, the validator is not required to sign blocks. Perform all necessary maintenance.
Resuming after jailing
If the node was jailed during maintenance:- Ensure the node is fully synced:
autheod status | jq '.SyncInfo.catching_up' - Unjail:
- If the license shows
BOUND, re-delegate to restoreACTIVEstatus.
Best practices
- Schedule maintenance during low-activity periods
- Use a monitoring alert to track missed blocks in real time
- For planned extended maintenance, notify delegators in advance
- Always have a snapshot ready to restore quickly if the node fails to sync after restart