EIP-8175: Composable Transaction
| Author | Dragan Rakita (@rakita) |
| Status/Category | Draft, Core (Standards Track) |
| Created | February 26, 2026 |
| Requires | EIP-2, EIP-1559, EIP-2718 |
| Latest spec | https://github.com/ethereum/EIPs/blob/master/EIPS/eip-8175.md |
Proposal status
EIP-8175 is a Draft, not an active Ethereum transaction type.
At a Glance
What it is. A new EIP-2718 transaction type (0x05), ComposableTransaction, that bundles typed "capabilities" (CALL, CREATE) with a separated signatures list and an optional fee_auth field for programmable gas sponsorship, composed flat at the transaction envelope rather than through nested execution contexts.
Problem it solves. It targets the same territory as ERC-4337-successor proposals, general account abstraction and gas sponsorship, while trying to keep the validation surface small: sender authentication stays purely cryptographic (ecrecover or Ed25519), and only the optional sponsor path touches the EVM.
Why an EIP-8130 reader should care. EIP-8175 fixes sender signature schemes in the protocol and lets an EVM prelude decide sponsorship. EIP-8130 reserves native k1 and routes other direct authentication through canonical contracts. That makes EIP-8175 the useful "protocol schemes plus one designated sponsor contract" comparison.
Overview
EIP-8175 was originally pitched as a simpler alternative to EIP-8141's frame-based model, with no new opcodes, no execution frames, and no per-frame gas accounting. It has since grown to four new opcodes and a programmable fee_auth execution path, though it retains its core distinguishing idea: composition happens flatly at the envelope, not through EIP-8141-style nested frames.
The transaction carries a capabilities list (what to execute), a signatures list (who authorizes it, and in what role), and an optional fee_auth address (who sponsors it). Capabilities execute sequentially; if one reverts, the remaining capabilities are skipped rather than the whole transaction failing atomically.
Core Design
capabilitiesfield: an RLP list of typed entries.CALL (0x01)is[cap_type, to, value, data];CREATE (0x02)is[cap_type, value, data]. Capabilities run in order; a revert in one capability skips the rest without reverting prior capabilities' state changes.signaturesfield: typed[signature_type, role, ...]tuples. Two schemes are defined at the protocol level:SECP256K1 (0x01)(standard ECDSA) andED25519 (0x02)(RFC 8032, with address derived askeccak256(public_key)[12:]). Two roles exist:ROLE_SENDER (0x00)andROLE_PAYER (0x01). An open PR from Giulio2002 proposes addingFalcon-512 (0x03).fee_auth: when set to an address, that account sponsors the transaction. The protocol executes a "prelude call" to thefee_authcontract before capabilities run; that contract's code uses a newRETURNETHopcode to credit ETH to a transaction-scoped fee escrow. State changes made during thefee_authprelude persist even if the main transaction later reverts.- New opcodes (4 total):
RETURNETH(debit/credit ETH between a contract and its parent/escrow),SIG(load a signature at a given index),SIGHASH(push the base transaction hash),TX_GAS_LIMIT(push the transaction's gas limit). - Envelope:
0x05 || rlp([chain_id, nonce, max_priority_fee_per_gas, max_fee_per_gas, gas_limit, fee_auth, capabilities, signatures]).
Mempool Strategy
Sender authentication is purely cryptographic, an ecrecover or Ed25519 check, with no EVM execution needed for the sender path itself. The fee_auth prelude does execute EVM code when sponsorship is used, which introduces some mempool simulation complexity, though it is bounded to a single designated contract rather than arbitrary account code. Its mempool complexity therefore sits in the middle: signature checks are stateless, but the fee_auth prelude requires bounded EVM simulation whenever sponsorship is used.
This sits between EIP-8130's fixed authenticator interface and EIP-8141's general VERIFY frames. EIP-8175 executes EVM code only when sponsorship is requested. EIP-8130 can execute a canonical authenticator contract for either sender or payer, so its interface is narrower but its contract-authentication path is not EVM-free.
Key Differences from EIP-8130
| Aspect | EIP-8175 | EIP-8130 |
|---|---|---|
| Tx type | 0x05 (also claimed by EIP-8202, a cited conflict) | 0x79 (AA_TX_TYPE) |
| New opcodes | 4: RETURNETH, SIG, SIGHASH, TX_GAS_LIMIT | 0 (no EVM changes) |
| Sender auth model | Fixed protocol schemes (SECP256K1, ED25519; Falcon-512 proposed) | Authenticator contracts (IAuthenticator), dispatched via STATICCALL or native ecrecover for K1_AUTHENTICATOR, gated by a node-side canonical allowlist |
| Adding a signature scheme | Requires changing and activating the protocol definition | A contract can be deployed freely, but direct AA authentication requires canonical-set adoption; the draft does not define that activation process |
| Batching / composition | Flat capabilities list, sequential execution, non-atomic across capabilities (a revert skips remaining ones) | Two-level calls phases: atomic within a phase, phases commit independently in sequence, completed phases persist through later phase reverts |
| Gas sponsorship | Optional fee_auth address; protocol runs a prelude call to that contract, which credits ETH via RETURNETH | payer / payer_auth fields; payer resolved via the same actor-config/authenticator system as the sender, requiring SELF_PAYER or SPONSOR_PAYER scope on the payer-side actor |
| Node validation cost for auth | ecrecover/Ed25519 check for sender; EVM execution of one named contract only if sponsored | One actor_config SLOAD plus, for non-K1_AUTHENTICATOR actors, a STATICCALL to a canonical authenticator; no wallet-code execution on the accepted path |
| New EOA addresses | Ed25519 EOAs derive new addresses; existing secp256k1 EOAs must migrate to use Ed25519 | No new addresses required; existing secp256k1 EOAs work unchanged via the K1_AUTHENTICATOR sentinel, and non-secp256k1 schemes are added via authenticator registration rather than a new address space |
| PQ path | No hybrid classical+PQ signing; a Falcon-512 signature type is proposed but not merged | No PQ authenticator currently defined; a future one would need canonical-set adoption |
Activity
EIP-8175 has three merged spec PRs (#11355, #11490, #11501) and one open draft PR (#11431, Falcon-512) as of August 20, 2026. The original PR merged March 10.
Discussion is split across the EIP's EthMagicians thread and a cross-proposal post-quantum comparison thread. The latter debated the cost of frame-based Falcon verification against an earlier EIP-8202 draft that still contained Falcon. Because Falcon was removed before EIP-8202 merged, those figures are historical design feedback, not a current spec-to-spec gas comparison.
Strengths
- No arbitrary account-code execution is required for the base sender path, keeping node-side validation close to today's cryptographic-only tx checks.
- Capability composition is simpler to reason about than nested frame execution: a flat, sequential list rather than recursive call contexts.
fee_authsponsorship is scoped to a single named contract per transaction, bounding what a node must simulate when sponsorship is used, in contrast to EIP-8141's arbitrary VERIFY-frame account code.- Ed25519 support gives a concrete non-secp256k1 signing path already merged into the spec, not just proposed.
Weaknesses
- The tx-type number
0x05conflicts with EIP-8202's own claim to0x05, an unresolved allocation problem between two competing proposals. - New signature schemes require a protocol-spec change and activation to add a
signature_type; EIP-8130 moves that decision to canonical-authenticator-set coordination instead. - No hybrid classical+PQ signing path is defined, and the proposed Falcon-512 addition remains an open PR rather than merged spec text.
- Ed25519 adoption requires EOAs to derive and migrate to new addresses, unlike EIP-8130's approach of layering new schemes onto existing account addresses via the authenticator/self-actor system.
- The
fee_authprelude introduces EVM simulation into the sponsored path. EIP-8130 narrows that path to a canonical authenticator call, but does not eliminate EVM execution when the authenticator is a contract.
Continue with Competing Standards for the comparative analysis, or return to the Home page.