Skip to main content

Critical files to back up

FileBackup frequencyRisk if lost or misused
config/priv_validator_key.jsonOnce — offline encryptedCannot sign blocks
data/priv_validator_state.jsonBefore every upgrade or migrationDouble-sign risk if old copy restored
config/node_key.jsonOnceP2P identity lost
Operator key mnemonicOnce — offline encryptedCannot recover operator account
config/app.tomlAfter each changeRestorable from defaults
config/config.tomlAfter each changeRestorable from defaults
Never restore from an older copy of priv_validator_state.json. Signing a block at a height already signed results in slashing and permanent tombstoning.

Creating a node snapshot

Always stop the node before creating a snapshot:
sudo systemctl stop autheod
tar -czf autheo-snapshot-$(date +%Y%m%d-%H%M%S).tar.gz \
  -C /path/to/node-home data/
sudo systemctl start autheod

Automated daily snapshots

# Add to crontab -e
0 2 * * * systemctl stop autheod && \
  tar -czf /backups/autheo-snapshot-$(date +\%Y\%m\%d).tar.gz \
    -C /path/to/node-home data/ && \
  systemctl start autheod && \
  find /backups -name 'autheo-snapshot-*.tar.gz' -mtime +7 -delete

Restoring from a snapshot

1

Stop the node

sudo systemctl stop autheod
2

Remove old data

rm -rf /path/to/node-home/data/
3

Extract the snapshot

tar -xzf autheo-snapshot-<timestamp>.tar.gz -C /path/to/node-home/
4

Restore your state file

cp /your/secure/backup/priv_validator_state.json \
  /path/to/node-home/data/priv_validator_state.json
5

Restart

sudo systemctl start autheod
sudo journalctl -u autheod -f

Download official snapshot

wget https://snapshot.autheo.com/data_backup_latest.tar.gz
sudo systemctl stop autheod
rm -rf /path/to/node-home/data/
tar xzvf data_backup_latest.tar.gz
mv data/ /path/to/node-home/data/
cp /secure/backup/priv_validator_state.json /path/to/node-home/data/
sudo systemctl start autheod

Recovery runbooks

Runbook A: Data corruption

Restore from your most recent snapshot. Verify sync:
autheod status | jq '.SyncInfo.catching_up'

Runbook B: Full hardware failure (migration to new host)

  1. Provision new host meeting hardware requirements
  2. Install autheod
  3. Copy key files and config from backup
  4. Restore latest data/priv_validator_state.json
  5. Download a fresh snapshot for data/
  6. Power off the old host completely
  7. Start autheod on the new host

Runbook C: Validator jailed

  1. Fix the cause of jailing
  2. Verify Sovereign license is not REVOKED
  3. Submit unjail: autheod tx slashing unjail --from mykey --chain-id autheo_2127-1 --keyring-backend file
  4. If license stays BOUND, re-delegate to reactivate

Runbook D: License revoked

See License lifecycle for the full reinstatement sequence.