Validator Operations
This guide covers the full lifecycle of operating a Monolythium validator, from initial setup through daily operations and maintenance.
Prerequisites
Before becoming a validator, ensure you have:
- A fully synced node (see Testnet Setup or Mainnet Setup)
- At least 200,000 LYTH (100,000 LYTH for the registration burn + 100,000 LYTH minimum self-delegation)
- A server meeting the requirements (4+ CPU, 16 GB RAM, 500 GB+ NVMe SSD for production)
- Familiarity with the Security Guide
Validator Setup
Using Monarch CLI (Recommended)
The guided setup wizard walks you through each step:
monarch validator setup
This interactive wizard covers:
- Key creation (or recovery from an existing mnemonic)
- Account funding verification
- Validator registration transaction
- Status confirmation
- Monitoring setup
Manual Setup with monod
If you prefer manual control, follow these steps:
1. Create a Validator Key
# Using Monarch
monarch keys account create validator
# Using monod directly
monod keys add validator --keyring-backend file
The mnemonic phrase is displayed exactly once. Write it down immediately and store it in a secure offline location. If you lose the mnemonic and the keyring, you lose access to your validator account permanently.
2. Fund the Account
Send at least 200,000 LYTH to your validator account address:
# Show your validator account address
monarch keys account show validator
# Shows both mono1... (Cosmos) and 0x... (EVM) addresses
Use the faucet (Testnet) or transfer from an existing wallet.
3. Verify Funding
# Check balance
monod query bank balances $(monod keys show validator -a --keyring-backend file)
You need at least 200000000000000000000000alyth (200,000 LYTH with 18 decimal places).
Validator Registration
Using Monarch CLI
monarch validator register \
--from validator \
--moniker "my-validator" \
--amount 100000000000000000000000alyth \
--commission-rate 0.10 \
--website "https://myvalidator.com" \
--details "Reliable validator for Monolythium"
Using monod Directly
Monolythium uses a custom x/validator module that requires a registration burn. The standard monod tx staking create-validator is blocked after genesis — use register-validator instead:
monod tx validator register-validator \
--burn 100000000000000000000000alyth \
--create-validator "$(cat validator.json)" \
--from validator \
--keyring-backend file \
--gas auto \
--gas-adjustment 1.5 \
--chain-id mono_6940-1
Where validator.json uses the proto-compatible format (get your pubkey with monod comet show-validator):
{
"description": {
"moniker": "my-validator",
"identity": "",
"website": "https://myvalidator.com",
"security_contact": "",
"details": "Reliable validator for Monolythium"
},
"commission": {
"rate": "100000000000000000",
"max_rate": "200000000000000000",
"max_change_rate": "10000000000000000"
},
"min_self_delegation": "100000000000000000000000",
"delegator_address": "",
"validator_address": "",
"pubkey": {"@type": "/cosmos.crypto.ed25519.PubKey", "key": "<your-key>"},
"value": {
"denom": "alyth",
"amount": "100000000000000000000000"
}
}
The --create-validator flag expects cosmos.staking.v1beta1.MsgCreateValidator in proto JSON format. Key differences from the CLI shorthand:
amount→value(with nesteddenom+amount)moniker/website/etc. → nested underdescriptioncommission-rate/etc. → nested undercommissionsecurity→security_contact- Commission values use integer format: 10% =
"100000000000000000"(value × 10¹⁸)
Registration Costs
| Component | Amount | Purpose |
|---|---|---|
| Registration Burn | 100,000 LYTH | Burned permanently, prevents spam |
| Minimum Self-Delegation | 100,000 LYTH | Staked, earns rewards, can be unbonded later |
| Total Required | 200,000 LYTH |
Verify Registration
# Using Monarch
monarch validator status
# Using monod
monod query staking validator $(monod keys show validator --bech val -a --keyring-backend file)
Monitoring Your Validator
Quick Status Check
monarch status
This shows block height, sync status, peers, and validator info in a single view.
Health Audit
monarch doctor
The 13-category audit checks system resources, configuration, connectivity, and validator-specific health including missed blocks and jailed status.
Enable Metrics Collection
monarch metrics enable
This installs a cron job that collects 24 data points every 60 seconds. See Node Metrics for details on collected fields, event detection, and storage.
Using Monarch Connect
For a graphical dashboard, use Monarch Connect to monitor your validators remotely via SSH. The Metrics tab provides interactive charts for block height, peers, CPU, memory, disk, validator rank, and missed blocks.
Set Up Alerts
# Configure notification destinations (email, webhook, etc.)
monarch notify setup
# Test notifications
monarch notify test
# Register for Telegram alerts via the monitoring service
monarch monitor register --network Testnet --moniker "my-validator" --role validator
monarch monitor install
Commission Management
View Current Commission
monarch validator status
Edit Commission Rate
monarch validator edit --from validator --commission-rate 0.08
Or with monod:
monod tx staking edit-validator \
--commission-rate 0.08 \
--from validator \
--keyring-backend file \
--chain-id mono_6940-1
- Commission rate cannot exceed the max rate set during registration
- Commission can only change by the max change rate per day
- Plan your commission rate carefully at registration -- the max rate and max change rate are permanent
Unjailing
If your validator misses too many blocks, it will be jailed. To unjail:
1. Check Why You Were Jailed
# View missed blocks and signing info
monarch validator status
# Or query directly
monod query slashing signing-info $(monod comet show-validator)
2. Fix the Underlying Issue
Common causes:
- Node was offline (restart it)
- Node lost peers (update peers with
monarch peers update) - Disk was full (check with
monarch doctor) - Configuration drift (fix with
monarch repair)
3. Wait for the Jail Period to Expire
The jail period is shown in the signing info query. You cannot unjail until this period has passed.
4. Unjail
monarch validator unjail --from validator
Or with monod:
monod tx slashing unjail \
--from validator \
--keyring-backend file \
--chain-id mono_6940-1
Key Backup
Losing your validator key means losing your validator permanently. Back up regularly.
Full Key Backup
monarch backup keys
This creates an encrypted archive of all keys (account, validator, node).
Validator Key Export
monarch keys validator export
This exports the validator signing key encrypted with AES-256-GCM. Store the encrypted file in at least two offline locations.
Recovery
# Restore from backup archive
monarch backup restore /path/to/backup/
# Import a specific validator key
monarch keys validator import /path/to/exported-key.json
# Recover an account key from mnemonic
monarch keys account recover validator
See the Security Guide for detailed backup procedures and the safe validator migration process.
Delegation and Governance
Delegate Additional LYTH
Increase your self-delegation or delegate to your own validator:
monarch stake delegate monovaloper1... 50000000000000000000000alyth --from validator
Unbond LYTH
monarch stake unbond monovaloper1... 50000000000000000000000alyth --from validator
Unbonding takes 3 days. During this period, tokens are locked and do not earn rewards. If the validator is slashed during unbonding, unbonding tokens are also slashed.
Redelegate
Move delegation from one validator to another without waiting for the unbonding period:
monarch stake redelegate monovaloper1... monovaloper2... 50000000000000000000000alyth --from validator
Withdraw Rewards
# Withdraw from a specific validator
monarch rewards --from validator
# Withdraw from all validators
monarch rewards --from validator --all
Governance Participation
Validators are expected to participate in governance:
# List active proposals
monarch gov list
# Vote on a proposal
monarch gov vote 1 yes --from validator
# Submit a new proposal
monarch gov submit --from validator --proposal proposal.json --deposit 10000000000000000000000alyth
Upgrades
Binary Upgrades
When a new monod version is released:
# Upgrade monod to a specific version
monarch upgrade --version v0.2.0
This stops the node, swaps the binary, and restarts.
Monarch Self-Update
monarch upgrade self
This updates both Monarch CLI and OxidePM to the latest versions.
Coordinated Chain Upgrades
For governance-approved chain upgrades at a specific block height:
- The upgrade proposal specifies the block height and new binary version
- The node will halt at the upgrade height
- Install the new binary:
monarch upgrade --version <new-version> - The node will automatically resume
Operational Checklist
Daily
- Check
monarch status-- node synced, not jailed, peers connected - Review missed blocks -- should be near zero
Weekly
- Run
monarch doctor-- fix any warnings - Check disk usage -- plan for capacity
- Review
monarch metrics events-- look for anomalies
Monthly
- Test key backup restoration
- Update Monarch CLI:
monarch upgrade self - Review and vote on governance proposals
- Check for monod updates
Related
- Monarch CLI -- Full CLI reference
- Monarch Connect -- Desktop GUI for management
- Node Metrics -- Metrics deep dive
- Security Guide -- Key management and hardening
- Troubleshooting -- Common issues and fixes
- Monitoring -- General monitoring setup
- Best Practices -- Operational excellence tips