THE SIGNAL
BY
THE ARCH

Where Web3 founders, talent, and partners meet.

Directory

  • Partners Directory
  • All Categories
  • Compare Partners
  • For Founders
  • Find Your Match
  • Pricing

Get Involved

  • Get Listed
  • Submit an Event
  • Become an Operative
  • Refer a Client
  • Get Your Badge
  • πŸ“… Book a Call

News & Intelligence

  • Web3 News
  • Daily Digests
  • Intelligence Reports
  • Web3 Events
  • RSS Feed
  • Substack Newsletter

Contact

  • support@thesignal.directory
  • @thesignaldirectorybot

Company

  • About
  • How It Works
  • Manifesto
  • Demo

Legal

  • Privacy
  • Terms
  • Cookies

Resources

  • Guides
  • Sales Decks
  • Docs

Β© 2026 THE SIGNAL. All rights reserved.

THE SIGNAL
BY
THE ARCH

Where Web3 founders, talent, and partners meet.

Directory

  • Partners Directory
  • All Categories
  • Compare Partners
  • For Founders
  • Find Your Match
  • Pricing

Get Involved

  • Get Listed
  • Submit an Event
  • Become an Operative
  • Refer a Client
  • Get Your Badge
  • πŸ“… Book a Call

News & Intelligence

  • Web3 News
  • Daily Digests
  • Intelligence Reports
  • Web3 Events
  • RSS Feed
  • Substack Newsletter

Contact

  • support@thesignal.directory
  • @thesignaldirectorybot

Company

  • About
  • How It Works
  • Manifesto
  • Demo

Legal

  • Privacy
  • Terms
  • Cookies

Resources

  • Guides
  • Sales Decks
  • Docs

Β© 2026 THE SIGNAL. All rights reserved.

Home/Intelligence/Account Abstraction Explained: ERC-4337 Implementation Guide for Builders

Account Abstraction Explained: ERC-4337 Implementation Guide for Builders

A comprehensive implementation guide to ERC-4337 account abstraction covering smart accounts, bundlers, paymasters, and gasless transactions. Includes code examples, cost breakdowns, and production deployment strategies for Web3 builders.

Samir Touinssi
Written by
Samir Touinssi
From The Arch Consulting
March 20, 2026β€’32 min read
Account Abstraction Explained: ERC-4337 Implementation Guide for Builders

Account abstraction via ERC-4337 eliminates the biggest friction point in Web3: forcing every user to manage private keys, hold ETH for gas, and sign raw transactions. With ERC-4337, developers can build smart contract wallets that support gasless transactions, social recovery, session keys, and batched operations β€” all without any changes to the Ethereum protocol itself. As of March 2026, over 47 million ERC-4337 smart accounts have been deployed across Ethereum, Polygon, Arbitrum, Base, and Optimism, processing more than 230 million UserOperations since the standard went live on mainnet in March 2023. This guide walks you through every component of the ERC-4337 stack, from EntryPoint contracts to bundler configuration and paymaster sponsorship, with production-ready code examples and real cost data.

If you are building a dApp and want mainstream adoption, account abstraction is no longer optional. Projects like Coinbase Smart Wallet, Safe (formerly Gnosis Safe), and Alchemy's Modular Account have proven that abstracting the wallet layer can increase onboarding conversion rates by 30-60%. The include teams specializing in ERC-4337 integration for production dApps.

Related Intelligence

Navigating the Week Ahead: Essential Web3 Market Analysis for Strategic Founders

3/22/2026

Unpacking Web3 Builder Ecosystem Insights Amidst Quiet Activity

3/21/2026

Layer 2 Scaling Solutions Compared: Rollups, Sidechains & Validiums

Layer 2 Scaling Solutions Compared: Rollups, Sidechains & Validiums

3/20/2026

Need Web3 Consulting?

Get expert guidance from The Arch Consulting on blockchain strategy, tokenomics, and Web3 growth.

Learn More
Back to Intelligence

Table of Contents

What Is Account Abstraction and Why Does ERC-4337 Matter?Core Benefits for BuildersThe ERC-4337 Architecture: Components Deep Dive1. UserOperation: The New Transaction Primitive2. EntryPoint: The Singleton Orchestrator3. Smart Account: Your Programmable Wallet4. Bundler: The Off-Chain Relay5. Paymaster: Sponsoring GasStep-by-Step Implementation GuideStep 1: Install DependenciesStep 2: Configure the Smart Account ClientStep 3: Send a Gasless TransactionStep 4: Batch Multiple OperationsStep 5: Implement Social RecoveryStep 6: Session Keys for Seamless Gaming/DeFiPasskey Integration: WebAuthn WalletsCost Analysis: ERC-4337 in Production
Home/Intelligence/Account Abstraction Explained: ERC-4337 Implementation Guide for Builders

Account Abstraction Explained: ERC-4337 Implementation Guide for Builders

A comprehensive implementation guide to ERC-4337 account abstraction covering smart accounts, bundlers, paymasters, and gasless transactions. Includes code examples, cost breakdowns, and production deployment strategies for Web3 builders.

Samir Touinssi
Written by
Samir Touinssi
From The Arch Consulting
March 20, 2026β€’32 min read
Account Abstraction Explained: ERC-4337 Implementation Guide for Builders

Account abstraction via ERC-4337 eliminates the biggest friction point in Web3: forcing every user to manage private keys, hold ETH for gas, and sign raw transactions. With ERC-4337, developers can build smart contract wallets that support gasless transactions, social recovery, session keys, and batched operations β€” all without any changes to the Ethereum protocol itself. As of March 2026, over 47 million ERC-4337 smart accounts have been deployed across Ethereum, Polygon, Arbitrum, Base, and Optimism, processing more than 230 million UserOperations since the standard went live on mainnet in March 2023. This guide walks you through every component of the ERC-4337 stack, from EntryPoint contracts to bundler configuration and paymaster sponsorship, with production-ready code examples and real cost data.

If you are building a dApp and want mainstream adoption, account abstraction is no longer optional. Projects like Coinbase Smart Wallet, Safe (formerly Gnosis Safe), and Alchemy's Modular Account have proven that abstracting the wallet layer can increase onboarding conversion rates by 30-60%. The include teams specializing in ERC-4337 integration for production dApps.

Related Intelligence

Navigating the Week Ahead: Essential Web3 Market Analysis for Strategic Founders

3/22/2026

Unpacking Web3 Builder Ecosystem Insights Amidst Quiet Activity

3/21/2026

Layer 2 Scaling Solutions Compared: Rollups, Sidechains & Validiums

