> 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)

Learn about the key concepts of Account-Abstraction as implemented in JapserVault

### 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 %}
