Evaluated on: · Spec revision: 2025-09-08 · 2fd1e5e98e
Scope at the cutoff. At FORK_BLOCK, this revision of EIP-2780 lowers the transaction intrinsic base cost TX_BASE_COST from 21,000 to 6,000 for every transaction type. It also adds a GAS_NEW_ACCOUNT = 25,000 surcharge to intrinsic gas when all of these hold: the transaction is not a CREATE, value > 0, `to` is not a precompile, and `to` is "non-existent per EIP-161 emptiness" at the start of transaction execution. Calldata pricing, access-list pricing and the EIP-1559 mechanics are explicitly unchanged. Typed transactions from EIP-2930, EIP-1559 and EIP-7702 inherit the new base. Because of the surcharge, intrinsic gas, and so transaction validity (gas_limit ≥ intrinsic), now depends on account state. The EIP asks for Perfnet benchmarks of blocks made entirely of ETH transfers and of minimal contract calls.
- Evaluator
- LLMChecklist v3
- Confidence
- Medium
- Under-specified at assessment cutoff
- Yes — 4 criteria affected
- Plausible range
- 22–26 (Medium–High)
- Assessment cutoff
- 2025-09-12 · EIP revision
2fd1e5e98e(2025-09-08)
Score bands · Checklist revision 3
- Low <12
- Medium 12–22
- High ≥23
28 criteria scored 0–3 (4 in exceptional cases; cross-EIP interactions is uncapped); nominal maximum 84.
Complexity profile
Each segment is one criterion's contribution to the LLM total. Hover or focus a segment for its score and rationale.
Top complexity drivers
- EVM Gas rule changes3
- New or modified transaction validity mechanisms3
- Patterns affecting pre-existing tests3
- Performance risks3
Under-specified at assessment cutoff: Yes
The EIP text available at the assessment cutoff left material behavior unresolved. The affected criteria and the plausible total range record that uncertainty.
Why: The surcharge condition uses 'non-existent per EIP-161 emptiness', which mixes two states that EIP-161 keeps separate. 'Start of transaction execution' is not ordered relative to the sender nonce/fee debit or EIP-7702 authorization processing. The EIP does not say how the surcharge combines with the EIP-7623/7976 calldata floor, which hardcodes the base outside max().
Plausible total
22–26
recorded score 25 · plausible tiers Medium, High
Unresolved questions at the cutoff (4)
- Is GAS_NEW_ACCOUNT charged when `to` exists but is empty (zero nonce, zero balance, no code)?
- Is recipient existence evaluated before or after EIP-7702 authorizations are applied in the same transaction?
- Is GAS_NEW_ACCOUNT included in, added outside of, or overridden by the EIP-7623/7976 calldata floor in gas used and in the gas_limit validity check?
- Does 'Replace any hardcoded 21,000' also change the floor formula's base constant to 6,000? This is implied but not stated for EIP-7623.
Notable ambiguities noted by the assessor (5)
- 'Non-existent per EIP-161 emptiness' conflates non-existent and empty accounts.
- Timing of the existence check relative to EIP-7702 authorization processing and the sender debit.
- How the surcharge combines with the EIP-7623/7976 calldata floor.
- The intended precompile set is assumed to be the fork's active precompiles; the EIP does not state it.
- SGAS and GAS overlap for the new-account surcharge; the classification is a judgement call.
Criterion breakdown
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| EVM Gas rule changes | 3 | A new accounting rule (a state-dependent surcharge in intrinsic gas) is added. At the same time the base charge changes, which alters the expected gas used for every baseline transaction. This meets level 3. |
Confidence: High Uncertainty: The surcharge could be read as a parameterised extension of intrinsic gas rather than a new mechanism (level 1). However, it adds a state-dependent condition that intrinsic gas did not have before. |
| New or modified transaction validity mechanismsUnder-specified | 3 | Intrinsic-gas validity was previously a function of transaction fields only; it now needs a state read. Testing it requires coordinated transaction/state scenarios. Examples: an earlier transaction in the same block creates or funds the recipient, which changes a later transaction's intrinsic gas and validity; empty-but-existing pre-state accounts; type-4 authorizations touching `to`. Validity tests therefore need pre-state and intra-block sequencing designed together, not just a parameter change. |
Confidence: Medium Uncertainty: If the state dependency can be covered by local pre-state variations within existing intrinsic-gas tests, level 2 applies. |
| Patterns affecting pre-existing tests | 3 | One common rule change (the base intrinsic cost) changes expected gas used, receipts' cumulative gas, sender and coinbase balances, and intrinsic-gas validity boundaries in ordinary cases across every transaction-carrying family: opcodes, calls, creates, access lists, 1559 fees, 7702 and 7623 floor tests. Tests that fund new accounts by top-level transfer also pick up the surcharge. |
Confidence: High |
| Performance risks | 3 | The cheaper fixed per-transaction cost raises the per-block transaction count. That stresses several client subsystems together: signature recovery, per-transaction state and trie updates, receipt and root computation, code loading for tx.to (maximum code size per transaction), and the block-size cap interaction. The benchmark assumption that a block holds few transactions is invalidated, so integrated adversarial stress testing is needed. |
Confidence: Medium Uncertainty: The EIP claims existing headroom (>300 MGas/s for transfers), but that claim is not supported by supplied data. |
| Edge/boundary conditions | 3 | Several boundary-sensitive mechanisms change: (1) the intrinsic gas_limit boundary at the new base; (2) the surcharge condition, which forms an elevated matrix; (3) the calldata floor-versus-intrinsic boundary. The matrix dimensions are: value (0 / >0); recipient state (non-existent, existing-but-empty, balance-only, nonce-only, code or 7702 delegation, created earlier in the same block); precompile or not; create or call; transaction type (legacy, 1, 2, 3, 4); and gas_limit at intrinsic or intrinsic−1. These combine to change validity. |
Confidence: High |
| Cross-EIP interactionsUnder-specified | 3 | The new intrinsic-gas rule couples EIP-161 existence semantics, the EIP-7623 (and possibly EIP-7976) floor, and EIP-7702 authorization effects within one validity computation. Coordinated scenarios are needed across these interactions, not only independent checks. |
Confidence: Medium Uncertainty: Whether EIP-7976 is in the same fork is not established. Interacting EIPs: EIP-161, EIP-7623, EIP-7702, EIP-7976, EIP-2930, EIP-1559, EIP-2718, EIP-2929, EIP-7934 |
| State gas accounting changes | 2 | The existing new-account state-growth charge is applied at a new charging site (top-level transfer intrinsic gas). No new state-gas dimension or spill rule is introduced. This matches level 2: charging added at a new site using an existing mechanism. |
Confidence: Low Uncertainty: The baseline has no separate state-gas dimension; the charge is paid in ordinary execution gas. An evaluator could therefore assign this entirely to GAS and score 0 here. |
| Security risksUnder-specified | 2 | Two bounded interactions change: per-transaction DoS pricing, and the assumption that intrinsic gas is stateless. The second affects transaction-pool admission, builders and estimation, because validity can change with recipient state. These need targeted integration review. A shared authorization invariant across many components is not clearly established. |
Confidence: Medium Uncertainty: If the stateless-intrinsic-gas invariant is treated as shared across txpool, builder and import, level 3 could apply. |
| Unspecified behavior requiring cross-client consensusUnder-specified | 2 | Several localized questions have competing outcomes. (a) Is an existing-but-empty recipient charged? (b) How does the surcharge combine with the EIP-7623 floor? (c) Is existence evaluated before or after EIP-7702 authorization processing, or after the sender nonce/fee debit? All three require client agreement before expected values can be fixed. |
Confidence: Medium Uncertainty: The EIP-7702 spec is not supplied, so the ordering of its authorization processing relative to intrinsic gas is an evidence gap. |
| New test-framework primitives | 1 | The framework's fork-aware intrinsic-gas calculator needs a local extension: a recipient-existence and precompile input. No new abstraction is required. |
Confidence: Medium Uncertainty: If the framework computes intrinsic gas purely from transaction fields, adding a state-aware variant could be judged a new construction abstraction (level 2). |
Show 18 zero-score criteria
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Added opcodes | 0 | None. |
|
| Modified opcodes | 0 | No instruction's semantics change. |
|
| Added precompiles | 0 | None. |
|
| Modified precompiles | 0 | None. |
|
| Added system contracts | 0 | None. |
|
| Modified system contracts | 0 | None. |
|
| State-access ordering within opcode execution | 0 | No instruction's state-access or gas-charge ordering changes. The new pre-execution read of `to` happens at the transaction level, not inside an opcode. |
Uncertainty: No block-level access list specification is supplied. Whether the intrinsic-gas read of `to` must be recorded there is outside the supplied evidence. |
| Blob gas accounting changes | 0 | No blob-gas accounting changes. |
|
| New EVM gas refund | 0 | No new refund. |
|
| New transaction types | 0 | None. |
|
| New block / header fields | 0 | None. |
|
| Encoding changes (RLP/SSZ) | 0 | No schema changes. |
|
| Block syncing changes | 0 | The changes are execution and validity rules only. |
|
| New fork activation mechanism | 0 | No activation-time state transition. |
|
| Engine API changes | 0 | None. |
|
| Transition-tool interface changes | 0 | No new input or output field is required. The state-dependent intrinsic gas is computed internally from the existing pre-state input. |
Uncertainty: No transition-tool documentation is supplied to confirm interface reuse. |
| New invariant on pre-existing tests | 0 | Only existing values change, which is counted under PAT. |
|
| Cryptography | 0 | No cryptographic rule changes. |
|
Assessment provenance
- Assessed EIP revision
ethereum/EIPs@2fd1e5e98eEIPS/eip-2780.md committed 2025-09-08 · information cutoff 2025-09-12T13:12:54Z- Rubric
- Checklist revision 3 ·
ethspecs/pm@fe2f793b03 - Evaluator
- Opus 5.5 (
claude-opus-5-5) at high effort, one tool-less call per EIP · isolationbubblewrap_claude_p_no_tools_v1 - Source record
- Frozen research record
research/tasks/10-opus-v3-reassessment/retrospective/outputs/assessments/amsterdam/eip-2780.yaml· sha2566aa551c01e8c - Supporting documents supplied with the EIP
supporting/eip-161.md,supporting/eip-1559.md,supporting/eip-2718.md,supporting/eip-2929.md,supporting/eip-2930.md,supporting/eip-7623.md,supporting/eip-7782.md,supporting/eip-7934.md,supporting/eip-7976.md,supporting/eip-7999.md