# User Operations

<figure><img src="/files/hKSl39FoVfsAToPcyzAy" alt=""><figcaption><p>UserOps</p></figcaption></figure>

EIP-4337 presents a novel concept called a UserOperation, which is essentially a detailed description of a user's intended transaction. These UserOperations are collected in an alternative holding area, much like a pre-confirmation queue, known as an ***"alt mempool."***

In the Ethereum network ecosystem, there are specialized nodes referred to as "bundlers." These bundlers gather UserOperations from the alt mempool and compile them into a single, comprehensive transaction, aptly named a "bundle transaction."

The bundle transaction is then directed to a unique and centralized smart contract on the blockchain, the "EntryPoint." As the only EntryPoint contract in existence, it plays a pivotal role in this process. Bundlers invoke a function on the EntryPoint called **`handleOps`**.

The ***`handleOps`*** function is responsible for taking in the bundle transaction and coordinating with each involved account's smart contract wallet to execute the **`validateUserOp`** function. This critical function checks the legitimacy of the operation's signature and approves the transaction fee if the operation is deemed valid, setting the stage for the operation's execution.

To actually carry out the intended action, each smart contract wallet is required to have another function in place, typically expected to be named ***`"execute".`***&#x54;his function is what puts the UserOperation into action, once given the go-ahead by the EntryPoint contract.


---

# 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/user-operations.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.
