Keys and Accounts: Native AA — EIP-8130 vs EIP-8141

Why native account abstraction needs both key-originated and account-originated transactions—and why configuration-backed identity is inevitable.

EIP-8130 and EIP-8141 are usually compared as competing native account-abstraction transaction formats. The more important question is how key-originated and account-originated transactions should coexist, what each path should guarantee, and who accepts the cost before arbitrary account logic runs.

My answer has three parts.

Routine interactions should be able to originate from keys without installing those keys into the accounts they control. Account-originated transactions must remain first-class whenever authority itself is programmable or the account should pay directly. And a stable registry or configuration layer must connect account identity to rotatable credentials.

Keys authenticate transaction origin. Accounts interpret authority. Configuration binds the two over time.

That separation leads to a broader idea that I call Abstracted Account Abstraction:

Traditional account abstraction asks how an account validates a transaction. Abstracted account abstraction asks when the asset-holding account needs to originate the transaction at all.

In the architecture I expect to become common, a session key is represented by its own session account and becomes the default sender for routine interactions. It constructs or requests a transaction, authenticates itself, obtains sponsorship when needed, and calls the user’s root account. The root account resolves the delegated permission, runs policy hooks, and executes the requested calls as itself.

But this should not eliminate the direct account path. Root accounts still need to originate transactions for recovery, multisig, upgrades, account-owned gas, and any operation whose validity cannot be reduced to one key.

Status note — August 12, 2026: EIP-8130 and EIP-8141 are both drafts. Base has announced EIP-8130 for its Cobalt upgrade, described as coming in September 2026.

The unsolved third

Ask why account abstraction matters and the answer differs by who you ask. For me it reduces to three things: key rotation, batching, and gas sponsorship. (For the longer history, Franco Victorio’s account abstraction: the story so far is the best single overview.)

Two of the three are done. ERC-4337 made gas sponsorship real, and batching was solved even earlier. Any future EIP, ERC, or RIP adopts both without controversy.

Key rotation is not close to fixed.

The objections arrive in a familiar order.

“Can’t the account just transferOwner(address)?” On a fresh chain with fresh accounts, perhaps. But the installed base is EOAs, and rotation has to reach them without breaking their addresses.

“EIP-7702 puts wallet code on the EOA — rotate inside it.” The original key still owns the delegation itself. It can change or revoke the wallet code at any time, so a leaked key defeats every rotation performed under it.

“That is what EIP-7851 is for.” Only per chain. Disabling the key’s transaction authority must be executed on every chain the account has ever touched — and on future long-tail chains it has not touched yet, the original key is still live.

Rotation is the piece of account abstraction that keeps not shipping, and it is why configuration keeps reappearing throughout this essay.

The lesson from ERC-4337

Before comparing the two native-AA proposals, it is useful to ask what ERC-4337 actually did.

A UserOperation names a smart account as sender. The account’s validateUserOp() decides whether the operation is authorized. A paymaster may approve sponsorship. A bundler simulates the operation, accepts inclusion risk, and submits an ordinary Ethereum transaction to the EntryPoint.

ERC-4337 flow from UserOperation through a risk-bearing bundler to a funded transaction, builder, and EntryPoint
The bundler turns arbitrary account validity into a conventional transaction with a known protocol-level payer.

ERC-4337 therefore did more than add programmable validation. It created an economic translation boundary.

That boundary made arbitrary wallet code deployable without a consensus change. It also collapsed several questions into one account-facing interface:

  • Who authenticated the operation?
  • Which account is the sender?
  • What is the signer allowed to do?
  • Who pays?
  • Which nonce and replay rules apply?
  • Which calls execute if validation succeeds?

This collapse explains why session keys became validators installed into smart accounts.

A session key could not conveniently originate a protocol transaction by itself. It would need an account, deployment, nonce management, ETH, batching, and sponsorship infrastructure. Making the root smart account the UserOperation.sender solved all of those problems. The session key only had to convince the root account’s validation logic to accept the operation.

That was a rational architecture for ERC-4337.

But it was a consequence of the transaction transport, not a timeless property of delegated authority.

Why Base supports EIP-8130

Base describes EIP-8130 as opinionated and optimizable. That is the central design choice.

