Critical files to back up
| File | Backup frequency | Risk if lost or misused |
|---|
config/priv_validator_key.json | Once — offline encrypted | Cannot sign blocks |
data/priv_validator_state.json | Before every upgrade or migration | Double-sign risk if old copy restored |
config/node_key.json | Once | P2P identity lost |
| Operator key mnemonic | Once — offline encrypted | Cannot recover operator account |
config/app.toml | After each change | Restorable from defaults |
config/config.toml | After each change | Restorable 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
Stop the node
sudo systemctl stop autheod
Remove old data
rm -rf /path/to/node-home/data/
Extract the snapshot
tar -xzf autheo-snapshot-<timestamp>.tar.gz -C /path/to/node-home/
Restore your state file
cp /your/secure/backup/priv_validator_state.json \
/path/to/node-home/data/priv_validator_state.json
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)
- Provision new host meeting hardware requirements
- Install
autheod
- Copy key files and config from backup
- Restore latest
data/priv_validator_state.json
- Download a fresh snapshot for
data/
- Power off the old host completely
- Start
autheod on the new host
Runbook C: Validator jailed
- Fix the cause of jailing
- Verify Sovereign license is not
REVOKED
- Submit unjail:
autheod tx slashing unjail --from mykey --chain-id autheo_2127-1 --keyring-backend file
- If license stays
BOUND, re-delegate to reactivate
Runbook D: License revoked
See License lifecycle for the full reinstatement sequence.