> For the complete documentation index, see [llms.txt](https://docs.espressosys.com/network/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.espressosys.com/network/developer/operators.md).

# Run Espresso Infrastructure

Pick the right Espresso infrastructure role for your team: validator or RPC Node.

There are two operator roles you can run against Espresso. Each one serves a different purpose, has different hardware needs, and is run by a different kind of team.

## Pick your role

| Role               | Who runs it                                                         | What it does                                                                                                                                                      | Hardware                                                                                                                                        |
| ------------------ | ------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| **Validator node** | Stake operators (institutional and independent) earning ESP rewards | Participates in [HotShot consensus](/network/network/networks.md#protocol-documentation), finalizing blocks across Espresso                                       | 4 CPU cores, 8 GB RAM; see [hardware requirements](/network/developer/operators/run-a-node.md#hardware-requirements) for disk                   |
| **RPC Node**       | Chains and applications integrated with Espresso                    | Sits in front of an existing rollup full node and serves standard EVM JSON-RPC backed by Espresso finality (the `espresso` block tag), without modifying the node | Lightweight; runs alongside your full node. See the [Espresso Rollup Node Proxy](https://github.com/EspressoSystems/espresso-rollup-node-proxy) |

## When to run which

* **You hold ESP and want to participate in consensus / earn rewards.** [Run a Validator Node](/network/developer/operators/run-a-node.md). You register in the stake table, attract delegations, and run the node software on Mainnet or Decaf.
* **You want fast, low-latency reads of state settled by Espresso, in front of an existing full node, without modifying it.** [Run an RPC Node](/network/developer/operators/running-rpc-node.md). It proxies your full node's JSON-RPC and resolves the `espresso` block tag to Espresso-finalized state.

## Related references

* [Networks](/network/network/networks.md): public endpoints and contract addresses for Mainnet and Decaf Testnet.
* [Stake Table Contract](/network/network/networks.md#mainnet): validator registration and stake delegation contract addresses on Ethereum.
* [Reading via the RPC Node](https://github.com/EspressoSystems/gitbook/tree/main/concepts/reading-via-rpc-node.md): how the proxy serves Espresso finality in front of an existing full node.
