← Back to blog

Account Abstraction (ERC-4337)

September 30, 2025

In this article :
How Account Abstraction works
EOA vs Account abstraction
Native Account Abstraction


Account abstraction is a new way to manage accounts on Ethereum.
It allows users to create accounts that :

How the setup works

Create a smart contract that defines "what" can sign a transaction.

Unlike a normal Ethereum transaction, the protocol doesn’t enforce the signature field; in fact, it is just arbitrary bytes:

You are not sending a transaction to an Ethereum node but a "UserOp" to an alt mempool:

A "UserOperation" is sent to a dedicated off-chain mempool, where it is bundled into a single standard transaction to be executed by the EntryPoint smart contract. The mempool wraps each UserOperation in a call, constructs the bundle, and sends it on-chain via the EntryPoint.sol contract. A UserOperation is nothing more than an object containing all the data needed to define the "rules" of the account.

The EntryPoint contract is the execution router for the entire AA system: it deploys the account when needed and executes every operation.

The entire workflow should look like this :

lol

There are also two add-on features that the EntryPoint contract lets you implement in your account:

Externally Owned Account vs Unified Account

EOA (classic, pre ERC-4337) :

ERC-4337 (account abstraction layer on top of Ethereum):

Native Account Abstraction

Some chains have Account Abstraction natively, like ZKsync :

lol

lol

If you have suggestions or you just want me to make some notes about something, ping me on X :)

Share on X