Layer 2 Scaling Solutions Compared: Rollups, Sidechains & Validiums

3/20/2026

Need Web3 Consulting?

Get expert guidance from The Arch Consulting on blockchain strategy, tokenomics, and Web3 growth.

Learn More
Back to Intelligence

Table of Contents

What Is Account Abstraction and Why Does ERC-4337 Matter?Core Benefits for BuildersThe ERC-4337 Architecture: Components Deep Dive1. UserOperation: The New Transaction Primitive2. EntryPoint: The Singleton Orchestrator3. Smart Account: Your Programmable Wallet4. Bundler: The Off-Chain Relay5. Paymaster: Sponsoring GasStep-by-Step Implementation GuideStep 1: Install DependenciesStep 2: Configure the Smart Account ClientStep 3: Send a Gasless TransactionStep 4: Batch Multiple OperationsStep 5: Implement Social RecoveryStep 6: Session Keys for Seamless Gaming/DeFiPasskey Integration: WebAuthn WalletsCost Analysis: ERC-4337 in Production
development partners in our directory

What Is Account Abstraction and Why Does ERC-4337 Matter?

Traditional Ethereum accounts come in two flavors: Externally Owned Accounts (EOAs) controlled by a private key, and Contract Accounts that run code. EOAs are the only type that can initiate transactions, which creates a fundamental UX problem. Users must safeguard a seed phrase, maintain an ETH balance for gas, and approve every action one at a time.

ERC-4337, authored by Vitalik Buterin, Yoav Weiss, Kristof Gazso, Namra Patel, Dror Tirosh, and Shahaf Nacson, introduces a parallel mempool system that allows smart contract wallets to function as first-class accounts. Instead of sending transactions directly to the Ethereum mempool, users sign UserOperations (UserOps) β€” data structures describing the intended action. These UserOps flow through an alternative mempool, are collected by Bundlers, and executed on-chain via a singleton EntryPoint contract.

The key innovation: ERC-4337 achieves account abstraction without requiring a hard fork or protocol change. It works on Ethereum mainnet today, and on every EVM-compatible chain.

Core Benefits for Builders

FeatureEOA WalletERC-4337 Smart Account
Gas paymentUser must hold native tokenSponsor via Paymaster (any token or free)
Key managementSingle private keyMulti-sig, social recovery, passkeys
Transaction batchingOne tx per signatureMultiple ops in single UserOp
Programmable validationNot possibleCustom logic (spending limits, time locks)
Key rotationImpossible (new address)Rotate keys, keep same address
Session keysNot possibleDelegated permissions with expiry
Onboarding UXSeed phrase + ETH requiredEmail/social login, no gas needed

According to Dune Analytics, the number of monthly active ERC-4337 accounts crossed 8.3 million in February 2026, up from 1.2 million in February 2025 β€” a 591% year-over-year growth rate.

The ERC-4337 Architecture: Components Deep Dive

Understanding the full ERC-4337 stack is essential before writing code. There are five core components that interact in a specific flow.

1. UserOperation: The New Transaction Primitive

A UserOperation is a pseudo-transaction object signed by the user but not broadcast to the standard mempool. It contains:

interface PackedUserOperation {
  sender: address;           // Smart account address
  nonce: uint256;            // Anti-replay nonce
  initCode: bytes;           // Factory address + init data (for first-time deployment)
  callData: bytes;           // Encoded function call(s) on the smart account
  accountGasLimits: bytes32; // Packed verificationGasLimit + callGasLimit
  preVerificationGas: uint256; // Gas for bundler overhead
  gasFees: bytes32;          // Packed maxFeePerGas + maxPriorityFeePerGas
  paymasterAndData: bytes;   // Paymaster address + gas limits + paymaster-specific data
  signature: bytes;          // Validation signature (flexible format)
}

With ERC-4337 v0.7 (the current standard as of March 2026), UserOps use a "packed" format that reduces calldata costs by approximately 20% compared to v0.6.

2. EntryPoint: The Singleton Orchestrator

The EntryPoint is a single, audited, immutable contract deployed at the same address on every EVM chain: 0x0000000071727De22E5E9d8BAf0edAc6f37da032 (v0.7). It performs two critical phases:

  1. β€’Verification Loop β€” Calls validateUserOp() on each smart account (and optionally validatePaymasterUserOp() on the paymaster). Reverts are isolated per-UserOp.
  2. β€’Execution Loop β€” Calls the smart account with the provided callData. Failures here do not revert the entire bundle.

The EntryPoint v0.7 contract has been audited by OpenZeppelin, Spearbit, and Alchemy's internal team. It handles roughly $2.8 billion in monthly transaction volume across all chains.

3. Smart Account: Your Programmable Wallet

The smart account is the user's on-chain identity. It must implement the IAccount interface:

interface IAccount {
    function validateUserOp(
        PackedUserOperation calldata userOp,
        bytes32 userOpHash,
        uint256 missingAccountFunds
    ) external returns (uint256 validationData);
}

Popular smart account implementations include:

ImplementationModulesAuditsDeployed Accounts
Safe (v1.4.1+)ERC-7579 compatible12+ audits14.2M+
Alchemy Modular AccountERC-6900 nativeSpearbit, Quantstamp6.8M+
Kernel (ZeroDev)ERC-7579 native3 audits4.1M+
Coinbase Smart WalletCustom + passkeysOpenZeppelin11.5M+
Biconomy NexusERC-7579 nativeCyfrin3.9M+

4. Bundler: The Off-Chain Relay

Bundlers collect UserOps from the alternative mempool, simulate them locally, group valid ones into a single handleOps() transaction, and submit it to the blockchain. They earn the gas fee difference as profit.

Leading bundler services:

ProviderChains SupportedFree TierPaid Pricing
Alchemy Rundler12 chains100K UserOps/month$49/mo + usage
Pimlico Alto30+ chains10K UserOps/month$99/mo + usage
Stackup8 chains25K UserOps/month$79/mo + usage
Biconomy20+ chains50K UserOps/monthCustom
Self-hosted (Silius/Rundler)Any EVMFreeInfrastructure cost

Running a self-hosted bundler (Rundler is open-source by Alchemy, Silius by Vid201) costs approximately $200-400/month in cloud infrastructure but gives you full control and zero per-UserOp fees.

5. Paymaster: Sponsoring Gas