An EIP-8130 transaction declares an authenticator. The account’s onchain configuration binds authenticated actors to scopes and, optionally, policy managers. The sender and payer are separately authorized. Because the transaction names its authentication mechanism, a node can reject unsupported authenticators before discovering an arbitrary wallet program through execution. The proposal makes this a chain-level choice through adoption profiles: a permissive profile (typical of L1) admits custom authenticators within a bounded gas cap, while a canonical-only profile (the L2 hot path) restricts the transaction path to the enshrined set.

The common path is intentionally legible:

EIP-8130 transaction flow from declared authenticator through actor configuration and policy to calls
EIP-8130 makes the ordinary authentication and account-configuration path explicit to the sequencer.

This is attractive to an L2 sequencer.

A sequencer is not merely checking eventual block validity. It is a latency-sensitive admission system and a shared bottleneck for every application on the chain. An L2 can co-design its transaction format, canonical authenticators, account configuration, payer services, RPCs, and execution client. In return for a narrower common path, it can gain predictable cost, easier dependency analysis, lower transaction overhead, and more concurrency.

Base is not supporting EIP-8130 because it is the most general validation environment possible. It is supporting it because the common path is expressive enough while remaining visible to the sequencer.

What EIP-8141 preserves

EIP-8141 starts from a different boundary.

It makes the transaction a sequence of frames:

  • VERIFY frames establish execution or payment approval.
  • SENDER frames execute with tx.sender as their caller.
  • DEFAULT frames execute from the protocol entry point.
  • Transaction-level signatures are validated before frame execution.
  • Payment approval may come from an account other than the sender.

For a sender without deployed code, EIP-8141 defines default behavior that can authenticate a secp256k1-controlled address. This lets a code-less account use batching and sponsorship without first becoming a traditional smart account.

The protocol standardizes transaction phases without requiring every account to share one actor registry, one policy model, or one account implementation.

Comparison between EIP-8130 account configuration and EIP-8141 frame composition
EIP-8130 standardizes more of the authentication and account-configuration model. EIP-8141 standardizes transaction phases while preserving account-defined authorization.

This makes EIP-8141 a more natural fit for an environment that must preserve heterogeneous account logic. It still constrains public-mempool validation, because arbitrary account execution creates denial-of-service and invalidation risks. But it separates two questions:

  1. What is consensus-valid in a block?
  2. What is predictable enough to propagate through a permissionless public mempool?

The first boundary can remain broad while the second remains strict.

That distinction matters because EIP-8141 and EIP-8130 are opinionated on different axes. At consensus validity, EIP-8141 preserves programmable account validation. Its public relay path is strict about validation shape and dependencies: recognized prefixes, bounded validation work, restricted traces and mutable-state reads, and bounded payer exposure. Unlike EIP-8130, it does not standardize one actor or policy vocabulary.

L2 sequencers and L1 builders start from different assumptions

The disagreement is easier to understand as a difference in operating assumptions than as a disagreement over whether keys or accounts are better.

Pressure L2 sequencer path Ethereum L1 path
Admission Usually a chain-operated RPC and sequencer Public gossip, private relays, multiple builders and nodes
Optimization Chain-specific clients and account conventions can be co-designed Consensus behavior must remain portable across heterogeneous implementations
Main risk Sequencer latency, throughput, and mutable dependency management Network-wide validation DoS, propagation cost, and universal block validity
Natural default A narrow canonical hot path General validity with a constrained public-relay path

These are tendencies, not permanent truths. L2 sequencing can decentralize, and L1 order flow is often private. Both environments benefit from predictable authentication.

An L2 sequencer with private admission does not have to adopt Ethereum’s public-gossip policy as its own. It can retain frame-level consensus generality while applying chain-specific admission rules—stricter when it wants predictable scheduling, looser when it can tolerate additional simulation. That makes EIP-8141 more relevant to L2s than an L1-centric reading suggests, but it also makes the sequencer responsible for defining and operating that policy.

The real question is:

How much arbitrary account execution should happen before a block builder accepts economic responsibility for a transaction?

EIP-8130 answers by making the ordinary authentication and account-configuration path explicit.

EIP-8141 answers by preserving programmable account verification while making its phases and public-mempool constraints explicit.

Both are trying to make account abstraction buildable. They choose different things to standardize.

Every position in this debate is a boundary argument

