EIP-8038 supporting gas cost report
EIP-8038 supporting gas cost report
This report presents the benchmark results for EIP-8038. These estimates help guide the EIP’s gas costs. They do not exactly match its selected values.
Source run and included reports
The input data covers September 25 to October 12, 2026. The fit started on October 13, 2026 at 11:48:40 UTC. It used evm-gasfit 0.4.0. The run covers Besu, Erigon, Ethrex, Geth, Nethermind, and Reth. The benchmarks target the Amsterdam fork.
The following files contain the results and configurations:
- Runtime estimation report: fits for each client, confidence intervals, and regression summaries.
- Glue opcode report: fits for auxiliary opcodes and their quality metrics.
- Gas proposal at 75 Mgas/s: gas estimates, client comparisons, source models, and warnings.
- Selected estimates and all candidate estimates: gas conversions, fitted runtimes, and source models in CSV format.
- Data collection configuration: benchmark suites, date range, fork, and client run filter.
- evm-gasfit configuration: the configuration used for the 75 Mgas/s estimates. Plots are disabled.
Relationship to the EIP values
The benchmark proposal provides the gas estimates for each client at 75 Mgas/s.
The access estimates can be compared directly with the EIP’s access values. Write estimates need one extra step. The benchmark proposal’s COLD_STORAGE_WRITE and COLD_ACCOUNT_*_WRITE include both access and writing. To isolate the write cost, we subtract the access parameter selected for the EIP from each client’s combined cost:
client_STORAGE_WRITE = max(0, client_COLD_STORAGE_WRITE - 2100)
client_ACCOUNT_WRITE_with_code = max(0, client_COLD_ACCOUNT_CODE_WRITE - 3000)
client_ACCOUNT_WRITE_without_code = max(0, client_COLD_ACCOUNT_NOCODE_WRITE - 3000)
The same access cost is subtracted for every client. A result below zero is set to zero. The highest result across clients gives the benchmark estimate before the final pricing choice.
The table shows the access estimates and the write costs calculated above. The final column shows the EIP values. Account estimates have separate rows for accounts with and without code. The EIP uses one access value and one write value for both account types.
| Parameter | Besu | Erigon | Ethrex | Geth | Nethermind | Reth | EIP value |
|---|---|---|---|---|---|---|---|
COLD_STORAGE_ACCESS |
1,823 | 286 | 560 | 1,645 | 583 | 409 | 2,100 |
STORAGE_WRITE |
6,192 | 10,451 | 0 | 9,366 | 4,655 | 6,963 | 10,000 |
COLD_ACCOUNT_ACCESS with code |
2,110 | 1,150 | 784 | 3,494 | 248 | 391 | 3,000 |
COLD_ACCOUNT_ACCESS without code |
1,388 | 312 | 195 | 1,617 | 292 | 398 | 3,000 |
ACCOUNT_WRITE with code |
4,818 | 2,676 | 0 | 8,405 | 2,965 | 7,004 | 9,000 |
ACCOUNT_WRITE without code |
11,964 | 11,491 | 39 | 6,061 | 4,765 | 8,583 | 9,000 |
WARM_ACCESS |
51 | 6 | 10 | 17 | 30 | 6 | 100 |
The storage and warm access estimates are below the existing costs. The EIP keeps those costs at 2,100 and 100 gas, as the original intent of the EIP was to increase costs when needed and not decrease them.
For account access, Geth’s estimate with code is 3,494 gas. Besu is next at 2,110 gas. The EIP selects 3,000, as Geth can still clear a worst-case block with 3,000.
For account writes, Besu and Erigon exceed 9,000 gas in the cases without code. However, in both clients, only the non-existing account case is above 9,000. Given that this case must incur state creation costs in addition to the access costs, both clients still clear a worst-case block with a 9,000 cost.
Fit quality and limitations
The generated proposal has estimates for every parameter and covers all six clients. All selected fits meet the quality thresholds. It lists 21 auxiliary opcode fits that failed those thresholds. Their runtime contributions were not subtracted from the affected target estimates.
The bundled reports retain fit warnings and rejected candidates with weak fits.
These estimates come from synthetic benchmarks on the source run’s clients and state snapshot. Benchmark design, client differences, and skipped auxiliary costs affect the results. The 75 Mgas/s anchor is a conversion target. It does not guarantee this throughput for every client and benchmark case.