Paymasters are the game-changer for UX. They allow a third party to pay gas fees on behalf of the user. Two main types:

  • β€’Verifying Paymaster β€” Approves sponsorship based on off-chain logic (e.g., your backend signs an approval). Cost: you pay the gas.
  • β€’ERC-20 Paymaster β€” User pays gas in ERC-20 tokens (USDC, DAI) instead of ETH. The paymaster swaps on-chain.

Paymaster sponsorship costs on mainnet average $0.08-0.25 per UserOp on Ethereum L1, but only $0.001-0.01 on L2s like Base or Arbitrum, making L2 deployment the practical choice for consumer apps.

Step-by-Step Implementation Guide

Let's build a production-ready ERC-4337 integration. We will use the Permissionless.js library (by Pimlico), which is the most widely adopted TypeScript SDK for ERC-4337 with 3,200+ GitHub stars.

Step 1: Install Dependencies

npm install permissionless viem@^2.21

Permissionless.js is built on top of viem, the modern TypeScript Ethereum library that has largely replaced ethers.js in new projects (28K+ GitHub stars).

Step 2: Configure the Smart Account Client

import { createSmartAccountClient } from "permissionless";
import { toSafeSmartAccount } from "permissionless/accounts";
import { createPimlicoClient } from "permissionless/clients/pimlico";
import { createPublicClient, http } from "viem";
import { base } from "viem/chains";
import { privateKeyToAccount } from "viem/accounts";

// 1. Set up the signer (in production, use passkeys or social login)
const owner = privateKeyToAccount("0xYOUR_PRIVATE_KEY");

// 2. Create a public client for chain reads
const publicClient = createPublicClient({
  chain: base,
  transport: http("https://mainnet.base.org"),
});

// 3. Create a Pimlico bundler/paymaster client
const pimlicoClient = createPimlicoClient({
  chain: base,
  transport: http("https://api.pimlico.io/v2/base/rpc?apikey=YOUR_KEY"),
  entryPoint: { address: "0x0000000071727De22E5E9d8BAf0edAc6f37da032", version: "0.7" },
});

// 4. Initialize a Safe smart account
const safeAccount = await toSafeSmartAccount({
  client: publicClient,
  owners: [owner],
  version: "1.4.1",
  entryPoint: { address: "0x0000000071727De22E5E9d8BAf0edAc6f37da032", version: "0.7" },
  safe4337ModuleAddress: "0x75cf11467937ce3F2f357CE24ffc3DBF8fD5c226",
  erc7579LaunchpadAddress: "0xEBe001b3D534B9B6E2500FB78E67a1A137f561CE",
});

// 5. Create the smart account client
const smartAccountClient = createSmartAccountClient({
  account: safeAccount,
  chain: base,
  bundlerTransport: http("https://api.pimlico.io/v2/base/rpc?apikey=YOUR_KEY"),
  paymaster: pimlicoClient,
  userOperation: {
    estimateFeesPerGas: async () => (await pimlicoClient.getUserOperationGasPrice()).fast,
  },
});

Step 3: Send a Gasless Transaction

// Send a sponsored (gasless) transaction
const txHash = await smartAccountClient.sendTransaction({
  to: "0xRecipientAddress",
  value: 0n,
  data: "0x", // or encoded contract call
});

console.log("Transaction hash:", txHash);
// The user paid zero gas β€” the paymaster covered it

Behind the scenes, the SDK: constructs a UserOp, estimates gas via the bundler, requests paymaster sponsorship, signs with the owner key, submits to the bundler, and waits for on-chain inclusion.

Step 4: Batch Multiple Operations

One of account abstraction's killer features is batching. Execute multiple contract calls in a single UserOp:

const txHash = await smartAccountClient.sendTransaction({
  calls: [
    {
      to: "0xTokenA",
      data: encodeFunctionData({
        abi: erc20Abi,
        functionName: "approve",
        args: ["0xDEXRouter", parseUnits("1000", 6)],
      }),
    },
    {
      to: "0xDEXRouter",
      data: encodeFunctionData({
        abi: routerAbi,
        functionName: "swap",
        args: [/* swap params */],
      }),
    },
    {
      to: "0xFarmingContract",
      data: encodeFunctionData({
        abi: farmAbi,
        functionName: "deposit",
        args: [/* deposit params */],
      }),
    },
  ],
});
// Approve + Swap + Deposit in ONE transaction, ONE signature

This saves users approximately 40-60% in gas costs compared to three separate EOA transactions, and the UX is a single confirmation.

Step 5: Implement Social Recovery

Social recovery lets users designate guardians who can collectively authorize a key rotation if the primary key is lost:

// Simplified social recovery module
contract SocialRecoveryModule {
    mapping(address => address[]) public guardians;
    mapping(address => uint256) public threshold;
    mapping(bytes32 => mapping(address => bool)) public approvals;
    mapping(bytes32 => uint256) public approvalCount;

    function addGuardian(address guardian) external {
        // Called by the smart account itself
        guardians[msg.sender].push(guardian);
    }

    function initiateRecovery(
        address account,
        address newOwner
    ) external {
        require(isGuardian(account, msg.sender), "Not a guardian");
        bytes32 recoveryId = keccak256(abi.encode(account, newOwner, block.timestamp));
        approvals[recoveryId][msg.sender] = true;
        approvalCount[recoveryId]++;

        if (approvalCount[recoveryId] >= threshold[account]) {
            ISmartAccount(account).rotateOwner(newOwner);
        }
    }
}

Safe's social recovery module supports up to 20 guardians with configurable M-of-N thresholds. ZeroDev's weighted recovery allows different guardians to have different weights (e.g., hardware wallet = 3, friend = 1, threshold = 3).

Step 6: Session Keys for Seamless Gaming/DeFi

Session keys let users pre-approve specific actions for a limited time, eliminating per-transaction confirmations:

import { toPermissionValidator } from "permissionless/experimental";

// Create a session key with spending limits
const sessionKey = await toPermissionValidator(publicClient, {
  signer: sessionSigner,
  policies: [
    {
      type: "sudo", // or use specific policies
    },
    // Or granular: specific contract + function + value limits
    {
      type: "call",
      target: "0xGameContract",
      selector: "0x12345678", // specific function
      maxValue: parseEther("0.1"),
      validUntil: Math.floor(Date.now() / 1000) + 3600, // 1 hour
    },
  ],
});

Session keys have become essential for Web3 gaming. Ronin's implementation (Axie Infinity) processes 800K+ session-key transactions daily, and the upcoming Treasure Chain uses them for all in-game actions.

Passkey Integration: WebAuthn Wallets

The most exciting account abstraction UX pattern in 2026 is passkey-based wallets. Users authenticate with Face ID, Touch ID, or Windows Hello β€” no seed phrase, no extension, no mobile app.

