Run a Tempo Node

Set up your own RPC node to interact directly with the Tempo network.

RPC Node
Observe & serve queries

Syncs with the network, provides JSON-RPC API access for applications, explorers, and wallets. Does not participate in consensus.

Archive Mode Default
Validator Node
Consensus participation

Participates in block validation and consensus. Requires coordination with the Tempo team.

Contact Required
System Requirements
Minimum and recommended specifications

RPC Node

CPU
Min: 8 cores|Rec: 16+ cores
RAM
Min: 16 GB|Rec: 32 GB
Storage
Min: 250 GB SSD|Rec: 500 GB NVMe
Network
Min: 500 Mbps|Rec: 1 Gbps

Validator Node

CPU
Min: 8 cores|Rec: 16+ cores
RAM
Min: 16 GB|Rec: 32 GB
Storage
Min: 100 GB NVMe|Rec: 1 TB NVMe
Network
1 Gbps
Port Configuration
Required network ports for node operation
PortProtocolUsageAccess
30303TCP/UDPExecution P2PPublic
8000TCPConsensus P2PValidators Only
8545TCPHTTP RPCOptional
8546TCPWebSocket RPCOptional
9000TCPMetricsInternal
Installation Methods
Choose your preferred installation method
Recommended

Pre-built Binary

curl -L https://tempo.xyz/install | bash

Update with: tempoup

Build from Source

cargo install --git https://github.com/tempoxyz/tempo.git

Docker

docker pull ghcr.io/tempoxyz/tempo:0.7.2
Running an RPC Node
Quick start commands to get your node running

1. Download Snapshot

tempo download

Daily snapshots available at snapshots.tempoxyz.dev

2. Start the Node

tempo node --follow --http --http.port 8545 --http.api eth,net,web3,txpool,trace

Systemd Service (Production)

[Unit]
Description=Tempo Node
After=network.target

[Service]
Type=simple
User=tempo
Group=tempo
ExecStart=/usr/local/bin/tempo node \
  --datadir /var/lib/tempo \
  --follow \
  --http \
  --http.port 8545 \
  --http.api eth,net,web3,txpool,trace \
  --metrics 9000
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
Monitoring Commands
Verify your node is running correctly

Check peer count:

cast rpc net_peerCount --rpc-url http://localhost:8545

Check block height:

cast block-number --rpc-url http://localhost:8545

Monitor logs:

journalctl -u tempo -f