When to use a snapshot
You don’t always need one. With execution-layer sync —--syncmode=execution-layer and --l2.enginekind=reth on op-node — op-reth retrieves blocks over the P2P network instead of deriving each one, which makes the initial sync much faster and, on most OP Stack chains, needs no snapshot at all. Nethermind downloads what it needs automatically.
Use a snapshot when:
- You are running an archive node, or otherwise need to trace the entire chain.
- You simply want to skip the initial sync entirely: a mature chain’s data directory can run to hundreds of gigabytes (OP Mainnet is roughly 700 GB for a full node), and even execution-layer sync takes days from scratch.
On OP Mainnet, syncing
op-reth on a fresh data directory is another reason to use a snapshot: it satisfies the pre-Bedrock state import requirement in one step, even when execution-layer sync is enabled.Before you begin
- Disk space: you temporarily need room for both the compressed archive and the extracted data directory, so plan for roughly twice the snapshot size during the restore, on fast (NVMe-class) storage.
- Tools:
curl(or aria2, which can significantly speed up large downloads),zstd, andtar. - A stopped client: never extract into a data directory an execution client is actively using.
Restore the snapshot
1
Pick a snapshot
Pick a recent snapshot matching your network and client from your chain’s snapshot provider. For OP Mainnet, browse the OP Labs managed Data Directories website; the Snapshots reference page lists the available sources, including third-party providers.
2
Download and verify it
Download the archive and check its SHA256 against the value published on the index page:Don’t skip verification — a truncated multi-hundred-gigabyte download is easy to miss and produces a corrupt database.
3
Stop your node and clear the old datadir
If the node has run before and you want to start clean from the snapshot, stop the execution client and remove (or move aside) the contents of its data directory.
4
Extract into the data directory
Inspect the archive layout first, then extract it into your client’s data directory:
--strip-components=1 removes the top-level wrapping directory inside the tarball. If the inspection shows files already at the archive root, omit it. Use the same path your client is configured with (the --datadir flag for op-reth).5
Start the node and confirm it picked up the snapshot
Start the execution client pointed at the restored data directory, then confirm the node reports the snapshot’s block height — not The node then syncs from the snapshot’s tip to the current head, which takes minutes to hours depending on the snapshot’s age. Once caught up, you can delete the downloaded
0 — as its latest block:.tar.zst archive to reclaim disk space.Next steps
- Running with Docker? The node-from-docker tutorial shows this flow with a bind-mounted
op-rethdata directory. - See the Snapshots reference page for all OP Mainnet download links, including the legacy (pre-Bedrock) data directory for archive nodes.
- If you run into problems, check the node troubleshooting guide or reach out to developer support.