Read enough position pieces and the arguments start to rhyme.

EIP-8130 argues that keys and actors are the protocol’s subject, and accounts consume shared semantics. WalletConnect argues that EVM compatibility should bind the Execution Layer while every chain chooses its own Transaction Layer. This essay argues that durable identity belongs in configuration while richer authorization stays in account code.

These are one argument in three costumes:

1. partition the system into a shared core and a free layer
2. place your design in the free layer, or your requirement in the core
3. present the partition as a definition rather than a claim

Once a boundary is accepted, its conclusions are automatic. That is what boundaries are for. WalletConnect’s framing dissolves the fragmentation objection by definition: if the transaction layer was never part of the compatibility contract, adopting a different one cannot break it. EIP-8130’s framing dissolves the programmability objection the same way: if accounts live above the frozen layer, freezing the layer costs them nothing.

The EL/TL split deserves spelling out, because it is the newest of the three and currently does the most work in rollup positioning. The claim: what “EVM compatibility” must preserve is the Execution Layer — EVM semantics, contract behavior, state transitions — while the Transaction Layer — envelopes, authentication, nonces, validity, payment, mempool admission, ordering, block construction — is each chain’s own choice. Accept that partition and two conclusions follow at once: a rollup adopting EIP-8130 today has not left Ethereum compatibility, and Ethereum L1 maturing EIP-8141 on its own consensus timeline blocks no one.

Both conclusions are useful, and the second is simply true. But notice what the argument does not do: it justifies transaction-layer autonomy for any TL, not for EIP-8130 specifically. The same partition licenses a rollup to ship a frame-transaction RIP tomorrow. And the autonomy has a price the definition hides: once transaction layers diverge, wallets negotiate capabilities per chain, and the seams — capability discovery, signing descriptions, receipt normalization, fallback transports — become the new standardization surface. The boundary argument does not remove coordination; it relocates it from the protocol into the wallet stack.

So the honest test is never the downstream conclusion. It is the line itself:

A protocol boundary should freeze the least that must be shared while leaving the most room to evolve.

Cryptographic verification is a good thing to freeze: its semantics have been stable for decades, and every party in the system needs the same answer. A root binding needs a stable home, as the rotation argument below shows. Scope taxonomies, policy vocabularies, and session semantics are the worst things to freeze: they are product opinions, and they still change quarterly.

The rest of this essay is my attempt to draw that line and defend it — as a claim, not a definition.

Static-time validation does not mean immutable keys

The word static is easy to misuse.

Static-time validation should not mean:

  • the key never rotates,
  • validation reads no state,
  • every account uses one signature scheme, or
  • all authorization moves into consensus.

The useful property is narrower:

Before arbitrary account execution, a node should be able to resolve a bounded authentication algorithm and a bounded state dependency for the ordinary key path.

Static key validation resolving the current root credential before bounded signature verification
Static means bounded and discoverable, not immutable: rotation is stateful while signature verification remains predictable.

Rotation, revocation, and migration to a different signature scheme are state transitions. The important property is that each transaction does not force a builder to discover its basic authentication rules by executing an unbounded wallet program.

Static does not mean immutable. Key rotation should be stateful. Signature validation should not be arbitrarily stateful.

This is particularly valuable for an L2 sequencer. Invalid signatures can be rejected early. Authentication cost is predictable. Conflicting state dependencies are easier to identify. The hot path can be optimized without prohibiting programmable accounts.

The design conversation around EIP-8141 is moving in exactly this direction: separating pure, state-independent signature verification — verifier logic addressed as code, executed in a context that cannot read state — from a small stateful authorization step that reads the account’s current credential. EIP-8130 reached the same split from the other side: canonical authenticators at constant cost, plus a single known-slot read from the Keystore. When two proposals that disagree about everything else converge on the same seam, that seam is probably the real boundary.

Keys and accounts should make different guarantees

A key, an account, and a payer answer different questions.

Layer Guarantee
Key or key-controlled account This sender authorized this transaction
Account-key configuration This credential represented durable authority for this account in the relevant state
Root account This caller may cause these effects under these rules
Payer The transaction’s gas cost is economically covered
Execution These calls ran and produced these effects

The first guarantee is authentication.

The second is durable identity configuration.

The third is programmable authorization.

The fourth is economic responsibility.