import { toWebAuthnAccount } from "viem/account-abstraction";

// Register a passkey
const credential = await navigator.credentials.create({
  publicKey: {
    rp: { name: "My dApp" },
    user: { id: userId, name: userEmail, displayName: userName },
    challenge: randomChallenge,
    pubKeyCredParams: [{ alg: -7, type: "public-key" }], // ES256
    authenticatorSelection: {
      authenticatorAttachment: "platform",
      residentKey: "required",
      userVerification: "required",
    },
  },
});

// Create a WebAuthn smart account
const webAuthnAccount = toWebAuthnAccount({
  credential: { id: credential.id, publicKey: extractPublicKey(credential) },
});

Coinbase Smart Wallet uses this pattern and has onboarded over 11.5 million users. Their data shows a 78% completion rate for passkey onboarding versus 23% for traditional seed phrase flows.

Cost Analysis: ERC-4337 in Production

Real gas costs as of March 2026 (average UserOp):

ChainUserOp Gas UsedCost (USD)vs. EOA Transfer
Ethereum L1420,000$2.80-8.502.1x more expensive
Base420,000$0.003-0.011.8x more expensive
Arbitrum One420,000$0.01-0.041.9x more expensive
Optimism420,000$0.005-0.021.8x more expensive
Polygon PoS420,000$0.004-0.012.0x more expensive
zkSync Era~350,000 (native AA)$0.008-0.031.0x (native)

Key takeaway: L2s make account abstraction economically viable for consumer apps. A paymaster sponsoring 100,000 UserOps/month on Base costs approximately $300-1,000 β€” a reasonable customer acquisition cost.

Monthly Infrastructure Cost Breakdown

ComponentSelf-HostedManaged Service
Bundler$200-400/mo (cloud)$49-199/mo + per-op
Paymaster depositVariable (gas sponsorship)Same
RPC node$0-100/moIncluded
Smart account factory deploymentOne-time ~$50 (L2)Free (shared)
Total fixed cost$200-500/mo$49-199/mo
Per-UserOp cost (Base)$0.003-0.01$0.005-0.015

Security Considerations

Account abstraction introduces new attack surfaces that builders must address:

  1. β€’

    Signature replay β€” Always include chain ID and EntryPoint address in the signed hash. The v0.7 EntryPoint handles this, but custom validation logic must be careful.

  2. β€’

    Paymaster griefing β€” Malicious UserOps can drain paymaster deposits. Implement rate limiting and off-chain verification in your verifying paymaster.

  3. β€’

    Storage access restrictions β€” During validation, smart accounts can only access their own associated storage (slots defined by the account address). Violating this causes bundler rejection. This is the most common implementation bug.

  4. β€’

    Bundler DOS β€” Bundlers must simulate UserOps before inclusion. A malicious account that passes simulation but reverts on-chain wastes bundler gas. The ERC-4337 mempool rules (ERC-7562) enforce strict validation rules to prevent this.

  5. β€’

    Upgrade risks β€” If your smart account is upgradeable (proxy pattern), a malicious upgrade could drain all funds. Use timelocks and multi-sig governance for upgrade authority.

The security auditors in our directory have experience auditing ERC-4337 implementations, including smart account modules and paymaster contracts. Book a consultation to discuss your security review needs.

ERC-7579: The Module Standard

ERC-7579 is the emerging standard for modular smart accounts, allowing plug-and-play functionality:

  • β€’Validators β€” Custom signature verification (passkeys, multisig, MPC)
  • β€’Executors β€” Automated actions (DCA, stop-loss, recurring payments)
  • β€’Hooks β€” Pre/post-execution checks (spending limits, allowlists)
  • β€’Fallback handlers β€” Extended functionality (ERC-721 receiver, flash loans)

The Rhinestone Module Registry (launched September 2025) now lists 47 audited modules that any ERC-7579 account can install. This composability means you don't need to build everything from scratch.

// Install a spending limit module on a Safe account
const installTx = await smartAccountClient.sendTransaction({
  to: safeAccount.address,
  data: encodeFunctionData({
    abi: safe7579Abi,
    functionName: "installModule",
    args: [
      1, // module type: validator
      "0xSpendingLimitModule",
      encodeAbiParameters(
        [{ type: "uint256" }],
        [parseEther("1.0")] // 1 ETH daily limit
      ),
    ],
  }),
});

Production Deployment Checklist

Before going live with ERC-4337, ensure:

  1. β€’Smart account factory deployed and verified on your target chains
  2. β€’Bundler configured with proper gas price oracle and retry logic
  3. β€’Paymaster funded with sufficient deposit (monitor with alerts)
  4. β€’UserOp simulation tested against edge cases (out of gas, reverts, concurrent nonces)
  5. β€’Fallback signer implemented (what happens if your auth service goes down?)
  6. β€’Gas estimation buffer set to 20-30% above estimates (network congestion handling)
  7. β€’Monitoring for paymaster balance, bundler health, UserOp success rates
  8. β€’Upgrade path defined for smart account contract migrations
  9. β€’Recovery flow tested end-to-end (guardian recovery, key rotation)
  10. β€’Rate limiting on paymaster to prevent sponsorship abuse

Real-World Case Studies

Coinbase Smart Wallet: Deployed on Base, uses passkey authentication. 11.5M accounts, processes 2.1M UserOps daily. Their paymaster sponsors all gas for approved dApps in the Coinbase ecosystem. Conversion rate from landing page to first on-chain action: 62%.

Worldcoin World App: 8.2M verified users with smart accounts on Optimism. Uses session keys for frictionless transfers. Gas sponsorship cost: $0.003 per operation on average.

Patch Wallet: Email-based wallet creation using ERC-4337 on Polygon. 1.8M wallets created with zero crypto knowledge required. Average paymaster cost per user per month: $0.12.

Tools and Resources for Builders

ToolPurposeLink
Permissionless.jsTypeScript SDK for ERC-4337github.com/pimlicoHQ/permissionless.js
Viem Account AbstractionCore types and utilitiesviem.sh/account-abstraction
userop.jsLightweight UserOp buildergithub.com/stackup-wallet/userop.js
ERC-4337 Bundler SpecStandard RPC methodseips.ethereum.org/EIPS/eip-4337
Rhinestone Module RegistryAudited ERC-7579 modulesregistry.rhinestone.wtf
Alto Bundler (Pimlico)Open-source TypeScript bundlergithub.com/pimlicoHQ/alto
Rundler (Alchemy)Open-source Rust bundlergithub.com/alchemyplatform/rundler

