# ERC-4337

<figure><img src="/files/TuG302yXtl9Bq1mejVFW" alt=""><figcaption></figcaption></figure>

[The ERC-4337 standard](https://eips.ethereum.org/EIPS/eip-4337) introduces a new object called “UserOperation” to the Ethereum network, enabling the functionality of smart wallets. When a user initiates a UserOperation, the “higher-layer pseudo-transaction object” is sent to a **separate mempool** specifically designated for processing ERC-4337 transactions, distinct from the main Ethereum network’s mempool.

One of the key advantages of ERC-4337 is the increased flexibility it offers compared to the mainnet. Users can perform multiple transactions at once, bundling them together within a UserOperation. Additionally, users **can delegate the payment of transaction fees** to an Externally Owned Account (EOA), such as a wallet provider, streamlining the process and reducing user fees.

The process of utilizing ERC-4337 involves four stages:&#x20;

1. The user expresses their intent by creating a UserOperation, representing their desired transaction. These UserOperations are akin to unconfirmed transactions.&#x20;
2. Bundling these UserOperations into the separate mempool designed for ERC-4337 transactions, where Bundlers (validators) handle them.
3. The bundled transactions are sent to the EntryPoint contract, a standardized piece of code that acts as a reference point on the blockchain.&#x20;
4. The EntryPoint calls the validateUserOp function to identify the UserOperation associated with the contract wallet. The smart contract wallet should implement the ExecuteUserOp function to ensure the completion of the transaction.

<br>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://chainex.gitbook.io/whitepaper/technological-foundations/erc-4337.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
