Account Abstraction
Account abstraction replaces EOAs (externally owned accounts) with programmable smart accounts. ERC-4337 enables this without protocol changes - bundlers submit UserOperations, paymasters sponsor gas, and smart accounts can enforce any validation logic. Combined with intents, users sign what they want rather than how to get it.
ERC-4337 Explained
How account abstraction works - UserOps, bundlers, entry points, and the mempool
Paymasters & Gas Sponsorship
Pay gas in any token or let dApps sponsor it - how paymasters transform UX
Intent-Based Trading
Sign what you want, not how - solvers compete to fill your intent optimally
How ERC-4337 actually works
Account abstraction on Ethereum today is almost entirely ERC-4337 - a standard that lives in smart contracts without touching the protocol. The user's wallet is a smart contract (a "smart account") whose address is deterministic from a factory. Instead of sending a regular transaction signed by an EOA, the user signs a UserOperation struct: sender, nonce, initCode, callData, three gas limits (callGasLimit, verificationGasLimit, preVerificationGas), maxFeePerGas, maxPriorityFeePerGas, a paymasterAndData field, and a signature. The UserOp is broadcast to a separate mempool that bundler nodes maintain, not to the regular Ethereum mempool.
A bundler - Pimlico, Stackup, Alchemy, Biconomy, Candide, or an in-house bundler run by the dApp - collects incoming UserOps, simulates each one's validateUserOp method under ERC-7562's strict opcode rules to make sure the validation is deterministic, and batches profitable UserOps into a single call to the EntryPoint contract (address 0x5FF1...2789 for v0.6, with v0.7 deployed on most L2s as of April 2026). The EntryPoint's handleOps function iterates over the bundle, calls each account's validateUserOp, deducts prefunded gas, executes the embedded callData on the account, invokes any paymaster's validatePaymasterUserOp and postOp hooks, and finally refunds unused gas back to the bundler and the user.
The power of this pipeline is that every piece is swappable. The account can enforce any validation logic - a 2-of-3 multisig, a passkey signature, a session key with a spending cap, a hardware-module attestation - because validateUserOp is just a Solidity function on the account. The paymaster can sponsor gas in ETH, charge the user in any ERC-20 via an on-chain oracle, or require that the user hold a specific attestation. And because the signer does not have to be the account itself, users can recover accounts by adding new signers without needing to remember a seed phrase, which is the reason Coinbase Smart Wallet could make passkey-based ERC-4337 wallets its default onboarding model.
Key concepts
- UserOperation
- The ERC-4337 struct that replaces a transaction for smart-account users. Contains sender, nonce, initCode, callData, three gas fields (callGasLimit, verificationGasLimit, preVerificationGas), maxFeePerGas, maxPriorityFeePerGas, paymasterAndData, and signature. Bundlers batch many UserOps into a single on-chain
handleOpscall to amortize the bundler's transaction overhead across the bundle. - Bundler
- An RPC node that maintains a separate mempool for UserOperations, exposes
eth_sendUserOperation, simulates validation under ERC-7562's opcode-rule sandbox, and periodically submits the profitable UserOps as a singlehandleOpsbundle to the EntryPoint. Because handleOps is permissionless, the bundler market is open - Pimlico, Stackup, Alchemy, Biconomy, Candide, and numerous in-house bundlers (MetaMask Delegation Toolkit, 1inch, Coinbase) all ship their own. - EntryPoint contract
- The single trusted contract on each chain that executes UserOps. It is the only contract the account needs to trust at the validation boundary: validateUserOp must reject any signature that does not authorize a call from EntryPoint, and EntryPoint enforces the per-UserOp gas accounting plus the paymaster pre/post hooks. Canonical addresses: 0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789 (v0.6), plus the v0.7 entry point rolled out across mainnet, Arbitrum, Base, Optimism, Polygon, and Linea through 2024-2025.
- Paymaster
- A contract staked on EntryPoint that agrees to pay gas for UserOps in exchange for off- or on-chain compensation. Three dominant patterns: sponsor paymasters (dApp pays ETH to onboard users), ERC-20 paymasters (accept any token at an oracle price so users never need ETH), and credential paymasters (sponsor only if the user holds a specific NFT or attestation). Paymasters are why Base's Smart Wallet can onboard users in under 30 seconds with no prior balance.
- Session keys and modular accounts
- A session key is a secondary signer registered with the account under tight on-chain policies - for example, 'may call only Uniswap Universal Router for up to 50 USDC until Friday'. Modular account standards (ERC-7579, Safe's Modules, ZeroDev Kernel, Biconomy Nexus) let a smart account plug in validators, executors, and hooks without redeploying. The combination unlocks game wallets, agentic flows, and subscription payments that EOAs cannot express.
- EIP-7702 and RIP-7560
- EIP-7702 (shipped in the Pectra upgrade, 2025) lets an EOA temporarily delegate execution to a smart-contract implementation via a signed authorization tuple, so MetaMask EOAs can gain batching and sponsorship without migrating. RIP-7560 is the proposed native AA path that would merge EOAs and smart accounts at the protocol level. As of April 2026, EIP-7702 is live and ERC-4337 is the dominant standard; RIP-7560 remains a research proposal on the EVM roadmap.
Why account abstraction matters
As of April 2026, more than 20 million smart accounts have been deployed across ERC-4337 implementations (Safe, Kernel, Biconomy Nexus, Coinbase Smart Wallet, Candide), with Coinbase Smart Wallet alone crossing 10M users after making passkey-based ERC-4337 accounts the default onboarding model. Monthly UserOperations volume aggregated across networks is on the order of 30-60M, with the bulk of activity concentrated on Base, Arbitrum, Polygon, Optimism, and Linea because their paymaster subsidies make gas sponsorship economically viable. The trend is no longer 'will account abstraction win' - it is which implementation (4337 contract accounts, 7702 EOA delegation, eventually 7560 native AA) will dominate for each use case.
The importance of ERC-4337 is that it converts 'every DeFi UX problem is a seed-phrase and a gas-token problem' into a contract-level concern that dApp developers can solve without asking users to change wallets. Gasless onboarding (paymasters), social and passkey recovery (custom validateUserOp), transaction batching (multiple calls in one UserOp), session keys for games and agents, and intent-based trading via solver networks all become primitive building blocks once the account is a programmable contract. The combination is why every new consumer-oriented L2 launches with AA as the default, and why the wallet stack is consolidating onto modular smart-account frameworks - ZeroDev Kernel, Safe Core, Biconomy Nexus - rather than shipping bespoke account implementations for every dApp.
Frequently asked questions
- What is a UserOperation and how is it different from a regular Ethereum transaction?
- A UserOperation (UserOp) is a struct defined by ERC-4337 containing the sender smart-account address, nonce, initCode (optional - deploys the account if it doesn't yet exist), callData, three gas limits (callGasLimit, verificationGasLimit, preVerificationGas), maxFeePerGas, maxPriorityFeePerGas, a paymasterAndData field, and a signature. Unlike a regular transaction, the signer does not have to be the account itself; the account's own validation logic decides whether the signature is valid. Bundlers batch many UserOps into a single on-chain call to the EntryPoint contract (handleOps), amortizing the bundler's transaction overhead across the whole bundle.
- What role does the EntryPoint contract play in ERC-4337?
- The EntryPoint is the single trusted contract that executes UserOperations. When a bundler calls handleOps with a batch, EntryPoint loops over each UserOp: it calls the sender's validateUserOp method (which must return 0 or a packed validation timestamp), deducts prefunded gas, executes the account's callData via the account contract itself, and refunds the unused gas. EntryPoint also pays the bundler by tracking gas spent against each UserOp's maxFeePerGas, and for paymaster-sponsored UserOps it invokes the paymaster's validatePaymasterUserOp and postOp hooks. The canonical EntryPoint v0.6 address on mainnet is 0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789, and v0.7 is rolled out on most L2s as of early 2026.
- How does a bundler work and is the bundler market open?
- A bundler is an Ethereum-like RPC node that maintains a separate mempool for UserOperations. It listens on eth_sendUserOperation, validates incoming UserOps locally (simulates validateUserOp inside an eth_call with strict opcode rules from ERC-7562), and periodically batches the profitable ones into a single handleOps transaction. Pimlico, Stackup, Alchemy, Biconomy, and Candide run public bundlers today; MetaMask's Delegation Toolkit and 1inch ship in-house bundlers for their flows. Because handleOps is permissionless, anyone can run a bundler, but the economics tilt toward bundlers who can offer L2 gas rebates (via the sequencer) or paymaster-style sponsorships that lock order flow.
- What is a paymaster and what business models does it enable?
- A paymaster is a contract staked on EntryPoint that agrees to pay gas for UserOps in exchange for off-chain or on-chain compensation. Three patterns dominate: (1) sponsor paymasters - a dApp sponsors gas to onboard new users, paid in ETH from the dApp's treasury; (2) ERC-20 paymasters - the paymaster accepts any ERC-20 (USDC, DAI, the dApp's own token) at a spot price fetched from an oracle, so the user never needs to hold ETH at all; (3) session-key / verifiable-credentials paymasters - the paymaster sponsors gas only if the user holds a specific NFT or passes an off-chain signed attestation. All three unlock UX that EOAs cannot match: Base's Coinbase Smart Wallet uses (1) for passkey onboarding, while Linea and Polygon zkEVM heavily subsidize (2).
- How is ERC-4337 different from EIP-7702 and native account abstraction (RIP-7560)?
- ERC-4337 is pure opt-in - it lives entirely in user-space contracts and needs no protocol change. EIP-7702 (included in Pectra, 2025) lets a normal EOA temporarily delegate execution to a smart-contract implementation via a signed authorization tuple, so existing MetaMask wallets can gain batching and sponsorship without migrating. RIP-7560 is the proposed native AA on the EVM roadmap that would merge EOAs and smart accounts at the protocol level, making every account capable of custom validation without a separate bundler mempool. EIP-7702 is live; RIP-7560 is still a research proposal. ERC-4337 is the path of least resistance for new smart-wallet products today because it requires no fork.
- What are session keys and why are they the killer feature for games and agentic flows?
- A session key is a secondary key registered with the smart account under tight constraints - for example, 'may call only the Uniswap Universal Router', 'may spend at most 50 USDC', 'valid until Friday 5pm UTC'. The account's validateUserOp method checks both the session-key signature and the on-chain policy before approving the UserOp. This unlocks two categories: (1) games can keep a hot signing key in the browser tab that can mint NFTs, place orders, or craft in-game items without re-prompting the user; (2) agentic flows - an AI agent with a scoped session key can transact on behalf of a user for a bounded blast radius. Safe{Core}, ZeroDev Kernel, and Biconomy's Nexus all ship session keys as first-class modules.
- How many smart accounts are actually in use as of April 2026?
- As of April 2026, cumulative smart-account deployments across ERC-4337 implementations (Safe, Kernel, Biconomy Nexus, Coinbase Smart Wallet, Candide) are north of 20 million, with the bulk originating on Base, Arbitrum, Polygon, Optimism, and Linea thanks to L2 gas subsidies that make paymaster sponsorship cheap. Coinbase Smart Wallet alone crossed 10M users in early 2026 after making passkey-based ERC-4337 accounts the default for Coinbase onboarding. Monthly UserOperations volume is on the order of 30-60M on-chain entries aggregated across networks. The steady trend is that every new consumer L2 launches with AA as the default account model rather than bolting it on later.