Add EIP: Counterfactual Transaction#11518
Open
benaadams wants to merge 13 commits intoethereum:masterfrom
Open
Add EIP: Counterfactual Transaction#11518benaadams wants to merge 13 commits intoethereum:masterfrom
benaadams wants to merge 13 commits intoethereum:masterfrom
Conversation
Collaborator
File
|
There was a problem hiding this comment.
Pull request overview
Adds a new Core Standards Track EIP draft (EIP-8224) specifying a typed transaction (0x08) that pays for gas via a ZK proof against a canonical ETH “fee note” pool, including mempool rules, validation/execution semantics, and a fee-note predeploy interface.
Changes:
- Introduces the EIP-8224 draft spec for counterfactual transactions (type
0x08). - Specifies a canonical fee-note predeploy at
0x14, storage layout, and protocol read/write semantics. - Defines Groth16/BN254 proof statement, public inputs, and validation/execution rules.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
The commit 5626193 (as a parent of 344f83c) contains errors. |
4 tasks
Eazy1231
reviewed
Apr 16, 2026
Eazy1231
left a comment
There was a problem hiding this comment.
benaadams:counterfactual-transaction
4 tasks
4ff1aa1 to
7f91aad
Compare
Eazy1231
approved these changes
Apr 26, 2026
Eazy1231
approved these changes
Apr 26, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
EIP-8224 introduces a new EIP-2718 transaction type (
0x08) - the counterfactual transaction - for protocol-native shielded gas funding using ZK proofs against canonical fee-note contracts.The problem
A fresh EOA with no ETH can't pay gas. Receiving ETH from any source creates a traceable on-chain link - defeating the privacy goal. This is the bootstrapping problem that remains even after EIP-8223 (Contract Payer Transaction / sponsored transactions).
How it works
gas_refund_recipientKey design properties
EXTCODEHASH, not a fixed predeploy address. Multiple instances can coexist. The transaction names its instance viafee_note_contract, and the proof binds to that addressfee_denomination == note_valuechain_idbound in proof - defense-in-depth against cross-chain replay (8 public inputs total)datafield can target any contract; the fee note only handles gas authorizationgas_refund_recipient, doubling as an account bootstrap mechanismIntrinsic gas breakdown
Dependencies
EIP-196, EIP-197, EIP-1559, EIP-2718, EIP-2780, EIP-3529, EIP-4788, EIP-6780, EIP-7708, EIP-7904
Status
Draft - canonical fee-note bytecode, verification key, circuit artifacts, and cross-client test vectors are not yet published.