Skip to main content
Decaf is a testnet. Operator access may be limited; see Espresso’s announcement and contact form for inclusion. Staking on Decaf uses Ethereum Sepolia and the Decaf stake table.

Requirements

1

Prepare the host

Ensure Docker is installed and your firewall allows the advertised libp2p UDP port you will configure.
Create directories for persistent data and keys:
2

Provide keys

You can pass keys either via a single key file or via two environment variables.
  • Key file path inside the container: /mount/sequencer/keys/0.env
  • Or set:
    • ESPRESSO_SEQUENCER_PRIVATE_STAKING_KEY="BLS_SIGNING_KEY~..."
    • ESPRESSO_SEQUENCER_PRIVATE_STATE_KEY="SCHNORR_SIGNING_KEY~..."
3

Set Decaf environment

Export environment variables (edit values as needed). The Docker image tag below is the current Decaf release.
4

Run a Regular (non‑DA) node

5

Run a DA (sequencer) node with PostgreSQL

Requires a reachable PostgreSQL instance and extra storage.
6

(Optional) Register & delegate on Sepolia

Register the node once to enter the staking set; then delegate to activate.
7

Health checks & networking tips

  • Verify logs: docker logs -f espresso-sequencer
  • Ensure the UDP libp2p port is open from the Internet to your host.
  • The first start needs ESPRESSO_SEQUENCER_CONFIG_PEERS. Subsequent restarts should reuse cached config.
  • Apply TCP optimizations per Espresso docs (sysctl or Docker flags).
Supported networks: Espresso Decaf testnet.