Back to blogs
Written by
Martin Petkov
Published on
December 2, 2024

What is Blockchain Account Abstraction: A 5-Minute Guide

Learn how account abstraction makes crypto safer and easier to use. It adds security features and removes technical barriers to blockchain adoption.

Table of Contents

Introduction

Blockchain technology promises financial innovation, but it is too complicated. Users must manage private keys, understand gas costs, and keep ETH for fees. Transaction signing is complex, and one mistake can lead to permanent loss of funds. 

These technical hurdles prevent mass crypto adoption. Currently, Ethereum has ~290 million unique addresses. Yet, less than one tenth of them are active. Why is that? Is there a solution?

Vitalik Buterin calls account abstraction (AA) “a culmination of a 10-year journey.” It enables crypto to be used with the ease of PayPal but with the decentralization of blockchain. Account abstraction allows users to manage their blockchain accounts with customizable smart contracts while enhancing security and flexibility. Although the concept of account abstraction applies across most blockchain ecosystems, this article will focus mainly on Ethereum. 

To understand why it’s so critical, let’s start by exploring the current limitations and the need for change.

Understanding Ethereum accounts

Ethereum has two types of accounts:

Externally owned accounts (EOAs)

Most users interact with major blockchains through externally owned accounts (EOAs). MetaMask, Trust Wallet, and Coinbase Wallet are good examples. 

An EOA is an account comprising a cryptographic pair of keys: public and private. The public key is used to verify that the EOA transaction was signed by the sender, and the private key is used to sign transactions. Access to a private key grants access to and control of the account and, thus, the funds and assets associated with the account.

To make a blockchain transaction, users must:

  1. Have enough native tokens for gas costs
  2. Sign transactions with their private key
  3. Wait for blockchain confirmation

However, EOAs have limited functionality and are vulnerable to private key loss. Additionally, they can't batch transactions, customize security rules, or delegate gas payments to others. That’s why there are alternatives.

Table explaining the pros and cons of externally owned accounts (EOAs) in the context of blockchain technology.

Smart contract accounts (CAs)

Smart contract accounts, also called smart contract wallets, are programmable accounts on the blockchain. They are deployed as smart contracts. Popular examples include Safe and Argent.

Smart contract accounts execute functions upon receiving transactions. How they execute, and their recovery mechanisms are controlled by the logic of the smart contract code.

These wallets can:

  • Automate staking 
  • Schedule payments
  • Set daily spending limits
  • Split payments between groups
  • Require multiple signatures for large transfers

Yet, smart contract wallets still depend on EOAs to initiate transactions. This means users face the same challenges but with higher technical complexity. So, despite advancements, several issues remain. 

Table explaining the pros and cons of smart contract accounts (CA) in the context of blockchain technology.

Limitations of EOA and CA

The biggest problems with the described accounts fall under three categories:

  • Complex key management: With EOAs, one lost private key or seed phrase can mean a total loss of funds. Once compromised, there is no way to recover an account, and the risk of user error is high.

  • Transaction constraints: In most cases, users must pay gas costs in the native token, which means they must always have some in reserve. Also, EOAs don’t allow users to batch multiple transactions, and each interaction with a dApp requires a separate approval transaction.

  • Poor user experience: The technical barriers for new users prevent regular use and mass adoption. Even simple actions require many steps, with no clear documentation explaining the process or what different terms mean. Users often face confusing jargon-filled interfaces and transaction details without explanation. The limited recovery options make most mistakes irreversible.

Cyfrin Updraft’s lesson delineates the issues account abstraction aims to address and makes the need for a more elegant solution evident.

What is account abstraction? 

Ethereum account abstraction, described in Ethereum Improvement Proposal EIP-4337, enables smart contracts to become the primary account type. This enhances security and flexibility with features like multisig approvals and social recovery mechanisms. The result is the ability to create user-friendly accounts with advanced features.

ERC-4337 account abstraction

ERC-4337 is an account abstraction proposal that works without changing Ethereum's core protocol. Instead, ERC-4337 creates an additional infrastructure layer centered around the alt mempool. This layer allows smart contracts to validate, execute, and interact with UserOperations. These special transaction-like objects enable smart contracts to become the primary account. Simultaneously, Bundlers handle their collection, aggregation, and submission to the blockchain. 

Let’s explore the five components of this solution in detail:

  • A UserOperation is a structure representing a transaction initiated on behalf of a user. To minimize confusion, it is not referred to as a "transaction." It includes familiar fields like sender, target address, data payload, gas fee parameters, signature, and nonce. However, it also introduces additional fields specific to its functionality, as shown below. The signature field's use is determined by each account implementation rather than the protocol. These operations go to an “alternate mempool” separate from regular Ethereum transactions.
UserOperation fields (Source: ERC-4337)


  • Bundlers are specialized Ethereum nodes. They monitor the separate mempool, called the alt-mempool, and combine multiple UserOperations into a single transaction. Then, they submit it to the blockchain and pay the transaction fee. In return, they earn fees for handling these tasks.

  • The EntryPoint is a singleton smart contract that verifies and forwards instructions to the smart account to execute UserOperations. It checks if each CA has sufficient funds to cover gas costs. After validation, it executes the transaction and deducts funds from the user account. Then, it refunds the Bundler for gas expenses. However, the EntryPoint contract logic also supports Paymasters.

  • A Paymaster contract covers gas fees for transactions instead of the sender. This design allows gas-free interactions with flexible payment policies. It also supports payments with ERC-20 tokens and transactions sponsored by third parties. Thus, the Paymaster removes the need for users to hold native blockchain tokens to use the network.

  • An optional Aggregator combines all user signatures into a single one. This allows a bundle of UserOperations to be validated more efficiently as a group rather than individually. Using an Aggregator helps reduce transaction costs and improve processing speed.

