Skip to main content
This checklist is for an operator who has read the Validator overview and decided to run a Cosmos Hub validator. Each step links the page that does the work. Done in order, the steps leave you with a validator in the active set, signing from a remote signer behind sentries, with alerts, and with an upgrade already rehearsed. Every page on the path has a box stating which gaia version its commands were run on and when. Commands that need a live chain were run on a local devnet of that version. Parameter values were read from cosmoshub-4 on the date shown. If the box shows an older gaia version than the one on GitHub releases, check the release notes before trusting a command.

Before the first step

Do the whole path once on the testnet, with the same remote signer, sentries, and monitoring you will use on mainnet. Testnet mistakes cost nothing. Mainnet mistakes cost 0.01 percent of stake for downtime and 5 percent plus permanent removal for a double sign. Hardware comes first: read Hardware and system requirements and plan for the validator host, at least two sentry hosts in different locations, and a signer host.

What each host runs

Three kinds of host, three different jobs:
  • Validator host: gaiad with pex off and peers limited to your sentries, no public ports, and priv_validator_laddr pointing at the signer. It holds the node key and nothing else of value.
  • Sentry hosts: gaiad with the public peer-to-peer port open, the validator listed as a private and unconditional peer, and no keys of value. Two or more, in different networks.
  • Signer host: the remote signer process and the consensus key (or the HSM that holds it), reachable only from the validator host on the privval port.
The operator key stays off all of them, in a hardware wallet or an offline keyring. It is only used when you send a transaction.

The path

1

Join mainnet with a full node

Follow Join mainnet to install gaiad, restore from a snapshot or state sync, and catch up to the chain head. Do not create the validator until catching_up is false. This node becomes your validator. Your sentries are built the same way.
2

Run gaiad as a service

Follow Run gaiad as a service so the node restarts on failure and on reboot, has a file descriptor limit high enough for the peer count, and logs to journald. Everything that follows assumes the service is in place.
3

Create the validator

Follow Create and manage a validator: fund the operator key, write validator.json, send create-validator, and confirm the validator appears on chain. The same page covers editing the description and commission, unjailing, rewards, and a clean exit.
4

Move the consensus key to a remote signer

Follow Remote signing. The consensus key should never be on the host that peers can reach. This is also the one step where a mistake (two signers with one key) ends the validator permanently, so read the operational rules before switching.
5

Put the validator behind sentries

Follow Validator security: sentry topology, the config.toml keys on each side, the firewall rules per host, and where each key goes.
6

Add monitoring and alerts

Follow Monitoring: enable the CometBFT Prometheus endpoint, scrape it, and alert on the signals that matter (not signing, height stalled, no peers, voting power 0). Add a second signal from another machine that queries the chain.
7

Rehearse an upgrade

Follow Upgrade with Cosmovisor. Hub upgrades are governance proposals with a fixed height. Missing one means jail. Run Cosmovisor on the testnet first. Know how to roll back a failed binary swap.

After onboarding

Verify

Your validator is onboarded when all of these are true:
  • The query gaiad query staking validator <cosmosvaloper> shows status: BOND_STATUS_BONDED and jailed: false.
  • On the validator host, curl -s localhost:26657/status | jq .result.validator_info shows the public key held by your remote signer. That host has no priv_validator_key.json with a live key.
  • The validator host accepts peer connections only from your sentries, and the sentries hold the public address.
  • A missed-blocks alert fires when you stop the signer on the testnet, and clears when you start it again.
  • You have upgraded the testnet node through at least one governance upgrade height with Cosmovisor.

Next

Start at Join mainnet.