Osaka Mainnet Testing
All tests selected for the Osaka hard fork passed! As part of our verification process, the STEEL Team ran a subset of consensus tests from ethereum/execution-specs directly on Ethereum mainnet.
Below you can find details about which tests were executed and the corresponding transaction hashes. The corresponding semi-manual testing effort for Prague can be found in this report.

Summary¶
- Test transactions were sent to mainnet for each EIP using EELS's
executesubcommands. - All tests passed successfully with approximately ~0.0001 ETH gas used.
- The tests focused on ModExp changes, the transaction gas limit cap, CLZ opcode, and P256Verify.
Schedule¶
- Fork Epoch: 411392 (
Dec-03-2025 09:49:11 PM UTC). - Fork Expected Finalization Epoch: 411394 (
Dec-03-2025 10:01:59 PM UTC). - Testing commenced at the fork finalization epoch after the chain finalized successfully.
Test Specification¶
- Tests were run via
execute remotefrom ethereum/execution-specs@2b7dc12.
Included EIPs¶
- EIP-7823: Set upper bounds for MODEXP.
- EIP-7825: Transaction Gas Limit Cap.
- EIP-7883: ModExp Gas Cost Increase.
- EIP-7910: eth_config JSON-RPC Method.
- EIP-7939: Count leading zeros (CLZ) opcode.
- EIP-7951: Precompile for secp256r1 Curve Support.
Excluded EIPs¶
The following EIPs were not testable via EL transactions:
- EIP-7594: PeerDAS (Networking related, not testable via EL transactions).
- EIP-7642: eth/69 (Networking related, not testable via EL transactions).
- EIP-7892: Blob Parameter Only ('BPO') Hardforks (Requires many blob transactions included in the same block, not easily achievable via
executecommand). - EIP-7917: Deterministic proposer lookahead (CL only change).
- EIP-7918: Blob base fee bounded by execution cost (Environment dependent, not testable via
executecommand). - EIP-7934: RLP Execution Block Size Limit (Environment dependent, not testable via
executecommand). - EIP-7935: Set default gas limit to 60M (Environment dependent, not testable via
executecommand).
EIP-7823 (ModEXP Upper Bound)¶
Description¶
- Executed the pre-compile at the exact boundary and above the boundary.
Command¶
Tests: test_eip_mainnet.py@2b7dc12
uv run execute remote --fork=Osaka -m mainnet \
tests/osaka/eip7823_modexp_upper_bounds/test_eip_mainnet.py \
--rpc-seed-key $MAINNET_RPC_SEED_KEY \
--rpc-endpoint $MAINNET_RPC_ENDPOINT \
--chain-id $MAINNET_CHAIN_ID
Transaction Hashes¶
| Test ID | Transaction Hash |
|---|---|
test_modexp_boundary[fork_Osaka-state_test-base-boundary-1024-bytes] |
0x5be8356a... |
test_modexp_over_boundary[fork_Osaka-state_test-base-over-boundary-1025-bytes] |
0x1eaf26a2... |
Outcome¶
PASS - 2/2 tests passed.
EIP-7825 (Transaction Gas Limit Cap)¶
Description¶
- Sent a transaction with the gas limit cap and above.
Command¶
Tests: test_eip_mainnet.py@2b7dc12
uv run execute remote --fork=Osaka -m mainnet \
tests/osaka/eip7825_transaction_gas_limit_cap/test_eip_mainnet.py \
--rpc-seed-key $MAINNET_RPC_SEED_KEY \
--rpc-endpoint $MAINNET_RPC_ENDPOINT \
--chain-id $MAINNET_CHAIN_ID
Transaction Hashes¶
| Test ID | Transaction Hash |
|---|---|
test_tx_gas_limit_cap_at_maximum[fork_Osaka-state_test] |
0x95275083... |
test_tx_gas_limit_cap_exceeded[fork_Osaka-state_test] (funding) |
0xc5ac1131... |
test_tx_gas_limit_cap_exceeded[fork_Osaka-state_test] (refund) |
0x46d32a99... |
Note: test_tx_gas_limit_cap_exceeded had no direct test transaction as expected (tx was rejected).
Outcome¶
PASS - 2/2 tests passed.
EIP-7883 (ModEXP Gas Repricing)¶
Description¶
- Triggered the gas cost changes in the ModExp precompile with five test cases.
Command¶
Tests: test_eip_mainnet.py@2b7dc12
uv run execute remote --fork=Osaka -m mainnet \
tests/osaka/eip7883_modexp_gas_increase/test_eip_mainnet.py \
--rpc-seed-key $MAINNET_RPC_SEED_KEY \
--rpc-endpoint $MAINNET_RPC_ENDPOINT \
--chain-id $MAINNET_CHAIN_ID
Transaction Hashes¶
| Test ID | Transaction Hash |
|---|---|
test_modexp_different_base_lengths[fork_Osaka-state_test-32-bytes-long-base] |
0x26d0f8b5... |
test_modexp_different_base_lengths[fork_Osaka-state_test-33-bytes-long-base] |
0x71470510... |
test_modexp_different_base_lengths[fork_Osaka-state_test-1024-bytes-long-exp] |
0xca67e591... |
test_modexp_different_base_lengths[fork_Osaka-state_test-nagydani-1-pow0x10001] |
0x10d904c6... |
test_modexp_different_base_lengths[fork_Osaka-state_test-zero-exponent-64bytes] |
0xf2ae6f73... |
Outcome¶
PASS - 5/5 tests passed.
EIP-7910 (eth_config JSON-RPC Method)¶
Description¶
- Ran
execute eth-configafter the fork to validate remaining BPO forks.
Command¶
Transaction Hashes¶
This was a regular call to a node's JSON RPC to request information; it did not require sending a transaction.
Outcome¶
PASS - 6/6 tests passed against 5 mainnet RPC endpoints (Geth, Reth, Nethermind, Erigon, and Besu). All returned consistent results confirming correct
eth_config implementation.
EIP-7939 (CLZ)¶
Description¶
- Executed the CLZ opcode with different inputs.
Command¶
Tests: test_eip_mainnet.py@2b7dc12
uv run execute remote --fork=Osaka -m mainnet \
tests/osaka/eip7939_count_leading_zeros/test_eip_mainnet.py \
--rpc-seed-key $MAINNET_RPC_SEED_KEY \
--rpc-endpoint $MAINNET_RPC_ENDPOINT \
--chain-id $MAINNET_CHAIN_ID
Transaction Hashes¶
| Test ID | Transaction Hash |
|---|---|
test_clz_mainnet[fork_Osaka-state_test-clz-8-leading-zeros] |
0x9ec7c2d9... |
test_clz_mainnet[fork_Osaka-state_test-clz-all-zeros] |
0x7f9ea62c... |
Outcome¶
PASS - 2/2 tests passed.
EIP-7951 (P256Verify)¶
Description¶
- Executed the precompile with different inputs, including a negative test that used a signature valid only on secp256k1.
Command¶
Tests: test_eip_mainnet.py@2b7dc12
uv run execute remote --fork=Osaka -m mainnet \
tests/osaka/eip7951_p256verify_precompiles/test_eip_mainnet.py \
--rpc-seed-key $MAINNET_RPC_SEED_KEY \
--rpc-endpoint $MAINNET_RPC_ENDPOINT \
--chain-id $MAINNET_CHAIN_ID
Transaction Hashes¶
| Test ID | Transaction Hash |
|---|---|
test_valid[fork_Osaka-state_test--valid_r1_sig-] |
0x6911ce58... |
test_invalid[fork_Osaka-state_test--invalid_r1_sig_but_valid_k1_sig-] |
0x63e3c33f... |
Outcome¶
PASS - 2/2 tests passed.