Actualites·5 min de lecture·Par Solingo

Account Abstraction Adoption in 2026 — The State of ERC-4337

Account abstraction is finally gaining traction. ERC-4337 powers millions of wallets, major exchanges are integrating, and EIP-7702 is changing the game. Here's where we stand.

# Account Abstraction Adoption in 2026 — The State of ERC-4337

After years of hype, account abstraction (AA) is finally delivering on its promise. ERC-4337 wallets surpassed 5 million active users in Q1 2026, major exchanges are integrating AA for withdrawals, and the recent Pectra upgrade (EIP-7702) is accelerating adoption even further.

What is Account Abstraction?

Traditional Ethereum accounts come in two types:

  • Externally Owned Accounts (EOAs): Controlled by private keys. Can't execute custom logic. Every transaction requires ETH for gas.
  • Smart Contract Accounts: Programmable, but can't initiate transactions on their own.
  • Account abstraction turns wallets into smart contracts, enabling:

    • Gas sponsorship: Pay gas in USDC, or have apps pay for you
    • Batched transactions: Approve + swap in one click
    • Social recovery: Recover wallet via trusted contacts (no seed phrase)
    • Session keys: Authorize a dApp for limited actions (e.g., "spend up to $100/day")
    • Multisig wallets: Built-in, no external contract needed

    ERC-4337: The Standard

    ERC-4337 achieves account abstraction without protocol changes. It uses:

    • UserOperations: Instead of transactions, users sign "user operations"
    • Bundlers: Off-chain services that bundle UserOps into transactions
    • Paymasters: Contracts that sponsor gas fees
    • EntryPoint: Single contract that validates and executes UserOps

    How it works:

    // User's smart contract wallet
    

    contract MyWallet {

    address public owner;

    // ERC-4337 validation function

    function validateUserOp(

    UserOperation calldata userOp,

    bytes32 userOpHash,

    uint256 missingAccountFunds

    ) external returns (uint256 validationData) {

    // Verify signature

    require(owner == ECDSA.recover(userOpHash, userOp.signature), "Invalid signature");

    // Pay bundler for gas (or let paymaster handle it)

    payable(msg.sender).transfer(missingAccountFunds);

    return 0; // Valid

    }

    // Execute the actual operation

    function executeUserOp(

    address dest,

    uint256 value,

    bytes calldata func

    ) external {

    dest.call{value: value}(func);

    }

    }

    Adoption Metrics (March 2026)

    Wallets Supporting ERC-4337

    | Wallet | Users | Notes |

    |--------|-------|-------|

    | Argent | 2.1M | First major AA wallet, focus on L2s |

    | Safe (formerly Gnosis Safe) | 1.8M | Enterprise + DAO multisigs |

    | Coinbase Wallet | 850K | AA mode launched Dec 2025 |

    | Braavos | 320K | Starknet-native AA |

    | Biconomy | 280K | Gaming-focused AA SDK |

    | Others | 650K | Small wallets + experiments |

    | Total | 6M+ | 3x growth since Jan 2025 |

    Paymaster Usage

    Paymasters (gas sponsors) processed 18.4 million transactions in Q1 2026, up from 4.2M in Q4 2025.

    Top use cases:

  • Onboarding: Apps pay gas for new users (no need to buy ETH first)
  • Gaming: Games sponsor player transactions
  • DeFi: Protocols subsidize gas to increase activity
  • Enterprise: Companies pay gas for employee wallets
  • Example: Uniswap's Paymaster

    Uniswap now offers gas-free swaps for users with AA wallets. The paymaster takes a 0.1% fee from the swap output.

    contract UniswapPaymaster {
    

    function validatePaymasterUserOp(

    UserOperation calldata userOp,

    bytes32 userOpHash,

    uint256 maxCost

    ) external returns (bytes memory context, uint256 validationData) {

    // Only sponsor swaps via Uniswap router

    require(userOp.callData.startsWith(UNISWAP_ROUTER), "Not a Uniswap swap");

    // Calculate 0.1% fee

    uint256 fee = (maxCost * 1001) / 1000;

    return (abi.encode(fee), 0);

    }

    function postOp(

    PostOpMode mode,

    bytes calldata context,

    uint256 actualGasCost

    ) external {

    uint256 fee = abi.decode(context, (uint256));

    // Collect fee from user's output tokens

    IERC20(outputToken).transferFrom(userWallet, address(this), fee);

    }

    }

    Bundler Infrastructure

    Bundler market share:

    • Alchemy: 42%
    • Biconomy: 28%
    • Stackup: 18%
    • Other: 12%

    Bundlers are profitable. Average fee: $0.15 per UserOp (competitive with MEV on direct transactions).

    EIP-7702: The Game Changer

    The Pectra upgrade (March 2026) introduced EIP-7702, which allows EOAs to temporarily "become" smart contract wallets within a transaction.

    How EIP-7702 works:

  • User signs a message: "For this transaction, my EOA delegates to contract X"
  • Transaction executes with contract X's logic
  • After transaction, EOA returns to normal
  • Key benefit: No migration needed. Existing MetaMask users get AA features without switching wallets.

    Example: Batched Approve + Swap

    // Delegation target contract
    

    contract BatchExecutor {

    function approveAndSwap(

    address token,

    address router,

    uint256 amount

    ) external {

    // Since caller delegated to this contract, msg.sender is the EOA

    IERC20(token).approve(router, amount);

    IRouter(router).swap(token, amount);

    }

    }

    // User signs EIP-7702 message:

    // "Delegate to BatchExecutor for 1 transaction"

    // Now user can call approveAndSwap in ONE transaction

    // (normally requires 2: approve, then swap)

    Wallets implementing EIP-7702:

    • MetaMask (beta)
    • Rabby
    • Rainbow

    Expected: 10M+ users gain AA features by Q4 2026 via EIP-7702.

    Developer Opportunities

    1. Build AA-Compatible dApps

    If your dApp assumes users have ETH for gas, you're losing users. Support AA wallets:

    // Detect if user has an AA wallet
    

    const isAA = await provider.getCode(userAddress) !== '0x';

    if (isAA) {

    // Use UserOperations instead of transactions

    const userOp = await buildUserOp({

    target: myContract.address,

    data: myContract.interface.encodeFunctionData('myFunction', [arg1, arg2])

    });

    await bundler.sendUserOperation(userOp);

    } else {

    // Traditional transaction

    await myContract.myFunction(arg1, arg2);

    }

    2. Build Paymasters

    If you run a dApp with significant usage, sponsoring gas can:

    • Increase conversions (users don't need ETH)
    • Lock in users (they rely on your gas subsidy)
    • Collect data (you see all sponsored transactions)

    ROI calculation:

    • Average gas per transaction: $0.50 (on L2)
    • Conversion increase: 15%
    • Value per user: $20

    If sponsoring gas gets you 15% more users, break-even is 60 sponsored transactions per user. Most dApps hit this in < 1 month.

    3. Build AA Wallets

    The wallet market is still wide open. Specialized wallets win:

    • Gaming wallet: Auto-sign low-value transactions, session keys for games
    • DAO wallet: Built-in multisig, proposal voting
    • Trading wallet: Stop-loss orders, automated DCA
    // Example: Auto-approve for small amounts
    

    contract SmartWallet {

    mapping(address => uint256) public autoApprovalLimit;

    function validateUserOp(UserOperation calldata userOp) external returns (uint256) {

    (address target, uint256 value, bytes memory data) = abi.decode(userOp.callData, (address, uint256, bytes));

    // Auto-approve small transactions

    if (value <= autoApprovalLimit[target]) {

    return 0; // No signature check needed

    }

    // Large transactions require signature

    require(verifySignature(userOp), "Invalid signature");

    return 0;

    }

    }

    4. Session Keys for dApps

    Let users pre-authorize your dApp for specific actions:

    // User grants your dApp a session key with limits
    

    struct SessionKey {

    address key; // Temporary key controlled by dApp

    uint256 expiresAt; // Expiration timestamp

    uint256 spendLimit; // Max value per transaction

    uint256 dailyLimit; // Max value per day

    }

    // dApp can now execute transactions without user approval (within limits)

    Use cases:

    • Gaming: dApp plays moves automatically
    • Trading: Execute trades when conditions met
    • Subscriptions: Recurring payments without repeated approval

    Challenges Still Facing AA

    1. Gas Overhead

    AA transactions cost ~30% more gas than regular transactions due to signature verification and bundler overhead.

    Mitigation: Use L2s where gas is cheap (Arbitrum, Base, Optimism).

    2. Wallet Fragmentation

    Users with AA wallets can't use dApps that assume EOAs. Developers must support both.

    Solution: Libraries like wagmi now abstract AA vs EOA differences.

    3. Bundler Centralization

    Top 3 bundlers control 88% of the market. If they censor transactions, AA fails.

    Solution: Decentralized bundler networks (e.g., Flashbots SUAVE).

    The Road Ahead

    2026 Predictions:

    • 20M+ AA wallets by end of year
    • Major exchanges (Coinbase, Binance) integrate AA for withdrawals
    • Gas-free onboarding becomes standard for dApps
    • Session keys enable "set it and forget it" DeFi strategies

    Long-term (2027+):

    • EOAs deprecated — everyone uses AA wallets
    • Multi-chain wallets — same wallet address on all chains (via CREATE2)
    • Regulatory compliance — AA wallets with built-in AML checks (for RWAs)

    Resources

    Conclusion

    Account abstraction is no longer a future vision — it's live, growing fast, and reshaping how users interact with Ethereum.

    For developers:

    • dApps: Support AA wallets or lose users
    • Protocols: Sponsor gas to boost adoption
    • Builders: The AA wallet market is still wide open

    The UX gap between crypto and Web2 is closing. AA is how we get there.

    Prêt à mettre en pratique ?

    Applique ces concepts avec des exercices interactifs sur Solingo.

    Commencer gratuitement