If you need expert help implementing ERC-4337, browse our development directory for teams with proven account abstraction experience, or post a project request to receive proposals from qualified builders. For security audits of your smart account contracts, check our security partners.

What's Coming: EIP-7702 and Native Account Abstraction

EIP-7702 (included in the Ethereum Pectra upgrade, live since early 2025) allows EOAs to temporarily delegate to smart contract code within a single transaction. This bridges the gap between EOAs and smart accounts, letting existing MetaMask users access batching and sponsorship without migrating to a new address.

The longer-term roadmap includes full native account abstraction (where EOAs become smart accounts at the protocol level), but ERC-4337's infrastructure will remain relevant as the off-chain relay layer. Projects building on ERC-4337 today are future-proofed.

Frequently Asked Questions

What is the difference between ERC-4337 and EIP-7702?

ERC-4337 creates a parallel system of smart contract wallets with their own mempool, bundlers, and paymasters. EIP-7702 lets existing EOAs temporarily adopt smart contract behavior within a single transaction. ERC-4337 is more powerful (persistent smart accounts, modules, social recovery) while EIP-7702 is simpler for basic batching and sponsorship on existing wallets.

How much does it cost to deploy an ERC-4337 smart account?

Deployment happens lazily with the first UserOperation. On Base, the deployment cost is approximately $0.05-0.15. On Ethereum L1, it ranges from $5-25 depending on gas prices. Many paymasters sponsor the deployment cost for new users.

Can ERC-4337 smart accounts interact with any dApp?

Yes. Smart accounts are standard Ethereum contracts and can interact with any protocol. However, some dApps check msg.sender == tx.origin which fails for smart accounts. This anti-pattern is increasingly rare but still exists in older contracts.

What happens if the bundler goes down?

Users cannot submit UserOps if their bundler is offline. Best practice: configure multiple bundler endpoints as fallbacks. Since the bundler API is standardized (eth_sendUserOperation), switching providers requires only a URL change.

Is ERC-4337 compatible with hardware wallets?

Yes. Hardware wallets like Ledger and Trezor can serve as signers (owners) for smart accounts. The hardware wallet signs UserOps instead of regular transactions. Safe and ZeroDev both support this pattern.

How do I migrate users from EOAs to smart accounts?

The recommended approach is counterfactual deployment: compute the smart account address deterministically from the user's existing EOA, show them the new address, and deploy on first use. EIP-7702 can also bridge the transition by letting EOAs delegate to smart account code.

What are session keys and why do they matter?

Session keys are temporary, scoped signing keys that allow specific actions without requiring the main key for each transaction. For example, a gaming dApp can request a session key valid for 1 hour, limited to the game contract, with a maximum spend of 0.1 ETH. The user approves once and plays without interruptions.

Which chains have the best ERC-4337 support?

Base, Arbitrum, Optimism, and Polygon have the strongest ERC-4337 ecosystems with multiple bundlers, paymasters, and established smart account factories. zkSync Era offers native account abstraction at the protocol level, which is even more efficient. For the latest chain support, check The Signal's intelligence reports.

Monthly Infrastructure Cost Breakdown
Security Considerations
ERC-7579: The Module Standard
Production Deployment Checklist
Real-World Case Studies
Tools and Resources for Builders
What's Coming: EIP-7702 and Native Account Abstraction
Frequently Asked Questions
What is the difference between ERC-4337 and EIP-7702?
How much does it cost to deploy an ERC-4337 smart account?
Can ERC-4337 smart accounts interact with any dApp?
What happens if the bundler goes down?
Is ERC-4337 compatible with hardware wallets?
How do I migrate users from EOAs to smart accounts?
What are session keys and why do they matter?
Which chains have the best ERC-4337 support?

Share Article

XLI
development partners in our directory

What Is Account Abstraction and Why Does ERC-4337 Matter?

Traditional Ethereum accounts come in two flavors: Externally Owned Accounts (EOAs) controlled by a private key, and Contract Accounts that run code. EOAs are the only type that can initiate transactions, which creates a fundamental UX problem. Users must safeguard a seed phrase, maintain an ETH balance for gas, and approve every action one at a time.

ERC-4337, authored by Vitalik Buterin, Yoav Weiss, Kristof Gazso, Namra Patel, Dror Tirosh, and Shahaf Nacson, introduces a parallel mempool system that allows smart contract wallets to function as first-class accounts. Instead of sending transactions directly to the Ethereum mempool, users sign UserOperations (UserOps) β€” data structures describing the intended action. These UserOps flow through an alternative mempool, are collected by Bundlers, and executed on-chain via a singleton EntryPoint contract.

The key innovation: ERC-4337 achieves account abstraction without requiring a hard fork or protocol change. It works on Ethereum mainnet today, and on every EVM-compatible chain.

Core Benefits for Builders

FeatureEOA WalletERC-4337 Smart Account
Gas paymentUser must hold native tokenSponsor via Paymaster (any token or free)
Key managementSingle private keyMulti-sig, social recovery, passkeys
Transaction batchingOne tx per signatureMultiple ops in single UserOp
Programmable validationNot possibleCustom logic (spending limits, time locks)
Key rotationImpossible (new address)Rotate keys, keep same address
Session keysNot possibleDelegated permissions with expiry
Onboarding UXSeed phrase + ETH requiredEmail/social login, no gas needed

According to Dune Analytics, the number of monthly active ERC-4337 accounts crossed 8.3 million in February 2026, up from 1.2 million in February 2025 β€” a 591% year-over-year growth rate.

The ERC-4337 Architecture: Components Deep Dive

Understanding the full ERC-4337 stack is essential before writing code. There are five core components that interact in a specific flow.

1. UserOperation: The New Transaction Primitive

A UserOperation is a pseudo-transaction object signed by the user but not broadcast to the standard mempool. It contains:

interface PackedUserOperation {
  sender: address;           // Smart account address
  nonce: uint256;            // Anti-replay nonce
  initCode: bytes;           // Factory address + init data (for first-time deployment)
  callData: bytes;           // Encoded function call(s) on the smart account
  accountGasLimits: bytes32; // Packed verificationGasLimit + callGasLimit
  preVerificationGas: uint256; // Gas for bundler overhead
  gasFees: bytes32;          // Packed maxFeePerGas + maxPriorityFeePerGas
  paymasterAndData: bytes;   // Paymaster address + gas limits + paymaster-specific data
  signature: bytes;          // Validation signature (flexible format)
}

