> For the complete documentation index, see [llms.txt](https://docs.jaspervault.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.jaspervault.io/development/building-blocks/account-abstraction-evm.md).

# Account Abstraction (EVM)

### Key Terms from ERC-4337

* **Account Abstraction**

Most generally, Account Abstraction (AA) aims to  circumvent the limits of status quo externally-owned accounts for users, introducing more efficient and maintainable ways for them to interact with Ethereum.

In ERC-4337, this is achieved via the introduction a separate transaction-like system. The core components of this system are as follows:

* **UserOperations**

A simple data structure that *describes* a transaction that is being initiated on behalf of a user.&#x20;

It must not be confused with an EVM transaction, although it is similar. They can be considered *pseudo-transaction* objects.

* **User Operation Mempool**

This is a separate mempool where pending UserOperations are sent.

* **Bundlers**

These are nodes that listen in on at least one UserOperation mempool and bundle UserOperations into batches for execution in a single transaction, which involves invoking the `EntryPoint.handleOps()`.

* **Entrypoint**

Each chain is to have just a single *whitelisted* EntryPoint contract deployed. Bundlers whitelist the supported EntryPoint.

The EntryPoint verifies and executes the bundles of UserOperations sent to it.

* **Paymaster**

A contract that sponsors the gas fees for transactions initiated for the UserOperations of users.

### Further Readings

Many existing resources go into greater detail on these concepts.

{% embed url="<https://ethereum.org/en/roadmap/account-abstraction/>" %}
An overview of Account Abstraction in Ethereum more generally
{% endembed %}

{% embed url="<https://docs.stackup.sh/docs/erc-4337-overview>" %}
Stackup provides a great overview of ERC-4337 for developers on their docs
{% endembed %}

{% embed url="<https://eips.ethereum.org/EIPS/eip-4337>" %}
The official ERC-4337 proposal
{% endembed %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.jaspervault.io/development/building-blocks/account-abstraction-evm.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
