System Requirements
These are the minimum and recommended system requirements for running a validator/RPC node. It is likely, that the nodes will not require as much resources at the beginning of the chain, but we still highly recommend to follow the recommended specifications. This will allow for future growth and scalability.
Consensus state can live on a lower performance volume (for example, EBS), but execution state needs NVMe storage.
If you want to separate them, use --datadir for execution data and --consensus.datadir for consensus data.
RPC Node
| Component | Minimum | Recommended |
|---|---|---|
| CPU | 16 cores | 32+ cores |
| RAM | 32 GB | 64 GB |
| Storage | 1000 GB NVMe | 2000 GB NVMe |
| Network | 1 Gbps | 10 Gbps |
Validator Node
| Component | Minimum | Recommended |
|---|---|---|
| CPU | 8 cores | 16+ cores |
| RAM | 16 GB | 32 GB |
| Storage | 100 GB NVMe | 1 TB NVMe |
| Network | 1 Gbps | 1 Gbps |
Cloud provider recommendations
These dedicated servers meet or exceed the recommended specs for both RPC and validator nodes:
| Provider | Server | CPU | RAM | Storage |
|---|---|---|---|---|
| OVH | Advance-4 | Intel Xeon-E 2386G (6c/12t) | 32 GB | 2× 512 GB NVMe |
| Hetzner | AX42 | AMD Ryzen 5 3600 (6c/12t) | 64 GB | 2× 512 GB NVMe |
| AWS | c6id.8xlarge | 32 vCPUs | 64 GB | 1.9 TB NVMe |
Time Synchronization
Tempo validates that block timestamps are not in the future. If your system clock drifts even slightly, your node may reject valid blocks or produce blocks that other validators reject — leading to consensus errors and missed proposals.
Install and enable chrony (recommended)
sudo apt install chrony
sudo systemctl enable --now chronydVerify synchronization
chronyc trackingCheck that System time offset is under a few milliseconds and Leap status is Normal. You can also verify with:
timedatectlConfirm System clock synchronized: yes and NTP service: active.
Cloud providers
Most cloud providers (AWS, Hetzner, OVH) pre-configure NTP, but minimal VM images may ship without a proper NTP daemon. Always verify that chrony or ntpd is installed and running after provisioning a new machine.
Security
For network configuration, key management, release verification, and other security best practices, see the dedicated Node Security page.
Network Tuning
We recommend enabling TCP BBR congestion control with the fq packet scheduler for better P2P and consensus performance.
Add the following to your sysctl configuration (e.g. /etc/sysctl.d/99-tempo-network.conf or equivalent):
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbrApply and verify:
sudo sysctl --system
sysctl net.ipv4.tcp_congestion_control # should print: bbr
sysctl net.core.default_qdisc # should print: fqRestart the node after applying for the changes to take effect.
Ports
| Port | Protocol | Purpose | Expose |
|---|---|---|---|
| 30303 | TCP/UDP | Execution P2P | Public |
| 8000 | TCP | Consensus P2P | Validators only |
| 8545 | TCP | HTTP RPC | Optional (internal for validators) |
| 8546 | TCP | WebSocket RPC | Optional (internal for validators) |
| 9000 | TCP | Metrics | Internal |
Was this helpful?