With ERC-4337 v0.7 (the current standard as of March 2026), UserOps use a "packed" format that reduces calldata costs by approximately 20% compared to v0.6.

2. EntryPoint: The Singleton Orchestrator

The EntryPoint is a single, audited, immutable contract deployed at the same address on every EVM chain: 0x0000000071727De22E5E9d8BAf0edAc6f37da032 (v0.7). It performs two critical phases:

  1. β€’Verification Loop β€” Calls validateUserOp() on each smart account (and optionally validatePaymasterUserOp() on the paymaster). Reverts are isolated per-UserOp.
  2. β€’Execution Loop β€” Calls the smart account with the provided callData. Failures here do not revert the entire bundle.

The EntryPoint v0.7 contract has been audited by OpenZeppelin, Spearbit, and Alchemy's internal team. It handles roughly $2.8 billion in monthly transaction volume across all chains.

3. Smart Account: Your Programmable Wallet

The smart account is the user's on-chain identity. It must implement the IAccount interface:

interface IAccount {
    function validateUserOp(
        PackedUserOperation calldata userOp,
        bytes32 userOpHash,
        uint256 missingAccountFunds
    ) external returns (uint256 validationData);
}

Popular smart account implementations include:

ImplementationModulesAuditsDeployed Accounts
Safe (v1.4.1+)ERC-7579 compatible12+ audits14.2M+
Alchemy Modular AccountERC-6900 nativeSpearbit, Quantstamp6.8M+
Kernel (ZeroDev)ERC-7579 native3 audits4.1M+
Coinbase Smart WalletCustom + passkeysOpenZeppelin11.5M+
Biconomy NexusERC-7579 nativeCyfrin3.9M+

4. Bundler: The Off-Chain Relay

Bundlers collect UserOps from the alternative mempool, simulate them locally, group valid ones into a single handleOps() transaction, and submit it to the blockchain. They earn the gas fee difference as profit.

Leading bundler services:

ProviderChains SupportedFree TierPaid Pricing
Alchemy Rundler12 chains100K UserOps/month$49/mo + usage
Pimlico Alto30+ chains10K UserOps/month$99/mo + usage
Stackup8 chains25K UserOps/month$79/mo + usage
Biconomy20+ chains50K UserOps/monthCustom
Self-hosted (Silius/Rundler)Any EVMFreeInfrastructure cost

Running a self-hosted bundler (Rundler is open-source by Alchemy, Silius by Vid201) costs approximately $200-400/month in cloud infrastructure but gives you full control and zero per-UserOp fees.

5. Paymaster: Sponsoring Gas

Paymasters are the game-changer for UX. They allow a third party to pay gas fees on behalf of the user. Two main types:

  • β€’Verifying Paymaster β€” Approves sponsorship based on off-chain logic (e.g., your backend signs an approval). Cost: you pay the gas.
  • β€’ERC-20 Paymaster β€” User pays gas in ERC-20 tokens (USDC, DAI) instead of ETH. The paymaster swaps on-chain.

Paymaster sponsorship costs on mainnet average $0.08-0.25 per UserOp on Ethereum L1, but only $0.001-0.01 on L2s like Base or Arbitrum, making L2 deployment the practical choice for consumer apps.

Step-by-Step Implementation Guide

Let's build a production-ready ERC-4337 integration. We will use the Permissionless.js library (by Pimlico), which is the most widely adopted TypeScript SDK for ERC-4337 with 3,200+ GitHub stars.

Step 1: Install Dependencies

npm install permissionless viem@^2.21

Permissionless.js is built on top of viem, the modern TypeScript Ethereum library that has largely replaced ethers.js in new projects (28K+ GitHub stars).

Step 2: Configure the Smart Account Client

import { createSmartAccountClient } from "permissionless";
import { toSafeSmartAccount } from "permissionless/accounts";
import { createPimlicoClient } from "permissionless/clients/pimlico";
import { createPublicClient, http } from "viem";
import { base } from "viem/chains";
import { privateKeyToAccount } from "viem/accounts";

// 1. Set up the signer (in production, use passkeys or social login)
const owner = privateKeyToAccount("0xYOUR_PRIVATE_KEY");

// 2. Create a public client for chain reads
const publicClient = createPublicClient({
  chain: base,
  transport: http("https://mainnet.base.org"),
});

// 3. Create a Pimlico bundler/paymaster client
const pimlicoClient = createPimlicoClient({
  chain: base,
  transport: http("https://api.pimlico.io/v2/base/rpc?apikey=YOUR_KEY"),
  entryPoint: { address: "0x0000000071727De22E5E9d8BAf0edAc6f37da032", version: "0.7" },
});

// 4. Initialize a Safe smart account
const safeAccount = await toSafeSmartAccount({
  client: publicClient,
  owners: [owner],
  version: "1.4.1",
  entryPoint: { address: "0x0000000071727De22E5E9d8BAf0edAc6f37da032", version: "0.7" },
  safe4337ModuleAddress: "0x75cf11467937ce3F2f357CE24ffc3DBF8fD5c226",
  erc7579LaunchpadAddress: "0xEBe001b3D534B9B6E2500FB78E67a1A137f561CE",
});

// 5. Create the smart account client
const smartAccountClient = createSmartAccountClient({
  account: safeAccount,
  chain: base,
  bundlerTransport: http("https://api.pimlico.io/v2/base/rpc?apikey=YOUR_KEY"),
  paymaster: pimlicoClient,
  userOperation: {
    estimateFeesPerGas: async () => (await pimlicoClient.getUserOperationGasPrice()).fast,
  },
});

Step 3: Send a Gasless Transaction

// Send a sponsored (gasless) transaction
const txHash = await smartAccountClient.sendTransaction({
  to: "0xRecipientAddress",
  value: 0n,
  data: "0x", // or encoded contract call
});

console.log("Transaction hash:", txHash);
// The user paid zero gas β€” the paymaster covered it

Behind the scenes, the SDK: constructs a UserOp, estimates gas via the bundler, requests paymaster sponsorship, signs with the owner key, submits to the bundler, and waits for on-chain inclusion.

Step 4: Batch Multiple Operations

One of account abstraction's killer features is batching. Execute multiple contract calls in a single UserOp:

