# System Requirements

The hardware requirements for running Reth depend on the node configuration and can change over time as the network grows or new features are implemented.

The most important requirement is by far the disk, whereas CPU and RAM requirements are relatively flexible.

## Chain Specific Requirements

### Ethereum Mainnet

Below are the requirements for running an Ethereum Mainnet node as of 2025-06-23 block number `22700000`:

|           | Archive Node                          | Full Node                             |
| --------- | ------------------------------------- | ------------------------------------- |
| Disk      | At least 2.8TB (TLC NVMe recommended) | At least 1.2TB (TLC NVMe recommended) |
| Memory    | 16GB+                                 | 8GB+                                  |
| CPU       | Higher clock speed over core count    | Higher clock speeds over core count   |
| Bandwidth | Stable 24Mbps+                        | Stable 24Mbps+                        |

### Base Mainnet

Below are the minimum system requirements for running a Base Mainnet node as of 2025-06-23, block number `31900000`:

|           | Archive Node                                 | Full Node                                    |
| --------- | -------------------------------------------- | -------------------------------------------- |
| Disk      | At least 4.1TB (TLC NVMe recommended)        | At least 2TB (TLC NVMe recommended)          |
| Memory    | 128GB+                                       | 128GB+                                       |
| CPU       | 6 cores+, Higher clock speed over core count | 6 cores+, Higher clock speed over core count |
| Bandwidth | Stable 24Mbps+                               | Stable 24Mbps+                               |

:::note
**On CPU clock speeds**: The AMD EPYC 4005/4004 series is a cost-effective high-clock speed option with support for up to 192GB memory.

**On CPU cores for Base**: 5+ cores are needed because the state root task splits work into separate threads that run in parallel with each other. The state root task is generally more performant and can scale with the number of CPU cores, while regular state root always uses only one core. This is not a requirement for Mainnet, but for Base you may encounter block processing latencies of more than 2s, which can lead to lagging behind the head of the chain.
:::

## Disk

Simplest approach: Use a [good TLC NVMe](https://gist.github.com/yorickdowne/f3a3e79a573bf35767cd002cc977b038) drive for everything.

Advanced Storage Optimization (Optional):

-   TLC NVMe: All application data except static files (`--datadir`)
-   SATA SSD/HDD: Static files can be stored on slower & cheaper storage (`--datadir.static-files`)

### QLC and TLC

It is crucial to understand the difference between QLC and TLC NVMe drives when considering the disk requirement.

QLC (Quad-Level Cell) NVMe drives utilize four bits of data per cell, allowing for higher storage density and lower manufacturing costs. However, this increased density comes at the expense of performance. QLC drives have slower read and write speeds compared to TLC drives. They also have a lower endurance, meaning they may have a shorter lifespan and be less suitable for heavy workloads or constant data rewriting.

TLC (Triple-Level Cell) NVMe drives, on the other hand, use three bits of data per cell. While they have a slightly lower storage density compared to QLC drives, TLC drives offer faster performance. They typically have higher read and write speeds, making them more suitable for demanding tasks such as data-intensive applications, gaming, and multimedia editing. TLC drives also tend to have a higher endurance, making them more durable and longer-lasting.

## CPU

Most of the time during syncing is spent executing transactions, which is a single-threaded operation due to potential state dependencies of a transaction on previous ones.

As a result, the number of cores matters less, but in general higher clock speeds are better. More cores are better for parallelizable [stages](https://github.com/paradigmxyz/reth/blob/main/docs/crates/stages.md) (like sender recovery or bodies downloading), but these stages are not the primary bottleneck for syncing.

## Memory

It is recommended to use at least 16GB of RAM.

Most of Reth's components tend to consume a low amount of memory, unless you are under heavy RPC load, so this should matter less than the other requirements.

Higher memory is generally better as it allows for better caching, resulting in less stress on the disk.

## Bandwidth

A stable and dependable internet connection is crucial for both syncing a node from genesis and for keeping up with the chain's tip.

Note that due to Reth's staged sync, you only need an internet connection for the Headers and Bodies stages. This means that the first 1-3 hours (depending on your internet connection) will be online, downloading all necessary data, and the rest will be done offline and does not require an internet connection.

Once you're synced to the tip you will need a reliable connection, especially if you're operating a validator. A 24Mbps connection is recommended, but you can probably get away with less. Make sure your ISP does not cap your bandwidth.

## What hardware can I get?

### Build your own

-   Storage: Consult the [Great and less great SSDs for Ethereum nodes](https://gist.github.com/yorickdowne/f3a3e79a573bf35767cd002cc977b038) gist. The Seagate Firecuda 530 and WD Black SN850(X) are popular TLC NVMe options. Ensure proper cooling via heatsinks or active fans.
-   CPU: AMD Ryzen 5000/7000/9000 series, AMD EPYC 4004/4005 or Intel Core i5/i7 (11th gen or newer) with at least 6 cores. The AMD Ryzen 9000 series and the AMD EPYC 4005 series offer good value.
-   Memory: 32GB DDR4 or DDR5 (ECC if your motherboard & CPU supports it).

### Hosted

-   [Latitude.sh](https://www.latitude.sh): `f4.metal.small`, `c3.large.x86` or better
-   [OVH](https://www.ovhcloud.com/en/bare-metal/advance/): `Advance-1` or better
