Using a snapshot significantly reduces the initial time required to sync a Base node. Snapshots are updated regularly.
Geth Archive Nodes are no longer supported via snapshots due to performance limitations. For Archive functionality, please use Reth.
If you’re a prospective or current Base node operator, you can restore from a snapshot to speed up your initial sync. Follow the steps below carefully.
These steps assume you are in the cloned node
directory (the one containing docker-compose.yml
).
Prepare Data Directory:
volumes
mapping in the docker-compose.yml
file for the client you intend to use.
docker compose down
), remove the contents of the existing directory (e.g. rm -rf ./geth-data/*
), and proceed.Download Snapshot: Choose the appropriate snapshot for your network and client from the table below. Use wget
(or similar) to download it into the node
directory.
Network | Client | Snapshot Type | Download Command (wget … ) |
---|---|---|---|
Testnet | Geth | Full | wget https://sepolia-full-snapshots.base.org/$(curl https://sepolia-full-snapshots.base.org/latest) |
Testnet | Reth | Archive | wget https://sepolia-reth-archive-snapshots.base.org/$(curl https://sepolia-reth-archive-snapshots.base.org/latest) |
Mainnet | Geth | Full | wget https://mainnet-full-snapshots.base.org/$(curl https://mainnet-full-snapshots.base.org/latest) |
Mainnet | Reth | Archive | wget https://mainnet-reth-archive-snapshots.base.org/$(curl https://mainnet-reth-archive-snapshots.base.org/latest) |
Ensure you have enough free disk space to download the snapshot archive (.tar.gz
file) and extract its contents. The extracted data will be significantly larger than the archive.
Extract Snapshot: Untar the downloaded snapshot archive. Replace <snapshot-filename.tar.gz>
with the actual downloaded filename:
Move Data: The extraction process will likely create a directory (e.g., geth
or reth
).
Move the contents of that directory into the data directory you created in Step 1.
Example (if archive extracted to a geth folder):
Example (if archive extracted to a reth folder - verify actual folder name):
The goal is to have the chain data directories (e.g., chaindata
, nodes
, segments
, etc.) directly inside ./geth-data
or ./reth-data
, not nested within another subfolder.
Start the Node: Now that the snapshot data is in place, start the node using the appropriate command (see the Running a Base Node guide):
Verify and Clean Up: Monitor the node logs (docker compose logs -f <service_name>
) or use the sync monitoring command to ensure the node starts syncing from the snapshot’s block height. Once confirmed, you can safely delete the downloaded snapshot archive (.tar.gz
file) to free up disk space.