ERC-4337 often asks one account validation function to participate in all four. Native AA gives us an opportunity to separate them.

A key-based path is good at predictable cryptographic verification, hardware-backed credentials, alternative signature schemes, early rejection, aggregation, and routine authority that can act without loading a wallet program first.

An account-based path is good at multisig, recovery, delayed operations, stateful permissions, spending limits, guardian vetoes, proofs, and authority that cannot be reduced to one signature.

Neither subsumes the other.

A key can prove authorship without understanding whether a swap exceeds a weekly limit. An account can enforce the limit without reimplementing the cryptographic scheme that authenticated the caller.

Keys authenticate authority. Accounts interpret authority.

Native AA needs two first-class transaction origins

Once a key-controlled address can authenticate a native transaction directly, making the asset-holding account originate every routine interaction becomes unnecessary indirection.

A session account should be able to create a batch, attach or request payment authorization, and invoke a root account without becoming a validator installed inside that root account.

Keys should be able to originate routine transactions without impersonating the accounts whose authority they exercise.

But key-originated transactions cannot be the only first-class path.

Without account-originated transactions, every protocol sender ultimately becomes an EOA or another key-controlled account. That is workable for funded long-lived actors. It is less attractive for short-lived sessions. An application session normally should not need its own ETH balance, treasury policy, or persistent gas-management lifecycle.

As session accounts become the default interaction path, they will tend to depend on external payers. Sponsorship is useful, but a design in which every ephemeral actor requires a paymaster makes sponsorship infrastructure part of the default transaction architecture rather than an optional payment path.

Account-originated transactions are also necessary when:

  • the account already holds the gas asset,
  • authorization requires multisig, recovery, a timelock, or another program,
  • account governance must authorize an upgrade or emergency action,
  • the user needs a direct path independent of application session infrastructure, or
  • the account itself is the most natural nonce and replay domain.

A protocol that supports only key-originated transactions pushes ephemeral actors toward universal sponsorship. A protocol that supports only account-originated transactions forces temporary authority back into account validation. Native AA needs both.

The natural split is not absolute, but it is useful:

  • Key-originated path: routine sessions, automation, app-scoped authority, and predictable authentication.
  • Account-originated path: programmable authority, account-owned gas, recovery, governance, and direct control.

Configuration is the bridge between the two paths

Supporting both origins requires more than two transaction formats. The protocol needs a durable way to distinguish a stable account from the credentials that currently control it.

EIP-8130 already makes this relationship explicit through Account Configuration. Its configured actors and authenticators give an account-originated transaction a legible source of authority. The same transaction system can also be used by an external session account that authenticates itself and invokes the root account as an ordinary call target.

In other words, EIP-8130’s configuration layer can support both lanes:

  • a stable account originates a transaction through configured authority; or
  • a key-controlled session account originates a transaction and exercises permission held by the stable account.

EIP-8141 does not need to adopt EIP-8130’s complete actor, scope, or policy-manager model. Its value comes from keeping authorization programmable and transaction phases composable.

But if EIP-8141 wants account-originated transactions and key-originated transactions to coexist as equally legible paths, it needs the same kind of durable identity primitive: a bounded, state-backed relationship between a stable account and its current root credentials.

That relationship could be represented as a registry, standardized account configuration, constrained account state, or another protocol-readable binding. The specific representation remains open. The requirement does not.

EIP-8141 can preserve arbitrary account authorization while adopting a narrow configuration layer for durable account identity and root credentials.

The key path remains simple. The account path remains programmable. Builders gain a bounded ordinary path without forcing every permission or session into the registry.

Key rotation makes configuration inevitable

Suppose account A is controlled by key K1 and later rotates to K2.

Stable account identity rotating from key K1 to K2 alongside ordinary and programmable authorization paths
A stable account-to-root binding turns key replacement into rotation while preserving both ordinary and programmable authorization paths.

If the account address is derived directly from the current key, replacing the key changes the address. That is migration, not rotation.

If the account address remains stable, some mutable state must answer which credential currently speaks for it. The state may live in a registry, account configuration, standardized code, account storage, or another bounded protocol-readable object. But it must exist somewhere.

A stable account with rotatable credentials necessarily implies an account-to-key binding.

