Skip to main content

What Is Account Abstraction? Smart Wallets

What is account abstraction? Smart wallets, ERC-4337, EIP-7702, gasless UX, and the wallet model behind stablecoin apps in 2026 — explained.

Written by Eco
Updated today


Account abstraction is the wallet model that lets a smart contract — not a private key — be the account that signs transactions. Instead of an externally owned account (EOA) controlled by a single secp256k1 key, the user controls a programmable contract that can validate any signature scheme, batch operations, sponsor its own gas, and enforce custom recovery logic. The result is a wallet that behaves like an app: configurable, upgradable, and able to abstract away the parts of crypto UX that have always been brittle.

This guide explains exactly what account abstraction is, how the two production paths (ERC-4337 and EIP-7702) differ, what a smart wallet actually does at the protocol level, and why every serious stablecoin team in 2026 is building on top of one. By the end you will know the difference between an EOA and a smart account, what bundlers and paymasters do, where the EIP-7702 upgrade fits in the picture, and which SDKs ship today for developers building consumer or treasury apps.

How does account abstraction work?

An Ethereum account, before account abstraction, came in exactly two flavors: an externally owned account (EOA) controlled by a single private key, or a smart contract that could hold funds but could not initiate transactions. Every transaction had to originate from an EOA, and every EOA used the same fixed validation rule — a valid secp256k1 signature over the transaction hash. That rigidity is what account abstraction replaces.

Under ERC-4337, the smart contract becomes the account. The user signs a structure called a UserOperation — not a regular Ethereum transaction — describing what they want to do (target, calldata, gas budget, signature, paymaster details). UserOperations sit in a separate alt-mempool. A network actor called a bundler picks them up, packages a batch into a single regular transaction, and submits that batch to a global EntryPoint contract. The EntryPoint walks each UserOperation: first it asks the smart account to validate (using whatever logic the account encodes), then it executes the operation, then it settles gas with the optional paymaster.

This decouples three things that were welded together in EOAs: who pays for gas, what counts as a valid signature, and how many actions can happen in one transaction. The wallet can let an app sponsor gas, accept a passkey or hardware-key signature, and execute five actions atomically — none of which is possible with a vanilla EOA.

EIP-7702 takes a different route. Instead of replacing the EOA with a contract, it lets an EOA delegate to one. A user signs an authorization that points their EOA's code at a smart contract implementation; for the duration of that delegation, the EOA executes that contract's logic. The address stays the same, the funds stay the same, but the account behaves like a smart wallet for as long as the delegation is active. EIP-7702 shipped to mainnet as part of the Pectra upgrade in May 2025.

EOAs versus smart accounts: a side-by-side

The differences matter most when you start mapping wallet capabilities to user-facing UX. An EOA can do exactly what its private key can sign — one transaction, one signer, one chain at a time. A smart account can be programmed.

Capability

EOA

Smart account

Signature scheme

secp256k1 only

Any: passkey (P-256), multisig, ZK proof, social

Pay gas in token X

Only ETH (or chain native)

Any ERC-20 via paymaster

Batch operations

One per tx

Atomic batch of N

Recover lost key

Funds gone

Social recovery, time-locked rotation

Spending limits

None — key signs anything

Per-token, per-day, per-app

Sponsored UX

User pays

App or third party can pay

Address consistency cross-chain

Yes (same key everywhere)

Yes via deterministic deploy (CREATE2)

The trade-off is complexity. An EOA is one private key and a public address. A smart account is a deployed contract plus an owner key (or set of keys), and the wallet code itself can have bugs or upgrade paths. Audits and battle-tested implementations matter more for smart wallets than they ever did for the protocol-level EOA.

The two production paths: ERC-4337 and EIP-7702

Both standards solve account abstraction, but they sit at different layers and fit different use cases.

ERC-4337 — out-of-protocol abstraction

