Skip to main content

What Is Erc 4337

EntryPoint, UserOperations, bundlers, paymasters — how account abstraction shipped without a hard fork

Written by Eco
What Is ERC-4337?

ERC-4337 is the Ethereum standard that brought account abstraction to the network without requiring a hard fork. It introduced a parallel transaction pipeline — the UserOperation mempool, the EntryPoint contract, bundlers, and paymasters — that lets a smart contract act as the user's account. That single change unlocked passkey logins, gas sponsorship, batched calls, ERC-20 gas payment, and session keys, all from regular wallets.

If you have used Coinbase Smart Wallet, Safe{Wallet}, Argent, or any wallet that lets a dapp pay your gas, you have used ERC-4337 in production. This piece explains what the standard actually does, how UserOperations flow through bundlers and paymasters, where it differs from EIP-7702, and what the live ecosystem looks like in 2026.

What ERC-4337 actually is

ERC-4337 is a specification for account abstraction on Ethereum, finalized in March 2023 by Vitalik Buterin, Yoav Weiss, Dror Tirosh, and others. The key design choice: it ships entirely at the application layer. No consensus changes. No protocol upgrade. Every chain that runs the EVM — Ethereum mainnet, Base, Arbitrum, Optimism, Polygon, zkSync — can support it by deploying a single canonical contract called the EntryPoint.

The standard replaces externally owned accounts (EOAs, the kind controlled by a private key) with smart contract accounts as the primary user surface. A smart contract account can validate signatures however its code wants. That is the abstraction: the rules of "who can spend from this account" are no longer hardcoded to ECDSA over secp256k1. They become arbitrary Solidity.

The follow-on effects matter more than the cryptography. Once accounts are programmable, wallets can:

  • Validate passkeys (WebAuthn, secp256r1) directly onchain, removing seed phrases.

  • Let a third party sponsor gas, so the user does not need ETH to transact.

  • Accept gas in USDC, EURC, or any ERC-20 the wallet's paymaster supports.

  • Batch multiple calls — approve plus swap, mint plus stake — into one signature.

  • Issue session keys with spending limits scoped to a single dapp.

  • Recover access through guardians, social recovery, or multisig logic.

None of this required Ethereum to change. That is the whole point of ERC-4337.

How a UserOperation flows through the system

An ERC-4337 transaction is not an Ethereum transaction. It is a UserOperation — a struct that describes the user's intent — and it travels through a separate mempool before ever touching the base protocol.

The lifecycle has four moving parts:

1. The smart contract account. Each user's wallet is a contract that implements validateUserOp. When a UserOperation arrives, this function decides whether to accept it. The logic can check an ECDSA signature, a passkey signature, a multisig threshold, a session key — whatever the wallet was built for.

2. The UserOperation mempool. Wallets send UserOperations to a public alt-mempool, separate from the standard transaction pool. Bundler nodes listen here.

3. The bundler. A bundler is an off-chain actor that picks up UserOperations, simulates them, and packages one or more into a single Ethereum transaction. It pays gas in ETH up front and gets reimbursed by the account or the paymaster. Pimlico, Stackup, Alchemy, Biconomy, and Candide all run public bundlers in production.

4. The EntryPoint contract. The bundler's transaction calls the EntryPoint — a singleton deployed at the same address across every supported chain (the v0.6 EntryPoint sits at 0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789). EntryPoint runs validation, executes the call, handles refunds, and emits the standard events. Wallets do not call each other directly; they all funnel through this one contract.

The result: from the base layer's perspective, a normal transaction landed. From the user's perspective, they signed a passkey prompt and a sponsor paid the gas. Everything in between is the ERC-4337 plumbing.

Paymasters and what they unlock

The paymaster is the piece of ERC-4337 that most directly changes user experience. A paymaster is a contract that agrees to pay gas for a UserOperation on the user's behalf, in exchange for whatever conditions the paymaster's code enforces.

Three patterns dominate in production:

Sponsored gas. The application pays. A new user opens a Coinbase Smart Wallet, mints an NFT, and never sees a gas prompt — Coinbase's paymaster covered it. Base's onboarding flows lean heavily on this.

ERC-20 gas payment. The user pays in USDC, EURC, or another stablecoin. The paymaster swaps or holds the tokens and reimburses itself in ETH. Circle, Pimlico, and Biconomy all run stablecoin paymasters; the user never needs to hold the native gas token.

Conditional sponsorship. The paymaster pays only if the UserOperation matches a policy — calling a specific contract, signed by a specific session key, under a daily spending cap. This is how dapps subsidize their power users without writing blank checks.

Paymasters turn gas from a user problem into a business decision. That is why every consumer-facing onchain product launched in the last two years assumes account abstraction is available.

ERC-4337 vs EIP-7702: when does each apply?

