This guide walks through every step required to run an Autheo Chain validator node on self-managed infrastructure. It covers hardware sizing, binary installation, NFT license setup, production deployment, key management, security hardening, monitoring, and backup/recovery.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.
This guide was authored in collaboration with Zeeve, an approved Autheo managed-hosting partner. Steps apply equally to fully self-hosted setups.
1. Infrastructure requirements
Size your server to meet the following minimums before proceeding. Under-provisioned nodes are more likely to miss blocks and get jailed.| Resource | Minimum | Recommended |
|---|---|---|
| CPU | 8 vCPU | 16 vCPU |
| RAM | 32 GB | 64 GB |
| Storage | 1 TB NVMe SSD | 2 TB NVMe SSD |
| Network | 1 Gbps | 10 Gbps |
| OS | Ubuntu 22.04 LTS | Ubuntu 22.04 LTS |
- MemIAVL (in-memory IAVL tree) requires an extra 8–16 GB of RAM above the process baseline. Factor this into your RAM provisioning.
- Use NVMe storage. Standard SSDs and HDDs will cause I/O bottlenecks under normal block load.
- Ensure your server has a static, publicly reachable IP address and that TCP ports
26656(P2P) and26657(RPC) are open inbound.
2. Binary installation
The docs elsewhere reference v1.0.8. Always use the latest version from the releases page. The installation steps above are identical regardless of version.
3. NFT license system
An NFT license is required before you can register a validator or delegate stake. Licenses originate as ERC-721 tokens on Arbitrum. Bridging one to your Autheo Chain EVM address automatically mints aLicenseRecord on the Cosmos side.
License tiers
| Tier | Role | Annual THEO emission |
|---|---|---|
| Sovereign | Create and operate a validator | ~187,969 THEO/yr |
| Prime | External delegation — higher tier | ~18,797 THEO/yr |
| Core | External delegation — standard tier | ~1,880 THEO/yr |
Bind a Sovereign license (validator operator)
Bind a Prime or Core license (delegator)
Verify license status
ACTIVE status (bound + delegation present) before it earns per-block NFT rewards.
Claim NFT rewards
4. Production deployment
Copy genesis and load a snapshot
Copy the network genesis file into your node home directory:Download and apply the latest snapshot to avoid syncing from block 0:After restoring the snapshot, replace
priv_validator_state.json with your own — never use the snapshot’s validator state file, as it can cause double-signing.Get your delegated (Cosmos) address
cosmos1... address (operator) and autheovaloper1... address (validator).Fund the validator account
Transfer enough THEO to cover:
- Minimum self-delegation (check current network minimum with
autheod query staking params) - Transaction fees for upcoming operations (10–50 THEO is typically sufficient)
Configure peers and create the systemd service
Add seed/peer addresses to Create a systemd service so the node restarts automatically:Wait until the node is fully synced before proceeding:
~/.autheod/config/config.toml:Create the validator
Once synced, submit the Then bind your Sovereign license to the validator (see Section 3).After binding, self-delegate to move the license from
create-validator transaction:BOUND to ACTIVE:5. Authentication and key management
Keyring backends
| Backend | Storage | Use case |
|---|---|---|
file | Encrypted file on disk | Recommended for production; passphrase required on start |
os | OS native keystore | Convenient for development; system-managed |
memory | In-memory only | Testing; keys lost on restart |
test | Unencrypted file | Development only; never use in production |
kwallet / pass | KDE Wallet / GPG pass | Alternative Linux keystores |
file backend with a strong passphrase stored separately from the server.
Key management commands
Consensus key
The consensus key (priv_validator_key.json) is separate from your operator key. It lives in ~/.autheod/config/ and is used to sign blocks. Back it up independently and never share it.
For high-security deployments, consider a remote signer (e.g., tmkms) which keeps the consensus key in a hardware security module and removes it from the validator host entirely.
6. Security best practices
OS hardening
Key security rules
- Store mnemonic phrases offline, in cold storage or a hardware wallet.
- Never store plaintext keys on the validator host.
- Do not reuse operator keys across multiple validators.
- Rotate the consensus key periodically — see the key rotation guide.
Network security
- Do not expose the RPC port (
26657) to the public internet. Use it only over localhost or a trusted internal network. - Restrict JSON-RPC namespaces in
app.toml. Only enable what your use case requires:
| Namespace | Purpose | Recommended exposure |
|---|---|---|
eth | Standard Ethereum JSON-RPC | Localhost or trusted only |
net | Network info | Localhost or trusted only |
web3 | Client version | Localhost or trusted only |
personal | Key management | Disable in production |
debug | Debug tracing | Disable in production |
- Optionally add an address allowlist in
app.tomlunder[json-rpc]to restrict which IPs can call the JSON-RPC endpoint:
Sentry node architecture
For high-value validators, place your signing node behind one or more sentry nodes:- Sentry nodes connect to the public P2P network.
- The validator node connects only to sentry nodes (
private_peer_idsinconfig.toml). - This prevents direct DDoS exposure of the consensus key holder.
7. Monitoring and health checks
Health endpoints
| Endpoint | Method | Description |
|---|---|---|
http://localhost:26657/health | GET | Returns {} if node is running |
http://localhost:26657/status | GET | Sync info, validator pubkey, latest block |
http://localhost:26660/metrics | GET | Prometheus metrics |
Prometheus configuration
Enable metrics in~/.autheod/config/config.toml:
prometheus.yml:
Key metrics and alert thresholds
| Metric | Alert threshold | Notes |
|---|---|---|
tendermint_consensus_height | No increase in 60s | Node has stopped producing/receiving blocks |
tendermint_p2p_peers | < 3 | Node is under-peered; check firewall and seeds |
tendermint_consensus_missed_blocks | > 5% of window | Risk of jailing approaching |
process_resident_memory_bytes | > 80% of total RAM | Risk of OOM kill |
tendermint_consensus_rounds | Consistently > 1 | Consensus instability |
Log monitoring
Grafana dashboard
Import the Cosmos SDK community dashboard (Grafana ID: 11036) for a pre-built view of consensus health, peer count, block height, and memory usage.8. Backup and recovery
Critical files to back up
| File | Location | Description |
|---|---|---|
priv_validator_key.json | ~/.autheod/config/ | Consensus signing key — most critical file |
node_key.json | ~/.autheod/config/ | Node identity for P2P — loss requires re-peering |
| Operator key mnemonic | Secure offline storage | Restores your keys keyring |
genesis.json | ~/.autheod/config/ | Chain genesis (can be re-downloaded but good to have) |
Create a node snapshot
Restore from a snapshot
Export chain state
Further reading
Node setup
Detailed hardware prerequisites and OS configuration for testnet
Key rotation
Safely rotate consensus keys without downtime
Security hardening
Full OS and network hardening reference
Monitoring
Prometheus, Grafana, and alerting setup
Backup and restore
Key backup procedures and snapshot recovery
Incident response
Runbooks for jailing, tombstoning, and hardware failure