Two claims should remain separate. Rotation proves that a mutable binding must exist somewhere. It does not, by itself, prove that the binding should live in a shared protocol registry rather than in each account’s own state. A shared registry must justify the stronger choice through benefits such as cross-chain authority synchronization, recovery that does not trust the account’s current code, stable cross-chain address derivation, or bounded builder-visible resolution.

The real design question is not whether configuration exists. It is where the binding lives, who may update it, and how legible it should be to builders.

We tried everything outside the protocol

I have first-hand evidence for the stronger claim, because I spent more of 2023–2024 on key rotation and recovery than on any other problem, and every serious attempt was a way of building this binding outside the protocol. The list, from a smart-contract developer’s seat:

  • L1SLOAD (RIP-7728) — still the best-shaped idea I saw: treat L1 as the keystore chain and read it during validation. But L2s inherit a race between L1 state changes and their own reads (a DoS vector if handled naively), and chains not anchored to Ethereum still migrate manually — the complexity diverges exactly where portability matters.
  • Keyspace — a minimal rollup dedicated to key rotation, motivated by Vitalik’s three transitions. The reality was rough: heavy ZK computation in the contracts and unsustainable operator cost. Base’s own retrospective says it plainly — operating a minimal keystore ZK rollup “proved to be complex—both technically and economically,” and the simpler smart-contract second attempt still carried “a non-negligible risk of bricking user wallets” because cross-chain messaging depends on storage proofs that can break across hard forks.
  • TOTP on an FHE chain — it worked, and it tied every account to that specific chain.
  • Omni account — cross-chain accounts with state sync; in practice it leaned on bridges and external providers, with the latency and gas overhead that implies.
  • ENS and ZKEmail recovery — possible, but the gas overhead and vendor lock-in (email authentication ties the account to a domain) were never justifiable.

Every failure is the same failure: an authority binding that lives outside the protocol inherits someone else’s trust assumptions — a bridge, a prover, an operator, a domain. It is also why EIP-8130’s move — putting the binding in consensus state — reads less like a novel idea and more like a third attempt from a team that tried the other homes first.

This is why a registry/configuration-first approach is not merely an optimization for EIP-8130. It follows from the semantics of stable identity and key rotation.

EIP-8130 exposes that fact directly. EIP-8141 can accept the same inevitability without inheriting EIP-8130’s higher-level authorization model.

This does not weaken smart-account validation

A predictable key path and configuration-backed account identity do not imply that every account must be controlled by one protocol-approved key.

Smart-account validation should remain available for the cases that genuinely require a program: multisig, social recovery, timelocks, proof systems, threshold authorization, upgrade governance, and complex stateful policy.

Separating ordinary authentication from richer authorization can make smart-account validation more focused.

Instead of requiring every account to reproduce basic signature plumbing merely to participate in native AA, the protocol can optimize simple authentication while account code specializes in the cases where programmability adds real value.

A native key path can define a useful minimum without defining the maximum account model.

The future is not key-based accounts or smart accounts.

It is a protocol in which both can originate transactions for the cases they are best suited to handle.

Abstracted Account Abstraction

The larger shift is not only how a root account validates.

It is whether the root account should remain coupled to construction of every routine transaction.

Most account-abstraction designs make the root account the transaction originator, validator, nonce owner, fee abstraction interface, and downstream execution identity at the same time.

Routine interactions can increasingly use a different model in which a session account originates the transaction and the root account authorizes its effects.

The root account becomes the object being authorized, not necessarily the object originating each transaction.

The account should own assets and authority without being forced to own every transaction envelope used to invoke them.

This is why transport-agnostic is more precise than saying the account is merely AA-agnostic.

A root account should not need to parse a UserOperation, an EIP-8130 envelope, or an EIP-8141 frame transaction on the routine path. Its stable interface should accept a caller, capability, and calls, then authorize, constrain, and execute them.

The actor invoking the account chooses the transaction transport.

The account-originated path remains available when the account itself is the correct actor.

Session keys become session accounts

A cryptographic key cannot literally be tx.sender; an address is.

So the useful protocol object is a session account: an address controlled by a session credential and used as the transaction sender.

Under ERC-4337, creating such an account for every application session was expensive and operationally awkward. The session account needed code or an EIP-7702 designation, deployment handling, a nonce implementation, and relay infrastructure. It was easier to install the session key into the root account’s validation system.

