Skip to main content
Version: 0.16.0

Sync from a Snapshot 📸

It is possible to avoid syncing from the beginning and waiting weeks to catch up by downloading a Juno snapshot. You're downloading a pre-synced Juno database that you can point your node to. This will reduce the syncing time to just a few hours.

Snapshots are provided in a compressed .tar.zst format for faster downloads and reduced storage requirements. It also allows you to directly stream the decompressed file to your computer without needing to download it first.

Additionally, pruned snapshots are offered — they contain only the latest data, greatly reducing storage size.

Network Snapshots​

NetworkDownload Link
Mainnetjuno_mainnet.tar.zst
Mainnet (Pruned)juno_mainnet_pruned.tar.zst
Sepoliajuno_sepolia.tar.zst
Sepolia (Pruned)juno_sepolia_pruned.tar.zst
Sepolia-Integrationjuno_sepolia_integration.tar.zst
tip

Select your network in any tab below and the rest of the page follows — the choice is synced across every command on this page.

Getting snapshot sizes​

Snapshot sizes as of Fri Jul 31 2026:

curl -s -I -L https://juno-snapshots.nethermind.io/files/mainnet/latest | gawk -v IGNORECASE=1 '/^Content-Length/ { printf "%.2f GB\n", $2/1024/1024/1024 }'
# 453.93 GB

Run Juno with a snapshot​

This method downloads and extracts the snapshot in one step without requiring double disk space:

1. Prepare a directory​

Ensure you have a directory to store the snapshots. We will use the $HOME/snapshots directory:

mkdir -p $HOME/snapshots

2. Install zstd​

zstd (Zstandard) is required to decompress and directly stream the snapshots into your system without requiring temporary storage. zstd provides significantly better compression ratios and faster decompression speeds compared to traditional tar compression.

sudo apt-get install zstd

3. Download and extract​

Two-step approach where we first download the snapshot and extract it later. Note that this will create the requirement to have twice the space required for the Juno snapshot. If space is not enough you can always try the alternative method below.

1. Download the snapshot​
wget --continue -O "$HOME/snapshots/juno_mainnet.tar.zst" https://juno-snapshots.nethermind.io/files/mainnet/latest

Or using curl:

curl -L -C - -o $HOME/snapshots/juno_mainnet.tar.zst https://juno-snapshots.nethermind.io/files/mainnet/latest
2. Extract the snapshot​

Create a subfolder inside $HOME/snapshots where to unzip the downloaded snapshot:

mkdir $HOME/snapshots/mainnet/
# Extract to your snapshots directory
zstd -d juno_mainnet.tar.zst -c | tar -xvf - -C $HOME/snapshots/mainnet

Alternative method: Stream the snapshot directly​

warning

Streaming can become unreliable if the network conditions are not extremely good, requiring multiple restarts. Resort to this if disk space is at a premium.

Create a subfolder inside $HOME/snapshots where to stream the download, then download and extract the snapshot directly to your target directory:

mkdir $HOME/snapshots/mainnet/
curl -s -L https://juno-snapshots.nethermind.io/files/mainnet/latest \
| zstd -d | tar -xvf - -C $HOME/snapshots/mainnet

Running Juno with snapshots​

1. Run Juno​

Run the Docker command to start Juno:

docker run -d \
--name juno \
-p 6060:6060 \
-p 6061:6061 \
-v $HOME/snapshots/mainnet:/var/lib/juno \
nethermind/juno \
--http \
--http-port 6060 \
--http-host 0.0.0.0 \
--ws \
--ws-port 6061 \
--ws-host 0.0.0.0 \
--db-path /var/lib/juno \
--eth-node <YOUR-ETH-NODE>
info

Replace <YOUR-ETH-NODE> with your Ethereum node WebSocket URL, and make sure it matches the network's L1: Starknet Mainnet settles on Ethereum Mainnet (e.g. wss://mainnet.infura.io/ws/v3/your-project-id), while Sepolia and Sepolia-Integration settle on Ethereum Sepolia (e.g. wss://sepolia.infura.io/ws/v3/your-project-id). Ensure you use the WebSocket URL (ws/wss) instead of the HTTP URL (http/https).

tip

These examples use Docker. For other ways to run Juno (standalone binary, building from source) and more configuration details, see Running Juno guide.