Skip to main content
This guide walks through submitting MsgCreateValidator on Autheo Chain. Complete Prerequisites, Installation, Key management, License setup, and Production deployment before starting.

Pre-flight checklist

  • autheod version returns 1.0.8
  • Sovereign NFT license is in LICENSE_STATUS_BOUND
  • Node is fully synchronized (catching_up: false)
  • Operator account has sufficient aauth balance

Step 1: Confirm your Sovereign license is BOUND

autheod query license licenses-by-owner <cosmos-address>
Must show status: BOUND. If showing ISSUED, bind it first:
autheod tx license bind <license-id> \
  --from mykey \
  --chain-id autheo_2127-1 \
  --keyring-backend file
If binding fails with ErrCooldownNotElapsed, query the cooldown: autheod query license category-policy 1

Step 2: Get your consensus public key

autheod tendermint show-validator --home /path/to/node-home
Copy the full JSON output — you need it in the next step.

Step 3: Submit MsgCreateValidator

autheod tx staking create-validator \
  --amount 1000000000000000000aauth \
  --pubkey $(autheod tendermint show-validator --home /path/to/node-home) \
  --moniker "your-validator-name" \
  --commission-rate "0.10" \
  --commission-max-rate "0.20" \
  --commission-max-change-rate "0.01" \
  --min-self-delegation "1" \
  --from mykey \
  --chain-id autheo_2127-1 \
  --keyring-backend file \
  --home /path/to/node-home \
  --gas auto \
  --gas-adjustment 1.5 \
  --fees 5000000aauth \
  --yes
--amount 1000000000000000000aauth = 1 THEO. Adjust to your desired self-delegation.
THEO uses 18 decimal places. 1 THEO = 10¹⁸ aauth. See Token overview for the full denomination table. Consider your self-delegation amount carefully — validators with higher stake are more competitive for the active set and more attractive to delegators. See Validator economics for guidance.

Step 4: Verify activation

# Check bonded status
autheod query staking validator <autheovaloper-address>

# Check license transitioned to ACTIVE
autheod query license license <license-id>

# Check signing info
autheod query slashing signing-info \
  $(autheod tendermint show-validator --home /path/to/node-home)
Look for BOND_STATUS_BONDED, LICENSE_STATUS_ACTIVE, and tombstoned: false.

Post-creation operations

Edit validator details

autheod tx staking edit-validator \
  --moniker "new-name" \
  --website "https://your-site.com" \
  --from mykey \
  --chain-id autheo_2127-1 \
  --keyring-backend file

Unjail after downtime

autheod tx slashing unjail \
  --from mykey \
  --chain-id autheo_2127-1 \
  --keyring-backend file
If your validator was tombstoned from double-signing, unjail is not possible. You must create a new validator with a new consensus key.

Day-to-day commands

# Check validator status
autheod query staking validator <autheovaloper-address>

# Withdraw staking rewards
autheod tx distribution withdraw-all-rewards \
  --from mykey --chain-id autheo_2127-1 --keyring-backend file

# Check NFT emission rewards
autheod query emissions nft-rewards <cosmos-address>

# Claim NFT emission rewards
autheod tx licensedistribution claim-nft-rewards <license-id> \
  --from mykey --chain-id autheo_2127-1 --keyring-backend file