ERC-4337 lives entirely outside the Ethereum consensus protocol. It uses no EVM changes, no hard fork, no validator opt-in. The whole system — UserOperations, bundlers, the EntryPoint contract, paymasters — is built on top of existing Ethereum primitives. That made it deployable on every EVM chain immediately and meant it shipped to production in March 2023, two years before EIP-7702. The cost is a fully separate transaction format that requires bundler infrastructure to relay UserOperations into blocks. ERC-4337 is the right choice for a brand-new wallet — say, a Coinbase Smart Wallet or a Safe — built from scratch.

EIP-7702 — in-protocol delegation

EIP-7702 is a protocol-level upgrade. It introduces a new transaction type (0x04) that carries an authorization list, where each authorization is a signed claim by an EOA giving its address temporary smart-contract code. The EVM honors that authorization and executes the delegated code when the EOA is the sender. EIP-7702 needed a hard fork (it shipped in Pectra) and is therefore live only on chains that adopted Pectra. The advantage is that it works for the 200M+ existing EOAs without requiring a new wallet, a new address, or a migration. It's the right choice for retrofitting smart-wallet UX onto existing user wallets.

The two paths are complementary. New wallets and applications building from scratch typically pick ERC-4337 for its maturity and tooling. Wallets that need to upgrade an existing user base (MetaMask, Rainbow, Rabby) lean on EIP-7702 because users can keep their EOA, their address, and their on-chain history. For a deeper comparison, see our explainer on EIP-7702 vs ERC-4337.

Bundlers, paymasters, and the rest of the ERC-4337 stack

Six components make up the ERC-4337 system. Each has a specific job.

Smart account. The user's contract. Its validateUserOp function decides whether a UserOperation is authorized. This is where the wallet's signature logic, spending limits, and any custom rules live. Reference implementations include Safe, ZeroDev Kernel, and Alchemy Light Account.

UserOperation. The transaction-like struct. Fields include sender, nonce, callData, signature, paymasterAndData, and various gas limits. Signed by the user, broadcast to the bundler mempool.

Bundler. A node that listens to the alt-mempool, validates incoming UserOperations off-chain, packages them into a regular Ethereum transaction calling EntryPoint.handleOps(), and submits that transaction. Bundlers earn the gas premium between what the UserOperation pays and what the L1 transaction costs.

EntryPoint. A singleton contract per chain. Audited, immutable, deployed at 0x0000000071727De22E5E9d8BAf0edAc6f37da032 on Ethereum mainnet (v0.7). Every UserOperation flows through here: validate, execute, settle.

Paymaster. Optional contract that sponsors gas. The dApp deploys a paymaster, deposits ETH at the EntryPoint, and signs paymasterAndData fields that the EntryPoint trusts to cover the bill. Paymasters can sponsor unconditionally, accept ERC-20 payment from the user, or enforce eligibility rules (whitelist, NFT-gated, rate-limited).

Aggregator. Optional. Lets the EntryPoint validate many UserOperations with a single aggregated signature — useful for BLS or zk signature schemes.

For a much deeper walkthrough of the protocol mechanics, see our ERC-4337 explainer and the section on bundler network architecture.

What account abstraction unlocks for users

The protocol is interesting; the UX changes are the point. Six patterns matter.

Gasless transactions. The dApp pays gas via a paymaster. Users sign a UserOperation, the app's paymaster covers the bill, the user never holds the chain's native token. This is how Coinbase's Onchain Summer 2024 promotion onboarded ~1M wallets — Base subsidized gas through a paymaster so first-time users could mint without buying ETH.

Pay gas in any token. Pay gas in USDC. Pay gas in DAI. Pay gas in the protocol's own token. The paymaster accepts the ERC-20 from the user (typically with a small markup) and pays the EntryPoint in ETH on the user's behalf. Stablecoin-native UX without ever touching ETH.

Batched operations. Approve and swap and stake — three actions in one click, atomic. If any step fails the whole batch reverts. A user no longer needs to issue an ERC-20 approval as a separate transaction before any DEX trade.

Session keys. Grant a dApp a temporary scoped key — say, "this game can sign moves up to $10 of value over the next 24 hours" — without exposing the master key. The smart account enforces the limits.

Social recovery. Lose your device, recover via a multisig of friends, family, or a recovery service. The wallet contract has a recovery method that lets a quorum of guardians rotate the owner key after a time delay.

