Skip to content

Snapshots

Restoring from a snapshot drastically reduces initial Base node sync time. Snapshots are refreshed regularly.

These steps assume you are inside the cloned node directory (the one containing docker-compose.yml).

  1. Prepare the data directory.

    • Before launching Docker for the first time, create the host directory that will be mapped into the container. The path must match the volumes entry in docker-compose.yml:

      Terminal window
      mkdir ./reth-data
    • If a previous run left an existing data directory, stop the node first (docker compose down), wipe the contents (for example, rm -rf ./reth-data/*), then continue.

  2. Download the snapshot. Pick the row that matches your network and client, and download into the node directory using wget or equivalent.

    NetworkSnapshot typeDownload command (wget …)
    TestnetArchive (recommended)wget -c https://sepolia-reth-archive-snapshots.base.org/$(curl https://sepolia-reth-archive-snapshots.base.org/latest)
    TestnetPrunedwget -c https://sepolia-reth-pruned-snapshots.base.org/$(curl https://sepolia-reth-pruned-snapshots.base.org/latest)
    MainnetArchive (recommended)wget -c https://mainnet-reth-archive-snapshots.base.org/$(curl https://mainnet-reth-archive-snapshots.base.org/latest)
    MainnetPrunedwget -c https://mainnet-reth-pruned-snapshots.base.org/$(curl https://mainnet-reth-pruned-snapshots.base.org/latest)
  3. Extract the snapshot. Replace snapshot-filename with the actual download:

    Terminal window
    tar -xzvf <snapshot-filename.tar.gz>
    # For .tar.zst
    tar -I zstd -xvf <snapshot-filename.tar.zst>
  4. Move the data into place. Extraction typically produces a reth/ directory.

    • Move its contents into the data directory created in step 1:

      Terminal window
      mv ./reth/* ./reth-data/
      rm -rf ./reth # remove the now-empty extracted folder
    • The chain data subdirectories (chaindata, nodes, segments, etc.) must sit directly under ./reth-data — not in a nested folder.

  5. Start the node. Return to the root of your Base node folder and bring it up:

    Terminal window
    cd ..
    docker compose up --build

    The node should pick up syncing from the last block recorded in the snapshot.

  6. Verify and clean up. Tail the logs (docker compose logs -f <service_name>) or use the sync monitoring command to confirm the node starts at the snapshot’s block height. Once verified, delete the downloaded archive (.tar.gz) to reclaim disk space.

If you run the historical proofs ExEx, proof database snapshots are available so you can skip the 24–48 hour backfill.

NetworkDownload command (wget …)
Testnetwget -c https://sepolia-reth-proofs-snapshots.base.org/$(curl https://sepolia-reth-proofs-snapshots.base.org/latest)
Mainnetwget -c https://mainnet-reth-proofs-snapshots.base.org/$(curl https://mainnet-reth-proofs-snapshots.base.org/latest)

The restore process matches the steps above — follow Restoring from a snapshot using this archive.