Native AA changes those assumptions.

A session account can increasingly:

  • authenticate its own transaction,
  • exist without predeployed wallet code on the common path,
  • use native batching,
  • obtain gas sponsorship when needed,
  • maintain its own transaction nonce, and
  • call the root account as part of the transaction.

The root account no longer needs to ask:

Is this session key one of my validators?

It asks:

What is this caller allowed to do?

That is an authorization question, not an authentication question.

Session accounts can therefore become the default routine path without becoming the only possible transaction origin.

The default interaction flow

Assume a root account A, a session account S, a payer P, and capability C.

The user first grants C so that S may perform a bounded set of actions through A.

A routine interaction then looks like this:

Default session-account interaction from transaction construction and sponsorship through capability checks and root-account execution
The session account owns transaction identity; the root account owns application identity and downstream execution.

The protocol sees S as the transaction sender.

Applications still see A as the caller of downstream actions, because the calls are emitted by the root account after authorization.

This creates two useful identities: the session account is the transaction identity, while the root account is the application identity.

The distinction is not a workaround. It is the point.

The session account owns transaction authentication. The root account owns application authority.

How this maps to EIP-8141

EIP-8141 expresses the key-originated session path directly.

EIP-8141 session flow with sender verification, payer approval, and a SENDER frame invoking the root account
EIP-8141 separates session authentication, payment approval, and root-account invocation into explicit phases.

The SENDER frame calls the root account with tx.sender as msg.sender. The root account can therefore bind the capability to the session account without interpreting the transaction’s signature format.

For a code-less secp256k1 session account, EIP-8141’s default behavior can authenticate the account and approve execution. A separate payer can approve the gas cost. The session account does not need ETH, and it does not need to be installed into the root account.

If the session transaction and payer authorization are valid, a denied capability is an ordinary paid execution failure—not an invalid transaction that requires the public builder to understand the root account’s entire permission system. The relevant SENDER frame reverts; unless the call belongs to an atomic batch, that failure does not invalidate the whole FrameTx. Payment approval has already fixed the payer, the sender nonce has already been consumed, and the resolved payer is charged for the gas used.

This does not recreate unpaid public-mempool validation DoS. The work is bounded by frame and transaction gas limits and paid by a payer that approved the transaction. The payer may be the session account, a sponsor, a paymaster, or the root account itself, so a production design still has to bound how much stale or revoked session traffic each payer will underwrite.

But this session path is only half of the desired model. An account-originated EIP-8141 path should also remain first-class. A narrow account-to-root configuration layer would let builders resolve the account’s current ordinary credential while preserving account-defined VERIFY logic for richer cases.

EIP-8141 does not need one universal wallet model. It needs a legible durable identity path alongside its programmable path.

How this maps to EIP-8130

EIP-8130 begins closer to the account-originated side because its native path authenticates actors configured for the sending account. Account Configuration already provides the stable account-to-authority relationship needed for key rotation, recovery, and direct account transactions.

That is useful, but it does not follow that every temporary session must become a registered actor of the asset-holding account.

An external session account can use EIP-8130’s sender and payer paths for its own transaction, while the root account remains an ordinary call target that owns delegated authority.

This suggests a narrower division:

  • owner credentials, root rotation, recovery authority, and direct account origination remain in durable account configuration;
  • application sessions, automation accounts, and temporary capabilities may remain outside the root account;
  • both paths converge on account-owned authorization and execution.

EIP-8130’s configured-actor model and external session accounts can therefore coexist.

EIP-8130 already makes a related separation for POLICY actors: the authenticator, actor configuration, scope, and expiry participate in transaction validity, while the configured manager enforces application-specific restrictions during execution. The remaining disagreement is not whether policy can run later. It is whether an ephemeral session identity should itself live in the root account’s durable protocol-visible configuration.

My bet is that temporary authority moves outside the root account, while durable authority remains configuration-backed.

ERC-4337 remains a fallback transport

The same account model can work on chains without native AA.

The session account must be a minimal smart account or use an EIP-7702 authorization path, because ERC-4337 requires the sender to participate in validateUserOp(). That adds deployment or delegation machinery, but the root account still does not need to know that ERC-4337 was used.

EIP-8130, EIP-8141, and ERC-4337 can therefore converge on the same session-account-to-root-account call.