Spending limits and policy. Per-token, per-day caps. Whitelist of approved destinations. A "kid wallet" mode. A "treasury operator" mode that can move stablecoins but not approve new tokens. All enforced in the wallet contract itself, not in a dApp UI.

The deeper write-up of these patterns lives in our piece on smart wallet UX patterns, with code examples for each.

Account abstraction for stablecoin apps

Stablecoin apps benefit from account abstraction more than almost any other category. Three reasons.

First, users hold stablecoins, not gas tokens. A USDC-only treasury manager, a USDT-native remittance app, a stablecoin-denominated payroll product — none of these users want to keep ETH or MATIC or AVAX around just to pay gas. A paymaster lets the app accept the user's stablecoin and quote gas in dollars. Onboarding friction collapses.

Second, recurring payments and automation need policy. Stablecoin payroll, subscription billing, treasury rebalancing, deposit-forwarding — these are scheduled or conditional flows. Account abstraction lets the wallet enforce policy directly: "send 5,000 USDC on the 1st of every month to this address," signed once, executed by a relayer reading the smart account's allowed-operations list. Without account abstraction, every recurring transfer needs a fresh user signature.

Third, stablecoin movement is multi-chain. A treasury holds USDC on Ethereum, USDT on Tron, USDS on Base, FDUSD on Arbitrum. A smart account combined with an intent-based router gives the team a single address per chain (or a single deterministic address across chains via CREATE2) that can route, swap, and rebalance without manual bridge clicks. Eco Routes specifically integrates with smart-account SDKs so that a treasury can sign one intent — "rebalance to 40% USDC on Base" — and the underlying smart accounts execute the legs.

For a deeper look at the integration patterns and which SDKs work best for stablecoin teams, see Account Abstraction for Stablecoin Apps.

Adoption in 2026: by the numbers

Account abstraction shipped to ERC-4337 mainnet in March 2023 and stayed niche for the rest of that year. In 2024 the unlock was Coinbase Smart Wallet and Base; by Q1 2025 the trend was clear. By April 2026:

  • Total UserOperations to date on Ethereum and L2s: ~2.4 billion, per BundleBear's aggregator.

  • Active smart accounts on EVM chains: ~62 million wallets, with Coinbase Smart Wallet and Safe leading.

  • EIP-7702 delegations since Pectra mainnet (May 2025): ~14 million EOAs have signed at least one 7702 authorization, per Dune dashboards aggregating the new tx type.

  • Paymaster sponsorship spend: ~$180M in cumulative gas sponsored by dApps and infra teams since launch.

The growth curve is now app-driven. Apps that ship with sponsored UX out of the box — Farcaster, Polymarket, Coinbase Smart Wallet flows — are the largest acquirers of new smart accounts. Wallet-first products (MetaMask Snaps, Rabby) are catching up via 7702 delegation rather than fresh deploys.

Risks and trade-offs

Account abstraction has real failure modes. A clean framework separates four.

Smart contract risk. A smart account is code. Bugs in the wallet contract, in modules added later, or in the EntryPoint itself can drain funds. Stick to audited reference implementations (Safe, Kernel, Coinbase Smart Wallet, Light Account) and avoid bespoke contracts unless you have audits and bounties to back them up.

Bundler centralization. The ERC-4337 mempool is technically permissionless, but in practice a small number of bundler operators (Pimlico, Stackup, Alchemy, Biconomy) handle most volume. If those operators censor or fail, UserOperations stall. Mitigation: most bundler clients let you fall back to public bundlers or run your own.

Paymaster funding risk. Sponsored gas is fun until the paymaster runs out. Apps that sponsor at scale need to top up regularly, and griefers can drain a paymaster by submitting throwaway UserOperations if rate limits are weak. The standard mitigation is a verifying paymaster that requires a signed eligibility token from the dApp's backend.

Cross-chain consistency. A smart account at address X on Ethereum is not automatically the same wallet at address X on Optimism. CREATE2 deterministic deploys make consistent addresses possible, but only if the same factory and same init bytecode are used everywhere. Wallets that "just work" cross-chain rely on this discipline. See chain abstraction vs multi-chain for how this fits the broader UX picture.

