> ## Documentation Index
> Fetch the complete documentation index at: https://docs.autheo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Register validator

> How to submit MsgCreateValidator on Autheo Chain, from pre-flight checks through post-creation verification.

This guide walks through submitting `MsgCreateValidator` on Autheo Chain. Complete [Prerequisites](/nodes/node-setup/node-setup), [Installation](/nodes/node-setup/installation), [Key management](/developers/guides/key-management), [License setup](/nodes/node-setup/license-setup), and [Production deployment](/nodes/node-setup/configuration) 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

```bash theme={null}
autheod query license licenses-by-owner <cosmos-address>
```

Must show `status: BOUND`. If showing `ISSUED`, bind it first:

```bash theme={null}
autheod tx license bind <license-id> \
  --from mykey \
  --chain-id autheo_2127-1 \
  --keyring-backend file
```

<Note>
  If binding fails with `ErrCooldownNotElapsed`, query the cooldown: `autheod query license category-policy 1`
</Note>

## Step 2: Get your consensus public key

```bash theme={null}
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

```bash theme={null}
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.

<Note>
  THEO uses 18 decimal places. **1 THEO = 10¹⁸ aauth**. See [Token overview](/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](/validator-program/economics) for guidance.
</Note>

## Step 4: Verify activation

```bash theme={null}
# 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

```bash theme={null}
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

```bash theme={null}
autheod tx slashing unjail \
  --from mykey \
  --chain-id autheo_2127-1 \
  --keyring-backend file
```

<Warning>
  If your validator was tombstoned from double-signing, unjail is not possible. You must create a new validator with a new consensus key.
</Warning>

### Day-to-day commands

```bash theme={null}
# 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
```
