Evaluated on: · Spec revision: 2026-08-25 · ac450a4ab2 · Inclusion status at snapshot: PFI
Scope at the cutoff. Execution-layer-only assessment of the sealed Draft EIP-5920 snapshot. The proposal adds one state-accessing, dynamically priced PAY opcode that moves ether without executing recipient code. The principal test matrix combines gas-boundary ordering with warm/cold, static/non-static, valid/invalid address, existing/nonexistent recipient, zero/nonzero value, sufficient/insufficient balance, success/revert, and direct/delegated recipient cases; independent dimensions multiply rather than merely add.
- Evaluator
- LLMChecklist v2
- Confidence
- Medium
- Under-specified at assessment cutoff
- Yes — 1 criterion affected
- Plausible range
- 15–16 (Medium)
- Snapshot
- 2026-08-25 · EIP revision
ac450a4ab2(2026-08-25)
Score bands · Checklist revision 2
- 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
- Edge/boundary conditions3
- Added opcodes2
- EVM Gas rule changes2
- State-access ordering within opcode execution2
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 proposal is materially but narrowly under-specified for zero-value PAY to a nonexistent address: it gives the gas branch and warm-set update but does not normatively state whether account-touch/account-creation bookkeeping occurs or define the account-existence predicate. EIP-7523 strongly constrains the intended result, so this is recorded once under the consensus-ambiguity criterion and is not multiplied across other anchors.
Plausible total
15–16
recorded score 16 · plausible tiers Medium
Affected criteria (1)
Unresolved questions at the cutoff (2)
- Does zero-value PAY to a nonexistent address only warm the address, or also touch or create an account for state-transition bookkeeping?
- What exact account-existence predicate governs GAS_NEW_ACCOUNT and recipient creation for PAY on EIP-7523-compatible networks?
Notable ambiguities noted by the assessor (2)
- The specification's ordered list places gas charging before warming, but the existence lookup needed to calculate gas necessarily precedes the charge; tests should distinguish lookup, charge, recorded access, and transfer at exact gas boundaries.
- PAY to the current address and PAY to a delegated EOA are constructible balance-transfer cases; the general transfer wording implies ordinary balance semantics while expressly excluding recipient code execution.
Criterion breakdown
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Edge/boundary conditions | 3 | Multiple edge-prone mechanisms combine, and gas-boundary ordering across the independent access, static, address, existence, value, balance, and outcome dimensions requires an elevated number of cases. |
Confidence: High Uncertainty: Exact case counts are unavailable because tests are prohibited, but the multiplicative dimensions are explicit in the sealed specifications. |
| Added opcodes | 2 | PAY is a single complex opcode because it has nontrivial stack/state behavior and a dynamic gas cost. |
Confidence: High Uncertainty: The dynamic gas schedule independently satisfies the score-2 complexity anchor. |
| EVM Gas rule changes | 2 | A new opcode-specific dynamic gas calculation is introduced using existing gas constants and access-list machinery; the proposal does not reprice or rewrite the gas rule of an existing opcode. |
Confidence: High Uncertainty: The schedule reuses existing mechanisms, but its three-part conditional sum is still a new charging rule, placing it at the score-2 anchor. |
| State-access ordering within opcode execution | 2 | PAY is a new state-accessing operation whose ordered gas charge, warm-set update, balance check, and transfer must be tested at each reachable gas boundary. This matches the score-2 new-operation anchor. |
Confidence: High Uncertainty: The broad order is explicit. Boundary coverage still multiplies across cold/warm, static/non-static, validity, balance, value, and outcome cases. |
| Security risks | 2 | Balance mutation interacts with static-state protection, account/access bookkeeping, and delegated-code expectations. These are a limited set of critical components requiring targeted review and fuzzing, not an extensive redesign across multiple security subsystems. |
Confidence: Medium Uncertainty: The EIP argues forced funding is already possible, reducing but not removing implementation risk; no prohibited deployment evidence is used. |
| Cross-EIP interactions | 2 | Coordinated cases are needed for static failure (214), warm/cold access effects (2929), the empty-account network constraint (7523), and payment to delegated EOAs without code execution (7702). The interactions are explicit but localized and do not require extensive redesign of existing vectors. |
Confidence: High Uncertainty: References to EIPs 141, 1153, 1283, 2200, and 6780 are rationale, historical context, or alternative mechanisms and are not counted as coordinated mechanism dependencies. Interacting EIPs: EIP-214, EIP-2929, EIP-7523, EIP-7702 |
| Patterns affecting pre-existing tests | 1 | The narrow pre-existing category that treats 0xfc as an unavailable or exceptional instruction must be fork-aware; other bytecode behavior is not changed by the proposal. |
Confidence: Medium Uncertainty: The package contains no test inventory, so only the mechanically implied opcode-byte regression category is counted. |
| Performance risks | 1 | The new mechanism warrants isolated benchmarks for cold/warm and account creation/value-transfer paths, but it is bounded and does not alter performance of executions that do not use PAY. |
Confidence: Medium Uncertainty: No package implementation or benchmark evidence is available or permitted; the score reflects only the specified work. |
| Unspecified behavior requiring cross-client consensusUnder-specified | 1 | A small, localized account-lifecycle detail is not stated normatively, but the zero new-account charge and EIP-7523 dependency give it an obvious intended reading. This matches the score-1 anchor. |
Confidence: Medium Uncertainty: The package contains no permitted client, devnet, or discussion evidence; the ambiguity is assessed from the sealed specification alone. |
Show 19 zero-score criteria
| Criterion | Score | Why this score | Evidence / uncertainty |
|---|---|---|---|
| Modified opcodes | 0 | No pre-existing opcode behavior is modified. |
Uncertainty: References to CALL, EXTCALL, and INVALID are comparative or motivational only. |
| Added precompiles | 0 | No precompile is added. |
Uncertainty: No precompile mechanism appears in the sealed proposal. |
| Modified precompiles | 0 | No existing precompile is modified. |
Uncertainty: A precompile address can receive value like another address, but its precompile behavior is untouched. |
| Added system contracts | 0 | No system contract is added. |
Uncertainty: No system-contract deployment or address is specified. |
| Modified system contracts | 0 | No pre-existing system contract is directly or indirectly modified. |
Uncertainty: No system-contract interaction appears in the package. |
| Blob gas accounting changes | 0 | No blob gas accounting is introduced or modified. |
Uncertainty: No blob-related behavior appears in the sealed proposal. |
| State gas accounting changes | 0 | Although PAY can change balances, the snapshot adds no state-gas accounting site or mechanism as that rubric row defines it. |
Uncertainty: No future Hegotá state-gas integration is inferred beyond the sealed text. |
| New EVM gas refund | 0 | No gas-refund mechanism is introduced. |
Uncertainty: No refund behavior appears in the sealed proposal. |
| New transaction types | 0 | No new transaction type is introduced. |
Uncertainty: No transaction-type surface appears in the sealed proposal. |
| New or modified transaction validity mechanisms | 0 | No transaction validity rule or intrinsic-gas calculation is changed. |
Uncertainty: Exceptional opcode execution is not transaction-envelope validity under this anchor. |
| New block / header fields | 0 | No new block or header field is introduced. |
Uncertainty: No block/header surface appears in the package. |
| Encoding changes (RLP/SSZ) | 0 | No RLP, SSZ, or other interface-level encoding change is introduced. |
Uncertainty: The opcode byte assignment is not a transaction/block/interface encoding change under this anchor. |
| Block syncing changes | 0 | No block-RLP syncing mechanism is introduced. |
Uncertainty: No syncing surface appears in the sealed proposal. |
| New fork activation mechanism | 0 | No fork-block migration or modification is introduced. |
Uncertainty: Activation of a new opcode rule alone does not satisfy this anchor. |
| Engine API changes | 0 | No Engine API change is introduced. |
Uncertainty: No Engine API surface appears in the sealed proposal. |
| Transition-tool interface changes | 0 | Existing transition-tool inputs and outputs are sufficient. |
Uncertainty: The hard-fork requirement alone is not a new transition-tool interface. |
| New invariant on pre-existing tests | 0 | Tests not exercising PAY gain no new value or artifact that they must additionally assert. |
Uncertainty: Fork-aware invalid-opcode reworking is scored in the preceding row, not duplicated here as a new invariant. |
| New test-framework primitives | 0 | These outcomes can be expressed with existing opcode/state/gas expectations; no new framework abstraction is required by the text. |
Uncertainty: Framework implementations and tests are prohibited and absent, so the score is limited to requirements evident from the specification. |
| Cryptography | 0 | No cryptographic mechanism is introduced or changed. |
Uncertainty: No cryptography-related behavior appears in the package. |
Assessment provenance
- Assessed EIP revision
ethereum/EIPs@ac450a4ab2EIPS/eip-5920.md committed 2026-08-25 · information cutoff 2026-08-25T11:56:58Z- Rubric
- Checklist revision 2 ·
ethspecs/pm@3d8c0128c5 - Evaluator
- gpt-5.6-sol at xhigh reasoning effort · isolation
bubblewrap_one_eip_capsule_v1 - Source record
- Frozen research record
research/tasks/08-hegota-prospective-complexity-assessment/outputs/assessments/hegota-pfi-2026-08-26/eip-5920.yaml· sha2568f536805b310 - Supporting documents in the sealed package
supporting/eip-141.md,supporting/eip-214.md,supporting/eip-1153.md,supporting/eip-1283.md,supporting/eip-2200.md,supporting/eip-2929.md,supporting/eip-6780.md,supporting/eip-7523.md,supporting/eip-7702.md