Choosing an SDK

Three SDK families dominate in 2026.

Pimlico ships a permissionless bundler, paymaster, and account toolkit (Permissionless.js) that integrates with Viem, Wagmi, and Ethers. The right choice if you want infrastructure-level control and don't mind orchestrating components yourself. Pimlico documentation is unusually thorough.

ZeroDev ships a higher-level SDK on top of the Kernel smart account, with strong patterns for session keys, recovery, and modular validators. The right choice for consumer apps that want sponsored gas and passkey login as one-liners.

Coinbase Smart Wallet (Wagmi connector) ships a passkey-native, end-user smart wallet that plugs into Wagmi out of the box. Good for retail apps that want zero wallet UI — the user creates an account by tapping their phone's biometric, no extension required. Backed by Coinbase's bundler/paymaster infrastructure.

Plus Safe (multisig-first, treasury default), Alchemy Account Kit (Light Account + Embedded Accounts for sign-in-with-Google), and Biconomy. The full breakdown is in Best Smart Wallet SDKs for Developers.

How Eco Routes fits the smart-wallet world

A smart wallet handles validation, gas sponsorship, batching, and recovery on a single chain. It does not by itself solve the problem of moving stablecoins across chains. That is where Eco Routes layers in.

For a stablecoin team, the integration shape is straightforward: the user's smart account holds the stablecoin on whichever chain it lives, and the app calls Eco Routes via API or SDK to express an intent ("send 10,000 USDC from this account on Base to this account on Solana"). Eco Routes selects between rails — CCTP, Hyperlane, LayerZero — based on cost, speed, and finality, and the smart account on the destination chain receives the stablecoin without the user ever touching a bridge UI. The smart wallet's batched-operation primitive lets the cross-chain leg complete atomically with the next on-chain action — swap, deposit, payment. See Eco's stablecoin SDK comparison for how this slots together with smart-account SDKs.

FAQ

Is account abstraction the same as a smart wallet?

Account abstraction is the protocol-level concept: an account whose validation logic is programmable rather than fixed at the protocol layer. A smart wallet is the user-facing product built on top — an app that exposes the abstracted account through a UI. Every smart wallet uses account abstraction in some form (ERC-4337 or EIP-7702). Not every smart contract that holds funds is a smart wallet.

Do I need ETH to use a smart wallet?

No, if the wallet supports a paymaster. Apps like Coinbase Smart Wallet, ZeroDev, and Alchemy embedded accounts can sponsor gas directly, or accept payment in stablecoins via an ERC-20 paymaster. You can hold and spend USDC end-to-end without ever touching ETH on supported chains.

What's the difference between ERC-4337 and EIP-7702?

ERC-4337 replaces the EOA with a smart contract account and ships out-of-protocol via bundlers. EIP-7702 lets an existing EOA delegate to a smart contract for the duration of a transaction, in-protocol. ERC-4337 is for new wallets; EIP-7702 retrofits smart-wallet behavior onto the 200M+ existing EOAs without migration.

Which chains support account abstraction?

ERC-4337 is deployed on every major EVM chain (Ethereum, all major L2s, Polygon, BNB Chain, Avalanche). EIP-7702 requires the Pectra hard fork and is live on Ethereum mainnet, Base, Optimism, Arbitrum, and most L2s that have shipped Pectra-equivalent upgrades. Solana has its own native account model that differs from both.

Can a smart wallet recover lost funds?

Yes, if the wallet is configured with social recovery or guardian modules. A typical setup lets a quorum of pre-designated guardians rotate the owner key after a time delay, which means a lost device or compromised key does not equal lost funds. This is a hard problem to solve with EOAs, where the private key is the account.

Is account abstraction safe for high-value treasuries?

It can be, with the right contracts. Safe (formerly Gnosis Safe) is the most battle-tested smart account for treasuries, securing tens of billions of dollars across DAOs and corporate balance sheets. Multisig + spending limits + audited modules is the standard pattern. Avoid newer or unaudited smart-wallet contracts for material balances.

Did this answer your question?