Blockchain

Create Validator

How to create a validator on the BitSong network.

Learn how to promote your full node to a validator on the BitSong network. This process involves sending a specialized transaction to the network to declare your candidacy and initialize your self-delegation.

Before proceeding, ensure you have completed the Join the Mainnet guide to install and configure your node. We also recommend reading the Validator FAQ to understand the responsibilities and risks involved.

Create a new validator

To create the validator and initialize it with a self-delegation, run the create-validator command. Replace <key-name> with the name of the private key used to sign transactions.

bitsongd tx staking create-validator \
    --amount=5000000ubtsg \
    --pubkey=$(bitsongd tendermint show-validator) \
    --moniker="<your-moniker>" \
    --chain-id=<chain_id> \
    --from=<key-name> \
    --commission-rate="0.10" \
    --commission-max-rate="0.20" \
    --commission-max-change-rate="0.01" \
    --min-self-delegation="1"
pubkey
string required
The consensus public key of your node. Usually retrieved via bitsongd tendermint show-validator.
moniker
string required
A human-readable name for your validator that will be displayed on explorers.
commission-rate
decimal required
The initial commission rate charged to delegators (e.g., 0.10 for 10%).
commission-max-rate
decimal required
The maximum commission rate this validator can ever charge (cannot be changed later).
commission-max-change-rate
decimal required
The maximum daily increase of the commission rate.
min-self-delegation
int required
The minimum amount of self-delegated tokens required to keep the validator active.
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%.

Confirm your validator is active

Verify that your validator has been successfully created and is recognized by the network. Run the following command:

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

If the command returns output, your validator is active. You are verifying that the bech32 encoded address matches the one in your ~/.bitsongd/config/priv_validator.json file.

Only the top 64 validators by voting power are included in the active validator set. If you are not in the top 64, your validator will be created but will remain in an inactive or unbonding state until it accumulates enough voting power.
Copyright © 2026