The difference is that ERC-4337 makes the external session-account path operationally heavier, while native AA can make it ordinary.

The root account remains transport-agnostic. The session account and surrounding wallet infrastructure own routine transaction construction.

Permission claim is not validator installation

The word claim can be misleading.

Claiming a capability should not mean installing the session credential as a validator of the root account.

It should mean resolving authority that already exists.

Two common forms are possible.

Stateless capability

The session account presents a root-authorized capability on each use.

The root account stores only the state that must persist, such as replay protection, cumulative spending, or revocation epochs.

Claim on first use

The first use presents the full capability and stores a compact permission record. Later uses refer to a permissionId.

In both cases, permission resolution, replay consumption, hook evaluation, and execution should form one deliberate transition.

Capability binding the root account, session account, domain, policy, replay state, revocation, hooks, and requested execution
A capability is resolved atomically and constrained by hooks; it is not installed as another root-account validator.

A capability should bind the root account, session account, chain or domain, policy commitment, validity window, replay domain or nonce, revocation epoch, and requested execution.

It must bind the requested execution strongly enough that a relay, payer, or malicious caller cannot redirect the authority.

The root account should never accept a capability for S merely because S’s signature appears somewhere in a transaction. It should bind the capability to the actual caller it observes.

Existing delegation standards already point this way

ERC-7715 defines the to field of a permission as the dApp session account receiving authority from the user’s from account.

It also explicitly allows that permission recipient to use any account type and whatever payment or relay infrastructure it prefers when redeeming the permission.

ERC-7710 then defines a delegation manager that validates the delegation and causes the delegating account to execute the requested action.

That already separates the permission recipient from the asset-holding account.

Abstracted Account Abstraction extends the same idea down to the transaction layer: the permission recipient becomes the routine transaction sender, while the asset-holding account remains the authorization and execution object.

The new part is not that an external session account can redeem a permission.

The new part is making that external session account the normal protocol sender without eliminating the account’s own transaction path.

Policies become hooks

Once the session account lives outside the root account, most session-key validation logic stops being authentication.

It becomes policy.

The session account proves who is calling.

The root account identifies the delegated authority.

Hooks constrain each use of that authority.

The root account then emits the authorized calls.

This makes permissions independent from the cryptographic implementation of the session credential.

The same policy can be exercised by:

  • an ECDSA session account,
  • a P-256 device account,
  • an automation account,
  • a delegated sub-account, or
  • a future authentication mechanism.

For EIP-8141 today, the code-less default sender path provides this automatically only for secp256k1. A P-256 or WebAuthn session still needs account code, delegation, or a future protocol-recognized account-to-key binding. Policy portability does not imply that every signature scheme receives the same empty-code authentication path.

The account policy no longer needs to know how the transaction sender authenticated itself.

Not every account rule becomes a hook. Durable root ownership, recovery, upgrades, guardian authority, emergency revocation, and account-originated transaction approval remain account-governance concerns. Hooks are constraints on delegated use, not replacements for root authority.

Revocation after admission

Separating transaction origin from delegated authority creates two state domains: the session account’s transaction nonce and the root account’s permission state. A session transaction may already be admitted or in flight when the root revokes the permission it depends on.

Under EIP-8141’s public-mempool rules, mutable storage reads during validation are normally limited to tx.sender. When the session account is the sender, root-side permission state therefore cannot normally become a public-mempool validation dependency. Revoking the root permission removes delegated authority, but it does not necessarily invalidate an already admitted FrameTx. The root call fails when permission is checked during execution, and the resolved payer pays for that work.

EIP-8130 provides a useful contrast. A registered actor’s configuration, scope, and expiry participate in transaction validation, and revokeActor clears the actor configuration. A pending transaction from that actor therefore fails when it is revalidated for inclusion. In the external session-account model, revocation invalidates delegated authority rather than the session transaction itself.

That tradeoff needs explicit wallet and payer semantics. Practical controls include short permission expiries, exact-transaction or narrowly bounded payer approvals, payer-side revocation of future sponsorship, and private sequencer policies that recheck root-side state. A permission epoch could also be mirrored into sender-visible validation state, but that recouples the session and root state domains. The central question is who pays for transactions admitted before revocation and how tightly that exposure is bounded.

