Snapshot sync
Snapshot sync lets a new node join a network with a recent, compressed copy of the entire application state. The node downloads the copy and extracts it directly into the data directory. This reduces the initial sync time from days to minutes.Do not restore a pruned snapshot onto an archive node. It does not contain the earlier state-store versions that the archive node must retain. Use only a provider-confirmed full-history PebbleDB archive snapshot, or follow the archive-node guidance in Move off RocksDB.
Snapshot providers
You can download snapshots from these providers:- Polkachu: Sei Mainnet snapshots | Sei Testnet snapshots
- Imperator.co
- Stakeme
- kjnodes
Snapshot providers do not consistently label the state-store backend. Before you
restore a snapshot, ask the provider to confirm that it uses PebbleDB. The
post-extraction check below is a second guard against archives that contain an
obvious RocksDB path. It does not replace provider confirmation because some
legacy and custom directory names do not identify their backend.
Clean up & preparation
If the node is not new, back up and clean up the existing node first.Skip this step on a new node.
-
Stop the service
-
Back up validator state (critical for validators)
If your Sei home directory is
$HOME/.sei, back uppriv_validator_key.jsonandpriv_validator_state.json: -
Reset the state
-
Check custom state-store paths
Print the state-store section from
app.toml:Ifss-db-directoryorevm-ss-db-directoryis not empty, the state store may live outside$HOME/.sei/data. Back up what you need. Then move or remove the old state-store data before you restore the snapshot. The generic commands below expect both settings to be empty so that the snapshot’s default paths are used. If you keep custom paths, follow your provider’s placement instructions. Do not reuse a RocksDB directory withss-backend = "pebbledb". -
Remove data and Wasm
Download & restore
These commands are generic examples. Verify the
SNAPSHOT_URL and the extraction command with the provider that you chose above.Prerequisites
Make sure that you have the necessary tools installed (for example,lz4, aria2, pv, and wget).
Download and extract
-
Set the snapshot URL
Replace
<SNAPSHOT_URL>with the link from your chosen provider. -
Extract the snapshot
Most providers compress the
dataandwasmdirectories directly. Stream the archive to avoid storing a second compressed copy:Alternative: parallel download with aria2aria2csupports parallel connections but keeps the compressed archive beside the extracted data. Put the archive on a data disk with enough free space for both:If extraction fails, remove the partially extractedThe-x 16flag sets the maximum connections per server. The-s 16flag splits the file into 16 segments for parallel download. You can adjust these values to match your network conditions.dataandwasmdirectories before you retry. Do not continue to verification. -
Verify every extracted state-store path
The check below scans every backend-labelled default state-store path
instead of stopping at the first result. It catches archives that contain
both PebbleDB and RocksDB:
The function returns a nonzero status for
FAILandUNVERIFIED. Continue only if the provider confirmed PebbleDB and the command printsPASS. A legacy EVM store atdata/evm_ss/does not identify its backend in the directory name. This is why provider confirmation is still required. If you usedaria2c, remove the downloaded archive after this check passes: -
Restore validator state
-
Enable SeiDB and configure PebbleDB
Make sure that SeiDB is enabled and that the state-store backend is PebbleDB:
Confirm that the output includes
ss-backend = "pebbledb". If the key is missing, add it directly below[state-store]before you restart the node. -
Restart the node
-
Monitor logs
Troubleshooting
Q: I cannot download a snapshot. A: Try again later, because providers refresh these snapshots regularly. Also report the problem in the Sei Tech Chat. Q: The snapshot finishes, but I getAppHash errors as soon as regular block sync starts.
A: Make sure that you use the latest version of the node software. These errors usually mean that the snapshot version does not match your node version, or that the snapshot is corrupted. Make sure that you use the correct binary version for the block height of the snapshot.
Q: “No space left on device”
A: Snapshots require significant disk space to download and extract. Make sure that you have enough free space (check with df -h).