const txHash = await smartAccountClient.sendTransaction({
  calls: [
    {
      to: "0xTokenA",
      data: encodeFunctionData({
        abi: erc20Abi,
        functionName: "approve",
        args: ["0xDEXRouter", parseUnits("1000", 6)],
      }),
    },
    {
      to: "0xDEXRouter",
      data: encodeFunctionData({
        abi: routerAbi,
        functionName: "swap",
        args: [/* swap params */],
      }),
    },
    {
      to: "0xFarmingContract",
      data: encodeFunctionData({
        abi: farmAbi,
        functionName: "deposit",
        args: [/* deposit params */],
      }),
    },
  ],
});
// Approve + Swap + Deposit in ONE transaction, ONE signature

This saves users approximately 40-60% in gas costs compared to three separate EOA transactions, and the UX is a single confirmation.

Step 5: Implement Social Recovery

Social recovery lets users designate guardians who can collectively authorize a key rotation if the primary key is lost:

// Simplified social recovery module
contract SocialRecoveryModule {
    mapping(address => address[]) public guardians;
    mapping(address => uint256) public threshold;
    mapping(bytes32 => mapping(address => bool)) public approvals;
    mapping(bytes32 => uint256) public approvalCount;

    function addGuardian(address guardian) external {
        // Called by the smart account itself
        guardians[msg.sender].push(guardian);
    }

    function initiateRecovery(
        address account,
        address newOwner
    ) external {
        require(isGuardian(account, msg.sender), "Not a guardian");
        bytes32 recoveryId = keccak256(abi.encode(account, newOwner, block.timestamp));
        approvals[recoveryId][msg.sender] = true;
        approvalCount[recoveryId]++;

        if (approvalCount[recoveryId] >= threshold[account]) {
            ISmartAccount(account).rotateOwner(newOwner);
        }
    }
}

Safe's social recovery module supports up to 20 guardians with configurable M-of-N thresholds. ZeroDev's weighted recovery allows different guardians to have different weights (e.g., hardware wallet = 3, friend = 1, threshold = 3).

Step 6: Session Keys for Seamless Gaming/DeFi

Session keys let users pre-approve specific actions for a limited time, eliminating per-transaction confirmations:

import { toPermissionValidator } from "permissionless/experimental";

// Create a session key with spending limits
const sessionKey = await toPermissionValidator(publicClient, {
  signer: sessionSigner,
  policies: [
    {
      type: "sudo", // or use specific policies
    },
    // Or granular: specific contract + function + value limits
    {
      type: "call",
      target: "0xGameContract",
      selector: "0x12345678", // specific function
      maxValue: parseEther("0.1"),
      validUntil: Math.floor(Date.now() / 1000) + 3600, // 1 hour
    },
  ],
});

Session keys have become essential for Web3 gaming. Ronin's implementation (Axie Infinity) processes 800K+ session-key transactions daily, and the upcoming Treasure Chain uses them for all in-game actions.

Passkey Integration: WebAuthn Wallets

The most exciting account abstraction UX pattern in 2026 is passkey-based wallets. Users authenticate with Face ID, Touch ID, or Windows Hello β€” no seed phrase, no extension, no mobile app.

import { toWebAuthnAccount } from "viem/account-abstraction";

// Register a passkey
const credential = await navigator.credentials.create({
  publicKey: {
    rp: { name: "My dApp" },
    user: { id: userId, name: userEmail, displayName: userName },
    challenge: randomChallenge,
    pubKeyCredParams: [{ alg: -7, type: "public-key" }], // ES256
    authenticatorSelection: {
      authenticatorAttachment: "platform",
      residentKey: "required",
      userVerification: "required",
    },
  },
});

// Create a WebAuthn smart account
const webAuthnAccount = toWebAuthnAccount({
  credential: { id: credential.id, publicKey: extractPublicKey(credential) },
});

Coinbase Smart Wallet uses this pattern and has onboarded over 11.5 million users. Their data shows a 78% completion rate for passkey onboarding versus 23% for traditional seed phrase flows.

Cost Analysis: ERC-4337 in Production

Real gas costs as of March 2026 (average UserOp):

ChainUserOp Gas UsedCost (USD)vs. EOA Transfer
Ethereum L1420,000$2.80-8.502.1x more expensive
Base420,000$0.003-0.011.8x more expensive
Arbitrum One420,000$0.01-0.041.9x more expensive
Optimism420,000$0.005-0.021.8x more expensive
Polygon PoS420,000$0.004-0.012.0x more expensive
zkSync Era~350,000 (native AA)$0.008-0.031.0x (native)

Key takeaway: L2s make account abstraction economically viable for consumer apps. A paymaster sponsoring 100,000 UserOps/month on Base costs approximately $300-1,000 β€” a reasonable customer acquisition cost.

Monthly Infrastructure Cost Breakdown

ComponentSelf-HostedManaged Service
Bundler$200-400/mo (cloud)$49-199/mo + per-op
Paymaster depositVariable (gas sponsorship)Same
RPC node$0-100/moIncluded
Smart account factory deploymentOne-time ~$50 (L2)Free (shared)
Total fixed cost$200-500/mo$49-199/mo
Per-UserOp cost (Base)$0.003-0.01$0.005-0.015

Security Considerations

Account abstraction introduces new attack surfaces that builders must address:

  1. β€’

    Signature replay β€” Always include chain ID and EntryPoint address in the signed hash. The v0.7 EntryPoint handles this, but custom validation logic must be careful.

  2. β€’

    Paymaster griefing β€” Malicious UserOps can drain paymaster deposits. Implement rate limiting and off-chain verification in your verifying paymaster.

  3. β€’

    Storage access restrictions β€” During validation, smart accounts can only access their own associated storage (slots defined by the account address). Violating this causes bundler rejection. This is the most common implementation bug.

  4. β€’

    Bundler DOS β€” Bundlers must simulate UserOps before inclusion. A malicious account that passes simulation but reverts on-chain wastes bundler gas. The ERC-4337 mempool rules (ERC-7562) enforce strict validation rules to prevent this.

  5. β€’

    Upgrade risks β€” If your smart account is upgradeable (proxy pattern), a malicious upgrade could drain all funds. Use timelocks and multi-sig governance for upgrade authority.

The security auditors in our directory have experience auditing ERC-4337 implementations, including smart account modules and paymaster contracts. Book a consultation to discuss your security review needs.

ERC-7579: The Module Standard

ERC-7579 is the emerging standard for modular smart accounts, allowing plug-and-play functionality:

  • β€’Validators β€” Custom signature verification (passkeys, multisig, MPC)
  • β€’Executors β€” Automated actions (DCA, stop-loss, recurring payments)
  • β€’Hooks β€” Pre/post-execution checks (spending limits, allowlists)
  • β€’Fallback handlers β€” Extended functionality (ERC-721 receiver, flash loans)

