Skip to main content

Start Teku from a recent state

To get Teku up and running in only a few minutes, you can start Teku from a recent finalized checkpoint state rather than syncing from genesis.

When starting from a recent checkpoint, Teku downloads historic chain data in the background.


You need access to a beacon node with REST API enabled (for example, Teku) to download the finalized checkpoint state file.

Alternatively, you can use a checkpoint state endpoint from this community-maintained list of checkpoint state endpoints.

The following command downloads a recent finalized checkpoint state from a beacon node, and starts Teku:

teku --eth1-endpoint=http://localhost:8545 \
--validator-keys=/Users/me/mainnet/validator/keys:/Users/me/mainnet/validator/passwords \

The command uses the --checkpoint-sync-url option to download the finalized checkpoint state.


You can also download a finalized checkpoint state file, and specify the location using the --initial-state option. To download the file and name it state.ssz run:

curl -o state.ssz -H 'Accept: application/octet-stream' http://other-node:5051/eth/v2/debug/beacon/states/finalized

And to start Teku, run:

teku --eth1-endpoint=http://localhost:8545 \
--validator-keys=/Users/me/mainnet/validator/keys:/Users/me/mainnet/validator/passwords \