# Account Abstraction: The New Horizon

{% hint style="success" %}
**"Account Abstraction could help onboard billions of users" - Vitalik Buterin.**
{% endhint %}

Users interact with Ethereum using externally owned accounts (EOAs). This is the only way to start a transaction or execute a smart contract. This limits how users can interact with Ethereum. For example, it makes it difficult to do batches of transactions and requires users to always keep an ETH balance to cover gas.<br>

Account abstraction is a way to solve these problems by allowing users to flexibly program more security and better user experiences into their accounts. This can happen by upgrading EOAs so they can be controlled by smart contracts, or by upgrading smart contracts so they can initiate transactions. These options both require changes to the Ethereum protocol. There is also a third path involving adding a second, separate transaction system to run in parallel to the existing protocol. Regardless of the route, the outcome is access to Ethereum via smart contract wallets, either natively supported as part of the existing protocol or via an add-on transaction network.<br>

Smart contract wallets unlock many benefits for the user, including:

* define your own flexible security rules
* recover your account if you lose the keys
* share your account security across trusted devices or individuals
* pay someone else's gas, or have someone else pay yours
* batch transactions together (e.g. approve and execute a swap in one go)
* more opportunities for dapps and wallet developers to innovate on user experiences

### More on Account Abstraction

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

{% embed url="<https://blog.jarrodwatts.com/what-is-account-abstraction-and-how-does-eip-4337-work>" %}

{% embed url="<https://www.argent.xyz/blog/part-3-wtf-is-account-abstraction/>" %}


---

# 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/account-abstraction-the-new-horizon.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.
