| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| reth-v2.3.0-x86_64-apple-darwin.tar.gz.asc | 2026-06-10 | 265 Bytes | |
| reth-v2.3.0-x86_64-unknown-linux-gnu.tar.gz | 2026-06-10 | 32.2 MB | |
| reth-v2.3.0-x86_64-unknown-linux-gnu.tar.gz.asc | 2026-06-10 | 228 Bytes | |
| reth-v2.3.0-aarch64-apple-darwin.tar.gz | 2026-06-10 | 28.6 MB | |
| reth-v2.3.0-aarch64-apple-darwin.tar.gz.asc | 2026-06-10 | 265 Bytes | |
| reth-v2.3.0-aarch64-unknown-linux-gnu.tar.gz | 2026-06-10 | 30.4 MB | |
| reth-v2.3.0-aarch64-unknown-linux-gnu.tar.gz.asc | 2026-06-10 | 228 Bytes | |
| reth-v2.3.0-x86_64-apple-darwin.tar.gz | 2026-06-10 | 30.8 MB | |
| README.md | 2026-06-10 | 10.2 kB | |
| Reth v2.3.0 source code.tar.gz | 2026-06-10 | 14.7 MB | |
| Reth v2.3.0 source code.zip | 2026-06-10 | 15.7 MB | |
| Totals: 11 Items | 152.5 MB | 1 | |

Reth v2.3.0 includes several payload, engine, trie, and transaction-pool performance improvements, including parallel execution work, BAL prewarming, faster proof and trie paths, cheaper transaction-pool insertion, and reduced payload-building overhead. In our benchmark, throughput improved from ~1.4 to ~1.5 Ggas/s, an 8.1% increase.
It also fixes important correctness issues in eth_simulate, proof deserialization, chain-state overlay handling, RLPx buffering, BAL validation, and RocksDB/MDBX handling.
This release continues the Amsterdam / Block Access List rollout with expanded BAL validation, storage, networking, RPC, and payload-builder support. It also adds SSZ proxy coverage for Engine API methods, ERE file support, eth_pendingTransactions, debug account-state RPC endpoints, eth_baseFee, and snapshot overwrite support for reth download --force.
Action Required: SDK users with custom payload, transaction pool, or consensus integrations should review the breaking changes below. Node operators using default configurations do not need migration steps.
Backwards Compatibility
[!IMPORTANT] In case you need to downgrade after running 2.3.x, please downgrade to v2.2.0.
Update Priority
This table provides priorities for which classes of users should update particular components.
| User Class | Priority |
|---|---|
| Payload Builders | Medium |
| Non-Payload Builders | Medium |
See Update Priorities for more information about this table.
Dependencies
Compatible versions:
revm: 40.0.3 alloy-*: 2.0.5 alloy core crates: 1.6.0 alloy-evm: 0.36.0 revm-inspectors: 0.40.1
Breaking Changes
SDK
- Custom built payload types now convert directly into execution data, avoiding reconstruction from sealed blocks during local payload submission (#23928).
EthBuiltPayloadnow stores the recovered block instead of a sealed-only block, keeping recovered sender data available to downstream payload users (#24403).TransactionPool::mark_invalidnow takes an ownedInvalidPoolTransactionErrorinstead of a reference, allowing invalid transaction errors to cross thread boundaries cleanly (#24121).- Consensus opaque error handling uses a single
Other(Arc<dyn Error + Send + Sync>)path with constructor and downcast helpers (#23669). - State hooks are now configured at the
State<DB>level, ensuring everything committed to the database is propagated to the hook (#24654). - In-memory state trie overlay ownership moved into
reth-chain-statebehindStateTrieOverlayManager; provider/tree wiring resolves managed overlays instead of carrying lazy overlay handles through engine state (#24184).
RPC
- Removed stale geth-style
debug_profiling endpoints that only returned no-op responses, along with the unimplementeddebug_executePayloadtrait surface (#24284).
Features
Engine & Payload
- Expanded Block Access List support across payload building, reorg head creation, payload bodies, payload ranges, and block RLP payloads (#24128, #24147, #24153, #24177).
- Added SSZ proxy support for Engine API capabilities, identity,
forkchoiceUpdated, and blob methods (#23936, #24887, #24906). - Passed execution data directly through the debug consensus client provider path and added block access list payload conversion for RPC-backed debug providers (#23969, #23989).
- Added target gas limit payload attributes and cached parent block info for payload jobs (#24502, #24671).
- Made payload-builder state pre-caching from canonical notifications optional via
BasicPayloadJobGeneratorConfig, enabled by default (#24670).
RPC
- Added
eth_pendingTransactions,eth_baseFee, debug account-state endpoints, and builder submission v6 validation (#24286, #24050, #24296, #24170). - Added
eth_simulatestate-root support and improved BAL handling in RPC state caching (#24564, #24037, #24079). - Made
eth_getProofcompatible with geth-style zero hashes for non-existent accounts (#24360). - Added support for
Ethcapabilities per execution-apis#755 (#24298).
P2P & Networking
- Added eth/72, cell request/response handling, shared cell custody, and optional BAL fetching for block ranges (#24012, #24041, #24129, #24364, #23779).
- Added outbound peer rotation to avoid slot saturation (#24776).
- Added
TransactionPool::retain_containsas the inverse ofretain_unknown, retaining only hashes already present in the pool (#24482).
Storage, CLI & Tooling
- Added MDBX-to-RocksDB migration support and storage v2 imports (#24230, #24126).
- Added BAL store retention, notifications, pruning, flushing, bulk inserts, and cache sizing (#23873, #23918, #24023, #24066, #24071, #24002).
- Added
reth download --force, pipeline-stage disabling, database/RPC metrics toggles, and startup pruning-mode logging (#24229, #24436, #24806, #24803, #24367).
Performance
- Added parallel execution support and BAL prewarming improvements (#23924, #25003).
- Improved trie, proof, cursor, and state-root hot paths (#24301, #24354, #24432, #24442).
- Reduced transaction-pool overhead with specialized same-origin batch insertion and preallocated propagation/reorg structures (#25037, #24554, #24555).
Bug Fixes
RPC, Trie & Simulation
- Accepted
B256::ZEROas a non-existent-account marker when deserializing EIP-1186 proofs from geth-compatible sources (#24359). - Fixed
eth_simulategas defaults, fee defaults, block hash exposure, fork handling, precompile self-moves, blocking IO guards,maxUsedGasreporting, and parent beacon block root handling (#24386, #24387, #24388, #24503, #24567, #24705, #24724, #23983, #24652).
Engine, Chain State & Networking
- Fixed chain-state overlay cache deadlock and deferred trie data publication (#24875, #24995).
- Fixed BAL validation, persistence, gas admission, and payload range behavior (#24107, #24122, #24084, #24087).
- Bounded RLPx mux outbound buffering fairly and fixed several peer/BAL request validation paths (#25031, #24113, #24406).