Running Ethereum today. Building what comes next.
ethlambda is an Ethereum consensus client written in Rust by LambdaClass, the team behind the ethrex execution client. It checkpoint-syncs in minutes, serves the standard Beacon API, and pairs with any execution client over the Engine API. Open source under MIT.
What a staker gets
ethlambda already runs validators on public networks, has already crossed a hard fork with them, and is built by a team that has shipped Ethereum clients before.
Ready for mainnet, staking on Hoodi and Sepolia
ethlambda supports mainnet today. Its validators are live on Hoodi and Sepolia, the testnets stakers use to try a client before trusting it with real ETH.
Already through Glamsterdam on Sepolia
When Sepolia activated Glamsterdam, ethlambda validators made the transition successfully and took on the duties Gloas adds, such as publishing payload envelopes and payload timeliness votes.
Built by the team behind ethrex
The engineers behind ethlambda also build ethrex, LambdaClass's execution client. They are not starting from zero: they already know how an Ethereum client is run, tested and shipped.
Proven on the Lean Chain
ethlambda started as a Lean Chain client and still is one, taking part in every pq-interop devnet. That work alongside the other client teams goes into every release.
On-par performance today. Faster each release
ethlambda already performs on par with the established consensus clients. The team has done this before: ethrex got faster with each release, and the same performance work is now under way in ethlambda.
Working on the forks after Glamsterdam
ethlambda takes part in the Hegotá devnets, and the team contributes to EIPs for the forks that follow, so the client tracks protocol changes while they are still being designed.
Get started
Two binaries, no installer. The commands below run ethrex and the beacon node on mainnet, with ethrex validating every block's execution payload. Plan for at least 500 GB of disk for ethrex. The README has the same steps for Docker and for running without ethrex.
# Download both release binaries for the platform picked above curl -LO https://github.com/lambdaclass/ethlambda/releases/latest/download/ethlambda-linux-x86_64 curl -LO https://github.com/lambdaclass/ethrex/releases/latest/download/ethrex-linux-x86_64 chmod +x ethlambda-linux-x86_64 ethrex-linux-x86_64 mv ethlambda-linux-x86_64 ethlambda && mv ethrex-linux-x86_64 ethrex # Install both clients from the LambdaClass Homebrew tap brew install lambdaclass/tap/ethrex lambdaclass/tap/ethlambda mkdir -p beacon-data ethrex-data # A persisted key keeps the node's identity, and so its custody set, stable across restarts openssl rand -hex 32 > beacon-data/node-key # The secret both clients authenticate the Engine API with openssl rand -hex 32 > jwt.hex # In one terminal: ethrex, serving the Engine API on 127.0.0.1:8551 ./ethrex \ --network mainnet \ --datadir ethrex-data \ --authrpc.jwtsecret jwt.hex # In another: the beacon node, synced from a finalized checkpoint and pointed at ethrex. # It advertises this host's public IP so peers can reach it, and serves the Beacon API on 127.0.0.1:5052 ./ethlambda beacon \ --network mainnet \ --checkpoint-sync-url https://beaconstate.ethstaker.cc \ --node-key beacon-data/node-key \ --data-dir beacon-data/db \ --discovery.advertise-ip "$(curl -s https://ifconfig.me)" \ --execution-endpoint http://127.0.0.1:8551 \ --execution-jwt-secret jwt.hex
INFO Beacon checkpoint sync complete slot=15531008 fork=fuluINFO Block parent missing, storing as pending slot=15531079 parent_root=e1b07d52 block_root=9c3a51f0INFO Block imported successfully slot=15531009 proposer=1184302 block_root=5f0e2ab7INFO Beacon block decoded slot=15531094 proposer=905117 fork="fulu" block_root=c44ad3d8INFO Block imported successfully slot=15531094 proposer=905117 block_root=c44ad3d8INFO Beacon block decoded slot=15531095 proposer=1620448 fork="fulu" block_root=4397e224
The same binary runs the Lean Chain
ethlambda started as a client for Lean Ethereum, the post-quantum redesign of the consensus layer, and still is one. ethlambda node runs the Lean Chain with hash-based XMSS signatures, recursive aggregation in leanVM and the 3SF-mini finality gadget. It takes part in every pq-interop devnet and holds the largest validator set run on one so far: 4096 validators in a single devnet.
- Next pq-devnet-6Goals being defined with the other Lean clients Planning
- Active pq-devnet-5One block-level aggregation proof covering several attestation messages, decomposable back into per-message proofs Running
-
Completed devnets, October 2025 to June 2026
- Jun 2026pq-devnet-4Recursive signature aggregation in leanVM; one aggregate per message in a block
- Feb 2026pq-devnet-3Aggregation split out of block production into a separate aggregator role
- Jan 2026pq-devnet-2leanMultisig aggregation and its baseline performance numbers
- Dec 2025pq-devnet-1leanSig signing and verification, aggregation by concatenation
- Oct 2025pq-devnet-0Multi-client coordination on 4-second slots, QUIC and gossipsub, with 3SF-mini
Resources
Documentation for operators, the code itself, live metrics from our nodes, and where the team posts updates.