Currently, there are 3 sources of BSC snapshot could be used, if you are unclear about their differences, you may refer Clarification of the snapshots first, to decide which snapshot suit you the most.
Usage: usage/legacyfullnode_usage.md
Currently, snapshots are provided as block history data divided by year. Each list includes world states, historical block files, URL, MD5, file size. Users can use the provided tools to quickly download.
The Pruned Snapshot is better for internal/private nodes, it only keeps the latest 9w historical blocks and requires BSC client >=v1.5.5.
| Snapshot Type | Snapshot File | Total Size | Remark |
|---|---|---|---|
| Full Snapshot | mainnet-geth-pbss-20260805 | ~6.6TB | BSC >= v1.7.2 |
| Pruned Snapshot | mainnet-geth-pbss-20260805-pruneancient | ~1.7TB | BSC >= v1.7.2 |
| Snapshot Type | Snapshot File | Total Size | Remark |
|---|---|---|---|
| Full Snapshot | testnet-geth-pbss-20260407 | ~440GB | BSC >= v1.7.2 |
| Pruned Snapshot | testnet-geth-pbss-20260407-pruneancient | ~180GB | BSC >= v1.7.2 |
You can download the mainnet or testnet files separately in the list and unzip them in a same directory. Or you can use the following script:
# install aria2 on your os
yum install aria2
wget https://raw.githubusercontent.com/bnb-chain/bsc-snapshots/main/dist/fetch-snapshot.shParameters:
-ddownload,-eextract,-cverify MD5 checksum,-puse pruned snapshot-D <dir>directory to store downloaded archives-E <dir>extraction target, should be the node's--datadir(e.g./data/bsc), files will be extracted to<dir>/geth/chaindata/...--auto-deletedelete each archive immediately after extraction to save disk space-pauto-appends-pruneancientto the snapshot name, do NOT use with a name that already has the suffix
Quick start (download, verify, extract, auto-delete in one step):
# full snapshot (~6.6TB, needs at least 8TB free, or 7TB with --auto-delete)
bash fetch-snapshot.sh -d -e -c --auto-delete -D /data/snapshot -E /data/bsc mainnet-geth-pbss-20260805
# pruned snapshot (~1.7TB, needs at least 2TB free with --auto-delete)
bash fetch-snapshot.sh -d -e -c -p --auto-delete -D /data/snapshot -E /data/bsc mainnet-geth-pbss-20260805After extraction, files will be at /data/bsc/geth/chaindata/..., start geth with --datadir /data/bsc.
Step by step (download first, extract later):
# step 1: download & checksum
bash fetch-snapshot.sh -d -c -D /data/snapshot mainnet-geth-pbss-20260805
# step 2: extract to datadir
bash fetch-snapshot.sh -e -D /data/snapshot -E /data/bsc mainnet-geth-pbss-20260805You can remove the -c option to skip MD5 checking. Run bash fetch-snapshot.sh --help for all options.
Please keep
fetch-snapshot.shthe latest version.
- mainnet:
- mainnet-geth-pbss-20260525, mainnet-geth-pbss-20260525-pruneancient
- mainnet-geth-pbss-20260408, mainnet-geth-pbss-20260408-pruneancient
- mainnet-geth-pbss-20260306, mainnet-geth-pbss-20260306-pruneancient
- mainnet-geth-pbss-20260202, mainnet-geth-pbss-20260202-pruneancient
- mainnet-geth-pbss-20260104, mainnet-geth-pbss-20260104-pruneancient
- mainnet-geth-pbss-20251205, mainnet-geth-pbss-20251205-pruneancient
- mainnet-geth-pbss-20251114, mainnet-geth-pbss-20251114-pruneancient
- mainnet-geth-pbss-20251013, mainnet-geth-pbss-20251013-pruneancient
- mainnet-geth-pbss-20250906, mainnet-geth-pbss-20250906-pruneancient
- mainnet-geth-pbss-20250806, mainnet-geth-pbss-20250806-pruneancient
- mainnet-geth-pbss-20250715, mainnet-geth-pbss-20250715-pruneancient
- mainnet-geth-pbss-20250605, mainnet-geth-pbss-20250605-pruneancient
- mainnet-geth-pbss-20250520, mainnet-geth-pbss-20250520-pruneancient
- mainnet-geth-pbss-20250501, mainnet-geth-pbss-20250501-pruneancient
- mainnet-geth-pbss-20250404, mainnet-geth-pbss-20250404-pruneancient
- mainnet-geth-pbss-20250310, mainnet-geth-pbss-20250310-pruneancient
- testnet:
Usage: https://github.com/BNB48Club/bsc-snapshots
Special thanks to BNB48Club on contributing another dump of snapshot.
Usage: usage/erigon3_archivenode_usage.md, Erigon 3 release: v1.3.10
Endpoints: erigon_51600000
Usage: reth-bsc snapshot usage
** Archive MDBX currently has block height at around 20260403. An updated snapshot will be released once we have the synced version
** Archive rocksDb is small as TransactionHashNumbers, AccountsHistory, StoragesHistory are currently empty. They will be rebuilt during stage sync
| Type | Network | File | Size | Special Parameters |
|---|---|---|---|---|
| Archive MDBX | BSC-MainNet | 20260729_mainnet_reth_mdbx_static_files_archive_node_v2.tar.zst 20260729_mainnet_reth_mdbx_db_archive_node_v2.tar.zst 20260729_mainnet_reth_mdbx_rocksdb_archive_node_v2 |
4.53 TiB 269 GB 97kB** |
--db.max-size=12TB --db.page-size=8KB |
| Archive MDBX | BSC-TestNet | 20260804_testnet_reth_mdbx_archive_node_v2.tar.zst | 428.54 GiB | - |
| Full MDBX | BSC-TestNet | 20260802_testnet_reth_mdbx_full_node_v2.tar.zst | 278.98 GiB | - |
| Full MDBX | BSC-MainNet | 20260802_mainnet_reth_mdbx_full_node_v2.tar.zst | 3.15 TiB | - |
As the node snapshot of bsc becomes larger and larger, backup, upload and download will become increasingly unmaintainable, and it will occupy more disk space and take up more upload and download time.
At the same time, in order to support the history expiry and state expiry of bsc later, it is planned to split the node snapshot according to historical data and active data, and the following advantages can be obtained:
- When updating the snapshot, only the changed part can be updated to reduce the difficulty of operation and maintenance;
- Support annual backup of historical data, which also helps with the subsequent historical data pruning;
- Support archiving multiple snapshot versions, avoiding wasting disk space;
- Support downloading and decompressing a single part immediately, and snapshot download and decompression can be completed on a smaller disk;