# `tempo node`: CLI command reference

Run a Tempo node. For faster initial sync, first download a snapshot with [`tempo download`](https://tempo.xyz/developers/docs/cli/download). For operational setup guides — system requirements, systemd configs, monitoring, validator onboarding — see [Run a Tempo Node](https://tempo.xyz/developers/docs/guide/node).

Flags grouped by function:

### Network

| Flag | Description |
| --- | --- |
| `--follow` | Run as a full node following a trusted RPC endpoint |
| `--chain <network>` | Target network (`mainnet`, `moderato`) |
| `--datadir <path>` | Data directory for chain state |

### RPC server

| Flag | Description |
| --- | --- |
| `--http` | Enable the JSON-RPC HTTP server |
| `--http.port <port>` | JSON-RPC port (default: `8545`) |
| `--http.addr <addr>` | JSON-RPC bind address |
| `--http.api <apis>` | Enabled API namespaces (e.g., `eth,net,web3,txpool,trace`) |

### Consensus (validators)

| Flag | Description |
| --- | --- |
| `--consensus.signing-key <path>` | Path to validator signing key |
| `--consensus.secret <path>` | Path to the secret used to decrypt an encrypted validator signing key. Prefer a named pipe (FIFO) or shell process substitution. |
| `--consensus.fee-recipient <addr>` | Deprecated validator fee-recipient flag. Migrate to on-chain fee-recipient management via Validator Config V2. |
| `--consensus.datadir <path>` | Separate volume for consensus data |

:::warning
`--consensus.fee-recipient` is deprecated as of `v1.5.2` and will be removed in an upcoming release. See [updating the fee recipient](https://tempo.xyz/developers/docs/guide/node/validator-lifecycle#update-the-fee-recipient).
:::

### Observability

| Flag | Description |
| --- | --- |
| `--telemetry-url <url>` | Unified metrics and logs export endpoint |
| `--telemetry-metrics-interval <dur>` | Metrics push interval (default: `10s`) |
| `--metrics <port>` | Enable Prometheus metrics on this port |

## `tempo node` examples

Download a snapshot and start an RPC node:

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

Start a validator:

```bash
tempo node --datadir /data/tempo \
  --chain mainnet \
  --consensus.signing-key /etc/tempo/key \
  --consensus.secret /run/tempo/consensus-secret \
  --consensus.fee-recipient 0x...
```

## Learn more about Tempo node operations

* [tempo download](https://tempo.xyz/developers/docs/cli/download) — Download snapshots for faster initial sync
* [Run a Tempo Node](https://tempo.xyz/developers/docs/guide/node) — System requirements, systemd, monitoring
* [Become a validator](https://tempo.xyz/developers/docs/guide/node/validator) — Stake and operate a validator node
* [Source code](https://github.com/tempoxyz/tempo) — tempoxyz/tempo on GitHub