Account-originated interaction remains first-class

The account path is more than an emergency fallback.

Users need to rotate roots, recover accounts, revoke sessions, authorize upgrades, execute multisig decisions, and operate when no application session or sponsor is available. Accounts may also hold the gas asset and prefer to pay directly rather than introduce a separate payer.

An account-originated transaction should therefore be able to:

  • authenticate through the account’s current configured root or programmable validator,
  • use the account’s own replay and nonce domain,
  • pay from the account when appropriate,
  • execute without depending on a dApp-controlled session account, and
  • remain usable as a walk-away path from wallet or sponsorship infrastructure.

Over time, routine application traffic may still move toward session accounts. The root credential can become colder, and the direct path less frequent.

Less frequent does not mean second-class.

Session accounts can be the default interaction path only if account-originated transactions remain a reliable path of independence.

The remaining security boundary

Moving session keys outside the account simplifies the architecture, but it does not remove the need for careful design.

At minimum:

  1. Caller binding: the capability must bind to the observed session account.
  2. Domain binding: the capability must bind to the root account, chain, and relevant execution domain.
  3. Replay control: one capability use must not be replayable across accounts, chains, or nonce domains.
  4. Atomicity: permission claim, policy-state updates, and execution must have deliberate rollback semantics.
  5. Execution binding: a relay or payer must not substitute calls outside the capability.
  6. Revocation: the root account needs a cheap way to invalidate a session or an entire permission epoch.
  7. Payer isolation: the payer’s authorization must not silently expand the session’s application authority.
  8. Failure economics: policy failure must remain payable without making the builder interpret arbitrary account policy.
  9. Configuration integrity: root rotation and recovery must update the stable account-to-credential binding without changing account identity.

These are authorization, identity, and economic questions.

They should not be hidden inside a generic signature validator merely because that was the easiest integration point under ERC-4337.

The architecture

The resulting roles are straightforward.

Object Primary responsibility
Session key Controls a key-originated session account
Session account Originates and authenticates routine transactions
Root account Owns assets and authority; may originate programmable or directly funded transactions
Configuration or registry Binds stable account identity to current rotatable credentials
Transaction builder Chooses the transport, constructs batches, and obtains signatures
Payer or paymaster Underwrites sponsored paths rather than every path
Capability Connects the session account to delegated authority
Hooks Constrain each use of that authority
Protocol Supports both origins, orders validation and execution, and charges the appropriate payer

This architecture is compatible with multiple transports because the stable account boundary is not one transaction envelope.

Architecture summary showing transport-specific transactions converging on session authentication, sponsorship, root authorization, hooks, and execution
Routine transactions may begin at session accounts while configuration-backed root accounts retain direct, programmable, and independently funded paths.

The account no longer needs to be the transaction engine for every interaction in order to remain a first-class transaction origin.

Conclusion

The most important opportunity in native account abstraction is not merely making smart-account validation faster.

It is separating responsibilities that were previously collapsed by the transaction infrastructure without replacing one universal path with another.

EIP-8130 shows the value of predictable authentication and durable account configuration for an optimizable L2 path.

EIP-8141 shows the value of explicit validation, payment, and execution phases while preserving programmable accounts.

ERC-4337 shows the economic role that must survive either way: someone must turn arbitrary user intent into a transaction whose cost is covered.

The design that emerges needs two first-class origins.

Routine session interactions should be key-originated. Transactions whose authority is itself programmable, directly funded, or account-governed should remain account-originated.

Configuration-backed identity makes those paths coexist. It lets keys rotate without migrating the account, lets builders resolve an ordinary credential path, and lets richer validation remain in account code.

That layering is also my answer to the boundary test from earlier: it freezes the two things whose semantics are already stable and universally needed — cryptographic verification and the resolution of a root credential — and leaves fluid everything that is still a product opinion. Judge EIP-8130, EIP-8141, and every position piece in between by the same test, not by where their conclusions land.

Keys originate routine transactions.
Accounts originate transactions when authority itself is programmable.
Configuration binds stable identity to rotatable credentials.
Payers underwrite sponsored paths.
Root accounts authorize and execute.
Hooks constrain.

That is the more complete meaning of Abstracted Account Abstraction.

The account is abstracted from routine transaction construction, but not removed from transaction origin.