Skip to main content

Account Abstraction

Account Abstraction enables the use of smart contract accounts instead of traditional externally owned accounts (EOAs). It separates ownership from control: unlike EOAs where the private key is tightly coupled to the account, smart accounts abstract the account from the signer.

The Problem with EOAs

  • Gas fees create onboarding barriers. Users must hold ETH before they can do anything.
  • Common interactions require multiple transactions. An approve-and-swap on Uniswap is two separate confirmations.
  • Security is fragile. A single seed phrase controls everything with no recovery, no spending limits, and no way to revoke access.
  • Automation is impossible. EOAs require a human to sign every transaction.

ERC-4337: How It Works

ERC-4337 brings smart accounts to Ethereum without protocol changes. It introduces a parallel transaction flow built on these components:

ComponentRole
Smart AccountA contract that holds assets and defines its own validation logic
UserOperationA data structure packaging the user's intent, gas details, and signature
BundlerA node that collects UserOperations and submits them to the blockchain
EntryPointA singleton contract that verifies and executes each UserOperation
PaymasterAn optional contract that sponsors gas or accepts ERC-20 tokens as payment
  1. The app constructs a UserOperation and sends it to a Bundler
  2. The Bundler bundles it with others and submits a transaction to the EntryPoint
  3. The EntryPoint verifies the account's signature and confirms gas payment (from the account or a Paymaster)
  4. The EntryPoint executes the account's calldata

Next Steps