Skip to main content


This is a step-by-step guide for setting up a Dymension validator. We recommend a production architecture to include sentry nodes described here and Tendermint key management service described here.

To follow this tutorial you must have a full node synced to the current network. Please follow the previous instructions to build a Dymension full node.

1. Retrieve your PubKey

The Consensus PubKey of your node is required to create a new validator. Run:

--pubkey=$(dymd tendermint show-validator)

2. Create a new validator

In order for dymd to recognize a wallet address it must contain tokens. If you've been selected as part

To create the validator and initialize it with a self-delegation, run the following command. key-name is the name of the Application Operator Key that is used to sign transactions.

# The following is an example:

dymd tx staking create-validator \
--amount=<AMOUNT><base-denom> \
--pubkey=$(dymd tendermint show-validator) \
--moniker="<your-moniker>" \
--chain-id=<CHAIN-ID> \
--from=<key-name> \
--commission-rate="0.05" \
--commission-max-rate="0.20" \
--commission-max-change-rate="0.01" \

When you specify commission parameters, the commission-max-change-rate is measured as a percentage-point change of the commission-rate. For example, a change from 1% to 2% is a 100% rate increase, but the commission-max-change-rate is measured as 1%.

3. Confirm your validator is active

If running the following command returns something, your validator is active:

dymd query tendermint-validator-set | grep "$(dymd tendermint show-address)"

You are looking for the bech32 encoded address in the ~/.dymension/config/priv_validator.json file.