How does account abstraction work? 

The following workflow shows how these five components interact:

  1. Users create UserOperations objects.
  2. Bundlers combine multiple UserOperations into a single transaction and send it to the EntryPoint contract. 
  3. The EntryPoint initiates the validation, which is implemented on the CA. Then, it processes the transactions by calling the `execute()` function implemented on the CA.
  4. UserOperations are executed, triggering state changes.
  5. Optionally, the Aggregator aggregates signature validations, and the Paymaster handles transaction fees. 
Diagram illustrating the workflow of how account abstraction works.
Account abstraction workflow

Now that we’ve explained account abstraction, let’s see why it is critical.

Key benefits of account abstraction

Blockchain account abstraction brings major improvements across three main areas.

Stronger security 

Account abstraction leads to improved security through: 

Multisig support: Users can create rules requiring approvals from several people before a transaction executes. Each signer gets different permissions, and the account owner controls spending limits and conditions. This prevents unauthorized spending and protects against hacks.

Social recovery: Account holders select trusted individuals (called "guardians") who can collectively approve account recovery if access is lost. For example, 3 out of 5 designated guardians might need to approve recovery. Time-locks create extra protection by delaying large transfers, eliminating the risk of permanent loss from forgotten passwords or lost keys.

Better key management: Users can access their accounts through hardware keys or biometrics. Because of multi-factor authentication, accounts remain secure even if one method is compromised. This strengthens security without adding complexity.

Improved user experience

Web3 account abstraction transforms how users interact with crypto in three ways:

Simple onboarding: New users start with a basic email or social login, and the system handles the complex wallet creation in the background. This makes crypto as simple to use as any mobile app. No one needs to understand private keys or seed phrases. 

Flexible payments: Users no longer need to hold ETH for gas fees and can cover gas costs with any ERC-20 token. Apps can pay fees for their users through sponsored transactions. Businesses can manage fees for their team. 

Smart transactions: Users can combine several actions into one batch transaction. A single approval covers the entire set of operations, and the system finds the best gas prices. This saves time and money on every interaction.

Advanced features

Account abstraction enables cutting-edge functionality through two main upgrades:

Programmable rules: Users can set daily spending limits on their accounts, schedule future payments, and configure rules for different types of transactions. For example, small payments might need just one signature, while large transfers require multiple approvals. 

Automated operations: The smart contract functionality handles recurring payments without user input, and complex trades are executed in precise order. Users can also create their own rules for special cases. 

Table illustrating the benefits of account abstraction including enhanced security, better user experience, and advanced features.

So, let’s see how these theoretical advantages manifest in the real world.

Real-world account abstraction use cases

Notable areas where account abstraction adds value include: 

  • Smart contract wallets: Argent includes social recovery, gas abstraction, and other smart features. Safe, provides multisig support, transaction batching, and advanced controls.

  • Enterprises: Visa uses account abstraction to improve crypto payments on Ethereum. Paymaster contracts cover fees, making transactions free for users, similar to how some debit cards work today.

  • Web3 gaming: Account abstraction removes crypto complexity, enabling in-game purchases while managing gas costs for players.

  • DeFi: Platforms use account abstraction to enable one-click trading and batch approvals while optimizing transaction costs.
The infographic illustrates real-world applications of account abstraction in smart contract wallets, enterprises, Web3 gaming, and DeFi, highlighting solutions like Argent, Safe, Visa's improved crypto payments, and paymaster contracts.

So, how can you learn more?

Getting started with account abstraction

Developer resources

A good starting point is the EIP-4337 entry on Ethereum’s website. It covers the motivation, specification, and rationale for account abstraction using an alternative mempool. There, you can also find reference implementations and security considerations. 

Next, explore Cyfrin’s comprehensive account abstraction repository on GitHub. It contains a quick start guide, example deployments, and FAQs. Beyond this, dive deeper into account abstraction with our comprehensive course section on Cyfrin Updraft. 

But you may still wonder how to build and deploy programmable account functionality.

Implementation considerations

Two main approaches to account abstraction implementation:

  1. Ethereum uses external bundlers and an entry-point contract
  2. ZKsync builds account abstraction directly into the chain

As noted earlier, on Ethereum, users send operations to bundlers who forward them to an entry point contract. The entry point validates and executes the transaction. Whereas on ZKsync, users send transactions directly to the chain where system contracts handle validation and execution.

Both approaches allow wallets to define custom rules for transaction approval, like requiring multiple signatures or using social logins. Cyfrin Updraft’s comprehensive tutorial breaks down the process.

Conclusion

Account abstraction changes how users interact with blockchains. It adds modern financial management features to crypto wallets, allowing users to recover lost accounts, set spending limits, and pay fees in any token.

Major companies like Visa build with account abstraction today. Games use it to remove complexity. DeFi apps make trading simpler with it.

The tools exist. The standards work. Now, developers can build better crypto apps for everyone. Realize the web3 vision and learn how to build account abstraction into your project with Cyfrin Updraft's Advanced Foundry course.

Secure your protocol today

Join some of the biggest protocols and companies in creating a better internet. Our security researchers will help you throughout the whole process.
Stay on the bleeding edge of security
Carefully crafted, short smart contract security tips and news freshly delivered every week.