Account Abstraction Overview
Learn about account abstraction, its uses cases and Alchemy's account abstraction services.
Account Abstraction is an innovative concept with the potential to significantly transform the user experience in the web3 space by offering features such as web2-style sign-in, key-less wallet management, and wallet recovery.
Understanding Account Abstraction
Traditional key-management methods, including seed phrases, browser extensions, and hardware wallets, often pose considerable challenges for most users. The vision is to make using web3 so effortless that the average user might not even realize they're using it, yet can still enjoy all of its advantages.
From a technical standpoint, Account Abstraction lets developers create customizable "smart accounts" or programmable wallets. It achieves this by shifting the responsibility of signing transactions from wallets to smart contract accounts. Consequently, the functionality of an account can extend beyond basic balance transfers to facilitate more complex interactions with the blockchain. Examples include executing smart contract code, triggering events, and managing state transitions.
Check out this 3 minute video by Alchemy to understand Account Abstraction:
The Significance of Account Abstraction
Account Abstraction can revolutionize the development of decentralized applications and wallets by giving developers a broader scope to innovate and refine user experience. Some notable advantages are:
- Flexible Signer Options: In the world of Account Abstraction, the signer – the entity responsible for authorizing transactions – can be varied. It can be an externally owned account, a custodial service, or a multi-party computation service. Our AA-SDK provides integration with a range of signers, offering flexibility in transaction authorization.
- Gas Sponsorship: A big feature of Account Abstraction is the ability to sponsor gas fees, making transactions more user-friendly, especially for applications aiming to onboard new users seamlessly. This is facilitated by our Gas Manager API, which allows you to sponsor gas fees for user operations.
- Batched Transactions: Account Abstraction supports the batching of multiple transactions into a single operation. This not only optimizes transaction efficiency but also enhances the user experience. You can easily send batched transactions using AA-SDK, which allows for more streamlined and cost-effective transaction processing.
- Transfer of Account Ownership: A unique aspect of Account Abstraction is the ability to transfer ownership of a smart account. Not all smart accounts support this feature but it is supported by our Light Account, which adds flexibility and control, ensuring that users are not confined to a single account or signer.
aa-sdk
At Alchemy, we built a simple, powerful interface for you to integrate, deploy, and use smart accounts in your dapps. The aa-sdk orchestrates everything under the hood to make development easy. Checkout the docs for aa-sdk
.
Account Abstraction APIs
For most developers aa-sdk
provides a simple and complete solution to take advantage of Account Abstraction, however, if you don't want to use the SDK, you can use the raw APIs to build your dapps.
Here's some more information and helpful links:
- Gas Manager API: We offer Gas Manager APIs that allow you to sponsor your users' gas fees.
- Bundler APIs: We offer Bundler API that allows you to use smart contract accounts. Bundler API is powered by our custom built Bundler called Rundler which provides high performance and reliability, it's written in Rust and is completely open source.
NOTE
Please note that you can sponsor gas and send
UserOperations
just by using theaa-sdk
.
Further Reading
To learn about the Account Abstraction Infrastructure in-depth, check out:
Updated 10 months ago