The Rhinestone Module Registry (launched September 2025) now lists 47 audited modules that any ERC-7579 account can install. This composability means you don't need to build everything from scratch.

// Install a spending limit module on a Safe account
const installTx = await smartAccountClient.sendTransaction({
  to: safeAccount.address,
  data: encodeFunctionData({
    abi: safe7579Abi,
    functionName: "installModule",
    args: [
      1, // module type: validator
      "0xSpendingLimitModule",
      encodeAbiParameters(
        [{ type: "uint256" }],
        [parseEther("1.0")] // 1 ETH daily limit
      ),
    ],
  }),
});

Production Deployment Checklist

Before going live with ERC-4337, ensure:

  1. β€’Smart account factory deployed and verified on your target chains
  2. β€’Bundler configured with proper gas price oracle and retry logic
  3. β€’Paymaster funded with sufficient deposit (monitor with alerts)
  4. β€’UserOp simulation tested against edge cases (out of gas, reverts, concurrent nonces)
  5. β€’Fallback signer implemented (what happens if your auth service goes down?)
  6. β€’Gas estimation buffer set to 20-30% above estimates (network congestion handling)
  7. β€’Monitoring for paymaster balance, bundler health, UserOp success rates
  8. β€’Upgrade path defined for smart account contract migrations
  9. β€’Recovery flow tested end-to-end (guardian recovery, key rotation)
  10. β€’Rate limiting on paymaster to prevent sponsorship abuse

Real-World Case Studies

Coinbase Smart Wallet: Deployed on Base, uses passkey authentication. 11.5M accounts, processes 2.1M UserOps daily. Their paymaster sponsors all gas for approved dApps in the Coinbase ecosystem. Conversion rate from landing page to first on-chain action: 62%.

Worldcoin World App: 8.2M verified users with smart accounts on Optimism. Uses session keys for frictionless transfers. Gas sponsorship cost: $0.003 per operation on average.

Patch Wallet: Email-based wallet creation using ERC-4337 on Polygon. 1.8M wallets created with zero crypto knowledge required. Average paymaster cost per user per month: $0.12.

Tools and Resources for Builders

ToolPurposeLink
Permissionless.jsTypeScript SDK for ERC-4337github.com/pimlicoHQ/permissionless.js
Viem Account AbstractionCore types and utilitiesviem.sh/account-abstraction
userop.jsLightweight UserOp buildergithub.com/stackup-wallet/userop.js
ERC-4337 Bundler SpecStandard RPC methodseips.ethereum.org/EIPS/eip-4337
Rhinestone Module RegistryAudited ERC-7579 modulesregistry.rhinestone.wtf
Alto Bundler (Pimlico)Open-source TypeScript bundlergithub.com/pimlicoHQ/alto
Rundler (Alchemy)Open-source Rust bundlergithub.com/alchemyplatform/rundler

If you need expert help implementing ERC-4337, browse our development directory for teams with proven account abstraction experience, or post a project request to receive proposals from qualified builders. For security audits of your smart account contracts, check our security partners.

What's Coming: EIP-7702 and Native Account Abstraction

EIP-7702 (included in the Ethereum Pectra upgrade, live since early 2025) allows EOAs to temporarily delegate to smart contract code within a single transaction. This bridges the gap between EOAs and smart accounts, letting existing MetaMask users access batching and sponsorship without migrating to a new address.

The longer-term roadmap includes full native account abstraction (where EOAs become smart accounts at the protocol level), but ERC-4337's infrastructure will remain relevant as the off-chain relay layer. Projects building on ERC-4337 today are future-proofed.

Frequently Asked Questions

What is the difference between ERC-4337 and EIP-7702?

ERC-4337 creates a parallel system of smart contract wallets with their own mempool, bundlers, and paymasters. EIP-7702 lets existing EOAs temporarily adopt smart contract behavior within a single transaction. ERC-4337 is more powerful (persistent smart accounts, modules, social recovery) while EIP-7702 is simpler for basic batching and sponsorship on existing wallets.

How much does it cost to deploy an ERC-4337 smart account?

Deployment happens lazily with the first UserOperation. On Base, the deployment cost is approximately $0.05-0.15. On Ethereum L1, it ranges from $5-25 depending on gas prices. Many paymasters sponsor the deployment cost for new users.

Can ERC-4337 smart accounts interact with any dApp?

Yes. Smart accounts are standard Ethereum contracts and can interact with any protocol. However, some dApps check msg.sender == tx.origin which fails for smart accounts. This anti-pattern is increasingly rare but still exists in older contracts.

What happens if the bundler goes down?

Users cannot submit UserOps if their bundler is offline. Best practice: configure multiple bundler endpoints as fallbacks. Since the bundler API is standardized (eth_sendUserOperation), switching providers requires only a URL change.

Is ERC-4337 compatible with hardware wallets?

Yes. Hardware wallets like Ledger and Trezor can serve as signers (owners) for smart accounts. The hardware wallet signs UserOps instead of regular transactions. Safe and ZeroDev both support this pattern.

How do I migrate users from EOAs to smart accounts?

The recommended approach is counterfactual deployment: compute the smart account address deterministically from the user's existing EOA, show them the new address, and deploy on first use. EIP-7702 can also bridge the transition by letting EOAs delegate to smart account code.

What are session keys and why do they matter?

Session keys are temporary, scoped signing keys that allow specific actions without requiring the main key for each transaction. For example, a gaming dApp can request a session key valid for 1 hour, limited to the game contract, with a maximum spend of 0.1 ETH. The user approves once and plays without interruptions.

Which chains have the best ERC-4337 support?

Base, Arbitrum, Optimism, and Polygon have the strongest ERC-4337 ecosystems with multiple bundlers, paymasters, and established smart account factories. zkSync Era offers native account abstraction at the protocol level, which is even more efficient. For the latest chain support, check The Signal's intelligence reports.

Monthly Infrastructure Cost Breakdown
Security Considerations
ERC-7579: The Module Standard
Production Deployment Checklist
Real-World Case Studies
Tools and Resources for Builders
What's Coming: EIP-7702 and Native Account Abstraction
Frequently Asked Questions
What is the difference between ERC-4337 and EIP-7702?
How much does it cost to deploy an ERC-4337 smart account?
Can ERC-4337 smart accounts interact with any dApp?
What happens if the bundler goes down?
Is ERC-4337 compatible with hardware wallets?
How do I migrate users from EOAs to smart accounts?
What are session keys and why do they matter?
Which chains have the best ERC-4337 support?

Share Article

XLI