> 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

There are three 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                                       | 1 CPU core, 8 GB RAM (non-DA); 4+4 CPU, 8+4 GB RAM, 1.2 TB SSD (DA)                                                                             |
| **Builder**        | Block proposers serving an Espresso chain's slot                    | Pulls transactions from the public mempool, assembles blocks, and submits them to Espresso for finalization                                                       | 2-4 CPU cores, 4-8 GB RAM                                                                                                                       |
| **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'll register in the stake table, attract delegations, and run the node software on the network of your choice.
* **You operate an Espresso-integrated chain and need to propose blocks.** [Run a Builder](/network/developer/operators/running-a-builder.md). The builder is the component that bundles transactions for your chain's namespace.
* **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.
