<!-- tempo-docs-context -->
> Source: [/docs/cli/node](https://tempo.xyz/developers/docs/cli/node.md)
> Section: [Get Started](https://tempo.xyz/developers/get-started.md). Choose a starting point, send a test payment, get testnet funds, connect a coding agent, and find the SDKs and CLI.
> [Documentation index](https://tempo.xyz/developers/llms.txt) · [Docs skill](https://tempo.xyz/developers/SKILL.md)

> Tempo MCP: Use `search`, `find_pages`, `read_page`, and `code` at `https://mcp.tempo.xyz` for Tempo and related documentation.
> If an indexed page is missing or reflects an older site, read this site’s [documentation index](https://tempo.xyz/developers/llms.txt) and Markdown pages directly.

# `tempo node`

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

## Usage

```bash [Terminal]
tempo node [FLAGS]
```

<span id="tempo-node-examples" />

## Examples

After downloading a snapshot, start an RPC node:

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

Start a validator:

```bash [Terminal]
tempo node --datadir /data/tempo \
  --chain mainnet \
  --consensus.signing-key /etc/tempo/key \
  --consensus.secret /run/tempo/consensus-secret
```

## Flags

### Network

| Flag | Description |
| --- | --- |
| `--follow` | Run as a full node following a trusted RPC endpoint. |
| `--chain <NETWORK>` | Target network: `mainnet` or `moderato`. |
| `--datadir <PATH>` | Data directory for chain state. |
| `--trusted-peers <ENODES>` | Comma-separated enode URLs or ENRs to add as trusted execution P2P peers. |
| `--trusted-only` | Connect to and accept execution P2P connections from trusted peers only. |
| `--disable-discovery` | Disable DNS, discv4, and discv5 peer discovery. |

### RPC server

| Flag | Description |
| --- | --- |
| `--http` | Enable the JSON-RPC HTTP server. |
| `--http.port <PORT>` | JSON-RPC port. Defaults to `8545`. |
| `--http.addr <ADDRESS>` | JSON-RPC bind address. |
| `--http.api <APIS>` | Enabled API namespaces, such as `eth,net,web3,txpool,trace`. |

### Consensus (validators)

| Flag | Description |
| --- | --- |
| `--consensus.signing-key <PATH>` | Path to the validator signing key. |
| `--consensus.secret <PATH>` | Path to the secret that decrypts an encrypted validator signing key. Prefer a named pipe (FIFO) or shell process substitution. |
| `--consensus.datadir <PATH>` | Separate volume for consensus data. |

:::warning
`--consensus.fee-recipient` was removed in `v1.7.0`. Remove it from startup commands and [update the fee recipient onchain](https://tempo.xyz/developers/docs/guide/node/validator-lifecycle#update-the-fee-recipient).
:::

### Transaction pool

| Flag | Description |
| --- | --- |
| `--txpool.filter <ADDRESSES_OR_FILE>` | Optional address filter, available since `v1.14.0`. Accepts comma-separated addresses or a plain-text file with comma- or newline-separated addresses. Rejects transactions whose sender or direct call target matches, at pool admission. |

See [Transaction address filtering](https://tempo.xyz/developers/docs/guide/node/validator-setup#transaction-address-filtering) for examples, file reload behavior, and the limits of this local policy.

### Observability

| Flag | Description |
| --- | --- |
| `--telemetry-url <URL>` | Unified metrics and logs export endpoint. |
| `--telemetry-metrics-interval <DURATION>` | Metrics push interval. Defaults to `10s`. |
| `--metrics <PORT>` | Enable Prometheus metrics on this port. |

<span id="learn-more-about-tempo-node-operations" />

## Related

* [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) — Apply to join the validator set and operate a node
* [Source code](https://github.com/tempoxyz/tempo) — tempoxyz/tempo on GitHub
