---
title: "What is Account Abstraction (ERC-4337)?"
canonical: https://wavect.io/glossary/account-abstraction/
language: en
description: "A pattern that lets blockchain accounts behave like smart contracts: gasless transactions, social recovery, batched calls, custom auth rules."
image: "https://wavect.io/img/general/bak/open_graph_preview.jpg"
---

TECHNOLOGIES

# Account Abstraction

Account Abstraction (ERC-4337)

A pattern that lets blockchain accounts behave like smart contracts: gasless transactions, social recovery, batched calls, custom auth rules.

Last reviewed: 2026-05-24 by [Kevin Riedl](/team/kevin-riedl/) [wiki ↗](https://www.wikidata.org/wiki/Q139796365)

In a standard [EVM](/glossary/evm/) chain, every account is either an Externally Owned Account (a private key) or a [smart contract](/glossary/smart-contract/). ERC-4337 introduces a third class: a smart-contract account that the user transacts as. Because the account is a contract, it can hold logic. That logic can sponsor gas, recover from a lost key via guardians, batch multiple calls into one transaction, or enforce custom auth rules like a daily spending cap.

For a concrete failing operation, the free [ERC-4337 UserOperation debugger](/tools/erc-4337-useroperation-debugger/) separates packed gas and paymaster fields, explains AAxx errors, and computes version-aware hashes locally without contacting a chain or bundler.

The user experience implications are large. With AA, an end user can sign up with an email and a passkey instead of a seed phrase. Gas fees can be paid by the application or in the application’s token, not in ETH. The wallet can rate-limit suspicious transactions. The trade-off is increased on-chain complexity and higher gas cost per transaction.

Worked example: a consumer payments app wants non-crypto-native users. Without AA, onboarding means “write down these twelve words, lose them and your money is gone forever”, which kills the funnel. With AA, the user signs up with a passkey, the app sponsors the first transactions so they never see a gas fee, and a lost device recovers through guardians instead of a seed phrase. The same pattern lets the wallet enforce a daily spend cap on-chain, which is the kind of guarantee a centralised app could never make credibly.

The common founder mistake is treating AA as a checkbox. It changes the security model: social recovery removes the seed-phrase footgun for normal users but introduces guardian compromise as a new attack class, which is strictly worse for power users who would rather hold the key themselves. The honest trade-off is that AA buys mainstream UX at the cost of more contract code to audit and more gas per action. Wavect has shipped account-abstraction wallets and Snaps (MetaMask plugins) to production. The technology is real and increasingly mainstream. The implementation is non-trivial. If a vendor quotes AA as a cheap add-on, ask which infrastructure they are using and which security audits the contract code has been through. The same audit discipline that applies to [zero-knowledge](/glossary/zero-knowledge/) circuits applies here.

// FAQ

## FAQs

### Is account abstraction live on mainnet?

Yes. ERC-4337 has been live on Ethereum mainnet since March 2023. Several L2s offer it natively. Multiple production wallets (including ones we have built) use it today.

### Does AA make a wallet 'safe'?

Safer, not safe. Social recovery removes the seed-phrase footgun. It introduces guardian compromise as a new risk class. Net-net it is a better security posture for non-technical users, worse for power users who would rather hold the seed phrase themselves.

### What does AA cost in gas?

More per transaction than an EOA, but less per user-action when you batch (e.g. one signature, three calls). Cost is the wrong axis: the UX gains, not the gas math, are why the technology matters.

Related terms

- [Web3](/glossary/web3/)
- [Smart Contract](/glossary/smart-contract/)
- [EVM](/glossary/evm/)
- [Zero-Knowledge](/glossary/zero-knowledge/)

Related services

- [Blockchain](/services/blockchain/)

Related case studies

- [Scramble Pay](/case-studies/scramble-pay/)
- [Scramble Wallet](/case-studies/scramble-wallet/)
- [MetaMask Snap](/case-studies/metamask-snap/)
- [Account Abstraction](/case-studies/account-abstraction/)

Related guides

- [How to choose a software development agency](/software-development-guide/how-to-choose-a-software-agency/)

Discussed in articles

- [Account abstraction (ERC-4337) in production](/blog/account-abstraction-erc4337-production/)

Talk to us

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ],
      "employee": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "founder": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "legalRepresentative": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "name": "Wavect GmbH",
      "subjectOf": {
        "@id": "https://wavect.io/verified-claims.json#dataset",
        "@type": "Dataset",
        "creator": {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        "description": "A machine-readable registry of quantitative and qualitative claims published by Wavect, with review dates, localized page appearances and public third-party citations where available.",
        "inLanguage": "en",
        "isAccessibleForFree": true,
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "name": "Wavect verified publication claims",
        "url": "https://wavect.io/verified-claims.json"
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/team/kevin-riedl/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Kevin Riedl",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796365",
        "https://www.linkedin.com/in/wsdt",
        "https://github.com/wsdt"
      ],
      "url": "https://wavect.io/team/kevin-riedl/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/team/christof-jori/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Christof Jori",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796367",
        "https://www.linkedin.com/in/jocr77/",
        "https://github.com/jo-chris"
      ],
      "url": "https://wavect.io/team/christof-jori/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/#website",
      "@type": "WebSite",
      "inLanguage": [
        "en",
        "de",
        "es",
        "zh"
      ],
      "name": "Wavect",
      "potentialAction": {
        "@type": "SearchAction",
        "query-input": "required name=search_term_string",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://wavect.io/search/?q={search_term_string}"
        }
      },
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "url": "https://wavect.io/"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/glossary/account-abstraction/#term",
      "@type": "DefinedTerm",
      "alternateName": [
        "ERC-4337",
        "AA"
      ],
      "description": "A pattern that lets blockchain accounts behave like smart contracts: gasless transactions, social recovery, batched calls, custom auth rules.",
      "inDefinedTermSet": "https://wavect.io/glossary/#termset",
      "name": "Account Abstraction",
      "termCode": "account-abstraction",
      "url": "https://wavect.io/glossary/account-abstraction/"
    },
    {
      "@id": "https://wavect.io/glossary/account-abstraction/#webpage",
      "@type": "WebPage",
      "about": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "author": {
        "@id": "https://wavect.io/team/kevin-riedl/#person",
        "@type": "Person",
        "name": "Kevin Riedl",
        "url": "https://wavect.io/team/kevin-riedl/"
      },
      "dateModified": "2026-05-24",
      "description": "A pattern that lets blockchain accounts behave like smart contracts: gasless transactions, social recovery, batched calls, custom auth rules.",
      "headline": "Account Abstraction",
      "inLanguage": "en",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "lastReviewed": "2026-05-24",
      "mainEntity": {
        "@id": "https://wavect.io/glossary/account-abstraction/#term"
      },
      "mentions": [
        {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        {
          "@type": "Service",
          "name": "Blockchain",
          "url": "https://wavect.io/services/blockchain/"
        }
      ],
      "name": "Account Abstraction",
      "reviewedBy": {
        "@id": "https://wavect.io/team/christof-jori/#person",
        "@type": "Person",
        "name": "Christof Jori",
        "url": "https://wavect.io/team/christof-jori/"
      },
      "speakable": {
        "@type": "SpeakableSpecification",
        "cssSelector": [
          ".gls-single__h1",
          ".gls-single__tldr"
        ]
      },
      "url": "https://wavect.io/glossary/account-abstraction/"
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "item": "https://wavect.io/",
          "name": "Home",
          "position": 1
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/glossary/",
          "name": "Tech, product & engagement glossary",
          "position": 2
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/glossary/account-abstraction/",
          "name": "Account Abstraction",
          "position": 3
        }
      ]
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes. ERC-4337 has been live on Ethereum mainnet since March 2023. Several L2s offer it natively. Multiple production wallets (including ones we have built) use it today."
      },
      "name": "Is account abstraction live on mainnet?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Safer, not safe. Social recovery removes the seed-phrase footgun. It introduces guardian compromise as a new risk class. Net-net it is a better security posture for non-technical users, worse for power users who would rather hold the seed phrase themselves."
      },
      "name": "Does AA make a wallet 'safe'?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "More per transaction than an EOA, but less per user-action when you batch (e.g. one signature, three calls). Cost is the wrong axis: the UX gains, not the gas math, are why the technology matters."
      },
      "name": "What does AA cost in gas?"
    }
  ],
  "speakable": {
    "@type": "SpeakableSpecification",
    "cssSelector": [
      ".faq-question",
      ".faq-answer"
    ]
  }
}
```
