A modular, Ethereum L1 & L2 execution client in Rust. Built by @class_lambda.

Our Community Call is tomorrow at 2:30 PM UTC, live on X. We'll be walking through recent progress, key updates, and what's coming next. Join us.
1
3
486
A new @class_lambda player is joining the game! We'll be working on bringing a more unified UX to node operators 🫡
We are working on adding Beacon Chain support to ethlambda, progressively implementing the needed functionality for post-quantum cryptography, and will actively contribute to Ethereum mainnet.
3
9
883
For the first time, ethrex is listed alongside every other execution client in an Ethereum Foundation upgrade announcement. ethrex v28.0.0 is ready for Glamsterdam on Sepolia, activating October 6. We've run every Glamsterdam devnet since devnet-0 and Platåberget since August to get here. Proud to be part of Ethereum's client diversity. If you haven't run ethrex yet, it is always a good time to start.
Glamsterdam is coming, and it is bringing blocks built without trusted relays (and a lot more)! The Sepolia testnet upgrade has been scheduled for 6 October of this year. Hoodi and mainnet dates will be announced separately. Activation table, client releases, and info on the bug bounty program can be found here: blog.ethereum.org/2026/09/17…
2
10
62
2,209
More about what ethrex v28.0.0 includes:
ethrex v28.0.0 schedules Glamsterdam on Sepolia. If you run a Sepolia node, this is the release you need to follow the fork. ⚠️ Sepolia activates Glamsterdam at timestamp 1791294816, which is 2026-10-06 13:53:36 UTC, epoch 353024. The fork time ships in the bundled network config, so there is no configuration change to make, only the upgrade. An earlier version will not follow Sepolia past that point. Mainnet and Hoodi have no Glamsterdam time scheduled yet and are not affected by this deadline. Snap sync also gains EIP-8189 snap/2, which replaces iterative trie-node fetching during state healing with block access list replay. A healing node asks peers for the access lists of the blocks it is missing and replays them instead of walking the trie node by node, and it can serve those lists back over snap/2 once it is synced. Version negotiation is per connection, so snap/1 peers are served exactly as before. It builds on block access lists, so it applies to networks where Glamsterdam is active. Also in v28.0.0: - Storage ranges keep downloading when the pending set is too large to heal, instead of stalling on it. - Engine API and RPC: engine_getBlobsV4 returns compact cell matrices, eth_estimateGas and eth_createAccessList accept a block hash, and callTracer reports correct log indices under onlyTopCall and in debug_traceCall. - Performance: less redundant work around the block pipeline on the Engine API path, no per-payload block copy, single-pass engine_newPayloadV5 deserialization, and JUMPDEST analysis over 64-byte blocks. - Fixes: the initcode admission cap is gated on the fork ordinal, imported execution witnesses carry the correct first block number, the fused JUMPDEST trace step is emitted when its own gas charge exhausts the frame, and the precompile cache is memory-bounded. - L2: gas estimation for commit transactions no longer fails on some nodes. If you run ethrex on Sepolia, upgrade before 6 October. Everyone else, upgrade at your convenience. No resync is needed.
1
3
226
The official @ethPandaOps frames devnet is live: frames-devnet-0 is now the shared testing ground for EIP-8141 frame transactions, and ethrex is running on it. We've hosted a public frames testnet since frames were first proposed as a headliner, so builders and client teams had somewhere to test while the spec settled. @Nethermind validated on it, and @go_ethereum joined the effort along the way, and it did its job. Now that there's an official devnet, we're shutting ours down so everyone tests against one network. Thanks to everyone who built on it, validated on it, and reported bugs. If you want to keep testing frames, move over here: frames-devnet-0.ethpandaops.…
Our testnet continues to be a public testing ground for frame transactions, not only for users who want to build on top of this feature, but also for execution clients who want to test their implementations. A week after the launch, @Nethermind has been able to onboard some validators on it. @go_ethereum now has a full frame transactions implementation passing all the spec tests suite and will be validating in the testnet soon. At today's frame transactions breakout, @Besu_eth expressed that they will attempt to explore the testnet as well. We're excited to continue pushing frame transactions closer to users. If you haven't tried it yet, find out how to do so here: faucet.frames.ethrex.xyz
5
14
966
ethrex v28.0.0 schedules Glamsterdam on Sepolia. If you run a Sepolia node, this is the release you need to follow the fork. ⚠️ Sepolia activates Glamsterdam at timestamp 1791294816, which is 2026-10-06 13:53:36 UTC, epoch 353024. The fork time ships in the bundled network config, so there is no configuration change to make, only the upgrade. An earlier version will not follow Sepolia past that point. Mainnet and Hoodi have no Glamsterdam time scheduled yet and are not affected by this deadline. Snap sync also gains EIP-8189 snap/2, which replaces iterative trie-node fetching during state healing with block access list replay. A healing node asks peers for the access lists of the blocks it is missing and replays them instead of walking the trie node by node, and it can serve those lists back over snap/2 once it is synced. Version negotiation is per connection, so snap/1 peers are served exactly as before. It builds on block access lists, so it applies to networks where Glamsterdam is active. Also in v28.0.0: - Storage ranges keep downloading when the pending set is too large to heal, instead of stalling on it. - Engine API and RPC: engine_getBlobsV4 returns compact cell matrices, eth_estimateGas and eth_createAccessList accept a block hash, and callTracer reports correct log indices under onlyTopCall and in debug_traceCall. - Performance: less redundant work around the block pipeline on the Engine API path, no per-payload block copy, single-pass engine_newPayloadV5 deserialization, and JUMPDEST analysis over 64-byte blocks. - Fixes: the initcode admission cap is gated on the fork ordinal, imported execution witnesses carry the correct first block number, the fused JUMPDEST trace step is emitted when its own gas charge exhausts the frame, and the precompile cache is memory-bounded. - L2: gas estimation for commit transactions no longer fails on some nodes. If you run ethrex on Sepolia, upgrade before 6 October. Everyone else, upgrade at your convenience. No resync is needed.
1
2
12
869
ethrex retweeted
If you want to get a feel for what the future of privacy on Ethereum looks like 👇
EIP-8250 (Keyed Nonces) and EIP-8272 (Recent Roots) are now considered for inclusion in Hegotá. Both run alongside EIP-8141 (Frame Transactions) on our public privacy testnet, where you can already try them. We're excited to keep pushing privacy on Ethereum closer to users. If you haven't tried it yet, find out how here: faucet.privacy.ethrex.xyz/
1
5
30
1,507
The recording from today's Community Call is already available. Catch up on the latest updates and what's coming next, on demand.
3
243
EIP-7906 (Transaction Assertions via State Diff Opcode) was also considered for inclusion in Hegotá. It's live on our Hegotá testnet alongside frame transactions. If you haven't tried it yet, find out how here: faucet.hegota.ethrex.xyz/
EIP-8250 (Keyed Nonces) and EIP-8272 (Recent Roots) are now considered for inclusion in Hegotá. Both run alongside EIP-8141 (Frame Transactions) on our public privacy testnet, where you can already try them. We're excited to keep pushing privacy on Ethereum closer to users. If you haven't tried it yet, find out how here: faucet.privacy.ethrex.xyz/
1
5
13
641
EIP-8250 (Keyed Nonces) and EIP-8272 (Recent Roots) are now considered for inclusion in Hegotá. Both run alongside EIP-8141 (Frame Transactions) on our public privacy testnet, where you can already try them. We're excited to keep pushing privacy on Ethereum closer to users. If you haven't tried it yet, find out how here: faucet.privacy.ethrex.xyz/
1
8
35
3,109
Our Community Call goes live at 2:30 PM UTC on X. We'll walk through the latest progress and what the team is focused on next.
2
4
358
The recording from today's Community Call is already available. Catch up on the latest updates and what's coming next, on demand.
2
1
6
1,120
Don't forget, our Community Call is tomorrow at 2:30 PM UTC on X. We'll cover what we've been shipping and where we're headed next.
3
2
4
628
ethrex v27.0.0 adds state and block overrides to the RPC simulation methods. It also ships the Ethereum Foundation's new bootnode fleet for mainnet, Sepolia, and Hoodi, and stops transaction-admission rules from rejecting simulated calls. The override sets are the headline. eth_call, eth_estimateGas, eth_createAccessList, and debug_traceCall now accept the State Override Set and Block Override Set that geth defines, on both L1 and L2: per-address balance, nonce, code, state, and stateDiff, plus movePrecompileToAddress. Tooling that assumes those parameters exist, from forge script to Tenderly-style and MEV simulators to wallet balance previews and Multicall3 aggregators, now works against an ethrex RPC. Also in v27.0.0: - Bootnodes: the Ethereum Foundation's Node Infrastructure team is replacing the fleet that ships as the EF entries, and the new records are here. Five nodes per network, each serving mainnet, Sepolia, and Hoodi, geographically distributed, multi-cloud, dual stack, and spread across several discovery implementations, so one implementation bug cannot take the whole set down. It is a replacement rather than an addition, and third-party bootnodes and DNS discovery roots are untouched. Nodes pick the records up on upgrade, with no configuration change. - Simulated calls are no longer refused by transaction-admission rules. A call object carries no signature, so EIP-3607's contract-sender rule has nothing to protect: a smart contract wallet previewing its own transaction now gets a result instead of an error saying the sender should not be a contract. Transaction admission and block execution are unchanged. - A method in a namespace that is not enabled now says so, instead of reporting itself as not implemented. --http.api defaults to eth,net,web3, so debug_* probes against a stock node were reading as missing functionality when the handler was simply never reached. - Stateless-validator guests are on ERE v0.17.0, with the ERE version pinned by tag across the guest manifests and the release workflow. If you run ethrex, upgrade. No resync is needed.
2
3
13
640
RT @alignedlayer: Rollup-as-a-Service selected partners: @sovraio SovraChain is a validium built with @ethrex_client, the rust Ethereum cl…
1
18
Thanks @VitalikButerin for sharing the work we are doing with @ethrex_client at @class_lambda. We’re very proud of what we built and I’m confident we will keep pushing the boundaries of what Ethereum can do. Right now I’m making sure we keep working on different important areas of Ethereum. Hopefully in the months to come we will have even better news. This is a two weeks old pic that I forgot to post with the team at the office and remote engineers connected via google meet. I didn’t drink my coffee yet as you can tell 😂.
Replying to @VitalikButerin
Also, @ethrex_client has a testnet for Frames, FOCIL plus companion EIPs that together allow privacy protocols on top of Ethereum to behave as full first-class citizens:
9
11
145
10,685
EIP-8141 (Frame Transactions) is now a Hegotá headliner! We backed frames from the moment they were first proposed as one, and we've been building an implementation in ethrex ever since. That implementation now runs two public testnets: one dedicated to frame transactions, and one dedicated to privacy, which adds the companion EIPs also up for Hegotá: EIP-8250 (Keyed Nonces), EIP-8272 (Recent Roots), and EIP-7805 (FOCIL). The future of Ethereum is looking good, and you can already get a taste of it: faucet.privacy.ethrex.xyz faucet.frames.ethrex.xyz
⚡ ACDE #245 - ultra tl;dr: → 8141 (frame tx) confirmed as a Hegota headliner, alongside 7805 (FOCIL) 🏆 → first 14 DFI decisions made: 7819, 7851, 2488, 8219, 8182, 7645, 7923, 8200, 8188, 8358, 8115, 7862, 7807, 8094 🪓 video and summary: forkcast.org/calls/acde/245/
5
6
43
2,081
Frame transactions testnet post:
EIP-8141 (Frame Transactions) was SFI'd in the last ACDE. We've been frames-pilled since it was first proposed as a headliner, and we started building a reference implementation on ethrex back then. Adoption grew with time: other clients picked frames up, there are now execution spec tests (our implementation matches the latest release), and an official EthPandaOps-hosted frames devnet is getting close. We didn't want to make anyone wait for it, so we're already hosting a public testnet for frame transactions, built on top of Glamsterdam. Validator entry is permissioned; everything else on the chain is not. Anyone can sync, peer, and transact, and the faucet funds test accounts. If your client team is working on frames and wants to validate, reach out and we'll set you up with deposit tokens. RPC, explorer, and frame tooling, including a CLI that builds and submits frame transactions: faucet.frames.ethrex.xyz/
1
1
4
279
Privacy testnet post:
We are running a public testnet for the EIPs behind Ethereum's privacy roadmap, built on top of Glamsterdam. It runs EIP-8141 (Frame Transactions), EIP-8250 (Keyed Nonces), EIP-8272 (Recent Roots), EIP-7805 (FOCIL), and EIP-8369 (VOPS profiles), each implementation up to date with its spec. The frames implementation matches the latest execution spec tests release. Anyone can sync, peer, transact, and use the faucet to fund test accounts. The only permissioned part of the network is validator entry. If your client team is working on any of these EIPs and wants to validate, reach out to us, and we'll get you set up with deposit tokens. RPC, explorer, and tooling notes: faucet.privacy.ethrex.xyz/
2
141