EIP-7702 shipped with the Pectra upgrade in May 2025 and is often described as "account abstraction without ERC-4337." That framing is half right.

EIP-7702 lets an existing EOA temporarily delegate its execution to a smart contract, for the duration of a single transaction or until the delegation is revoked. The EOA keeps its address and balance. The user signs an authorization, and now their EOA behaves like a smart account — batched calls, sponsored gas, session keys — without deploying a new wallet contract or migrating funds.

The two standards solve overlapping problems with different tradeoffs:

  • ERC-4337 is the right answer when you want a fresh smart-account-native experience: passkey-only signup, no EOA at all, full control over validation logic. New users on Coinbase Smart Wallet or Argent get this path.

  • EIP-7702 is the right answer when the user already has an EOA — a MetaMask address, a hardware wallet, a years-old ENS name — and you want to upgrade their UX without making them migrate. Most existing wallets are adopting 7702 as a complement, not a replacement.

In practice, the two compose. A 7702-delegated EOA can route through the same bundler and paymaster infrastructure that ERC-4337 wallets use, because the underlying execution model — validate, then execute — is shared. For a deeper comparison, see EIP-7702 vs ERC-4337.

Who is actually running ERC-4337 in production?

The standard moved from spec to live infrastructure quickly. As of mid-2026:

  • Coinbase Smart Wallet is fully ERC-4337-based, with passkey signup and Coinbase-sponsored gas on Base.

  • Safe{Wallet} (formerly Gnosis Safe) ships a 4337 module, letting any Safe act as a smart account with bundlers and paymasters.

  • Argent runs 4337 on zkSync and Starknet variants, with social recovery and session keys.

  • Pimlico and Stackup operate the most-used public bundlers and paymasters across 15+ EVM chains.

  • Biconomy ships an SDK that abstracts 4337 plumbing for dapps and runs sponsored-gas paymasters at scale.

  • Alchemy's Account Kit bundles 4337 into a developer SDK with bundler, paymaster, and signer infrastructure.

The throughput has been real. Aggregated UserOperation counts crossed tens of millions in 2024 and kept climbing through 2025 as Base, Polygon, and Arbitrum onboarded consumer apps that default to smart wallets. Best smart wallets in 2026 compares the user-facing options.

What ERC-4337 still does not solve

The standard has tradeoffs worth naming. Validation costs more gas than a plain EOA transaction — usually 30–60% more — because the EntryPoint runs extra logic. Bundler centralization is real; the alt-mempool is public, but most UserOperations route through a handful of operators. Cross-chain address consistency is solved (CREATE2 plus the canonical EntryPoint address), but cross-chain state and recovery are not. And smart contract accounts inherit smart contract risk: a buggy validation function is a buggy wallet.

EIP-7702 addresses some of these by keeping the EOA, which is why most ecosystem teams now treat 4337 and 7702 as a layered stack rather than a competition. EIP-7702 stablecoin use cases covers where 7702 specifically wins for payments.

Why does ERC-4337 matter for stablecoin payments?

Stablecoin flows are the clearest commercial use case for account abstraction. A merchant accepting USDC does not want to explain to a customer that they also need ETH for gas. A treasury moving EURC across chains does not want operators juggling native tokens on every network. Paymasters fix both: the customer pays gas in the same stablecoin they are already sending, or the merchant sponsors it entirely. That is why Circle, Stripe's onchain stack, and most fintech-adjacent crypto products lean on 4337 paymasters as a default.

How do passkeys fit into ERC-4337?

Passkeys use secp256r1 (the curve baked into every phone's secure enclave), not secp256k1 (Ethereum's native curve). An EOA cannot validate a passkey signature. A 4337 smart account can — its validateUserOp function calls a precompile or verifier contract that handles secp256r1. That is how Coinbase Smart Wallet logs users in with Face ID or Touch ID and no seed phrase. Passkey wallets explained walks through the cryptography.

Is ERC-4337 the same as account abstraction?

No. Account abstraction is the broader concept: making accounts programmable so users are not locked into one signature scheme. ERC-4337 is one implementation of that idea, designed to ship without changing Ethereum's consensus. EIP-7702 is another, designed to upgrade existing EOAs in place. Both are forms of account abstraction. What is account abstraction in 2026 covers the full landscape.

Methodology and sources

This article is based on the EIP-4337 specification (eips.ethereum.org/EIPS/eip-4337), the ethereum.org account abstraction roadmap page, Vitalik Buterin's writings on account abstraction history (notably the November 2023 "Account abstraction, take three" post), and direct documentation from Pimlico, Stackup, Biconomy, Alchemy Account Kit, Coinbase Smart Wallet, and Safe. EntryPoint contract addresses and version history were verified against the canonical deployments at 0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789 (v0.6) and 0x0000000071727De22E5E9d8BAf0edAc6f37da032 (v0.7).

Related reading

Did this answer your question?