In order for crypto to gain mass adoption, the user experience must be able to match or exceed what users have become accustomed to in Web2. The confusion of having to manage seed phrases, navigate cross-chain, and pay for gas fees using multiple different native tokens just in order to manage one’s assets is too much of a hindrance for all but the savviest and most determined users.
In comes Account Abstraction (AA), one of the more talked about concepts in the cryptosphere in recent history. And for good reason. It offers a solution that addresses the UX issues that have plagued crypto and have prevented it from reaching a much wider user base.
So what is Account Abstraction, and more importantly, why is it such a game changer?
First it’s useful to understand the previous status quo. Ethereum utilized two distinct account types: Externally Owned Accounts (EOAs) and contract accounts. EOAs are wallets, e.g., Metamask, which are controlled by private keys and initiate transactions and interact with contract accounts, which store and execute smart contract code. Ethereum's account model separated these two account types, creating a distinction between user accounts and smart contracts.
Account abstraction unified these account types into a single, generalized model, allowing users to interact with the blockchain using smart contract code directly, without the need for EOAs. By unifying account types, account abstraction simplifies the user experience and enables more flexible and customizable interactions.
This is an Ethereum standard designed to blur the lines between user accounts and smart accounts launched in March 2023. This essentially brought smart contract functionality to wallets, including the ability to:
Before this, smart contract wallets had a different approaches to account abstraction, which were:
The first approach still requires the account to be initiated by an EOA and has a dependency on a 3rd party relayer, which introduces an additional trust assumption. The 2nd approach has security risks associated with the Layer 2 smart contract.
One benefit of this proposal is that it required no changes to the consensus layer of Ethereum, thereby not adding complexity at the base layer of the protocol.
Social recovery refers to the process of recovering access to an account with the help of trusted friends or family members, rather than relying on a single private key.
The account owner selects a group of trusted individuals (referred to as "guardians") who can collectively help the owner recover their account in case of a loss or compromise.
When setting up social recovery, the account owner defines specific conditions that need to be met for the recovery process to be initiated, such as a minimum number of guardians approving the recovery request. The guardians can be friends, family members, or even other services like hardware wallets or custody providers.
If the account owner loses their private key or access to their wallet, they can initiate the recovery process by contacting their guardians. Once the required number of guardians approve the recovery request, the smart contract enables the account owner to regain access to their account and assets. The owner can then assign a new private key or set up a new recovery mechanism.
Social recovery through account abstraction offers several benefits, including:
Account abstraction allows accounts to be programmed to be multi-sigs by default instead of requiring the multi-sig to be initiated from an EOA.
Assign a key to your preferred fraud detection service and have it alert you of any suspicious activity happening with your account, similar to traditional banking services.
Customizable transaction fees
With the old account model, users were required to pay fees in the native gas token of the chain. However, with account abstraction, users can choose alternative payment options, e.g., pay fees in tokens other than then native token like stablecoins.
By enabling custom transaction logic and gas fee delegation, users can set up recurring payments to service providers without manually approving each transaction. Service providers can create smart contracts that automatically charge subscription fees at specific intervals, providing a seamless subscription experience comparable to Web2.
Contracts can be programmed to automatically transfer assets to designated beneficiaries upon meeting specific conditions, such as the account owner's inactivity over a defined period or verification of the owner's passing. This automated process can reduce the complexities of managing inheritance and provide a more secure way of transferring assets to the rightful heirs.
Users can delegate the payment of gas fees to other accounts or relayers. This feature simplifies user onboarding and interaction with apps, as new users don't need to acquire tokens before using the network. It also allows developers to build more user-friendly applications by offering fee delegation or subsidizing fees for their users.
The EOA model of having to sign and approve every transaction is untenable for a smooth gaming UX. Account abstraction allows for session keys, which enable transactions to be pre-approved for a specified amount of time or based on a set of conditions.
AA is also beneficial for game developers in that it allows batched transactions, so multiple actions can be performed in one go.
Batched transactions are also beneficial for DeFi applications, e.g., lending protocols where a user would no longer need to approve separate transactions for putting up collateral and borrowing funds.
Several projects are already leveraging account abstraction to improve user experiences and offer advanced features.
Argent is a mobile Ethereum wallet that leverages AA to offer a simplified user experience, social recovery, and flexible fee payment options. With Argent, users can execute transactions and interact with smart contracts using a single account, without the need for an EOA. The wallet also supports gasless transactions and enables users to pay transaction fees in tokens other than ETH.
Starknet has AA available natively on its platform, which opens up new UX opportunities for wallet apps:
Avocado is a next-generation smart contract wallet created by Instadapp that allows users to manage multiple DeFi positions across different protocols, all from a single account. This means performing multi-network transactions using AA while you’re on a single network, Avocado. All transactions on or through Avocado use USDC as gas, bypassing the need to manage multiple native tokens for each network. Add gas from any chain and pay for gas on any chain.
Not only does Avocado show balances from all your connected networks in one place, but it eliminates the need to switch networks while executing transactions. They will be introducing a mobile app and browser extension.
This is an account Abstraction as a Service plug and play solution that allows Web3 non-custodial platforms to offer a Centralized Exchange-like experience. For example, a dApp with fragmented liquidity across multiple chains would typically require users to create and maintain multiple wallets to manage cross-chain positions. With Obi, the user would have a simple single sign-on with one set of credentials instead.
Additional features include seedless onboarding, where users can create their own key configuration (biometrics/passcode, SMS messages, Geolocation key, etc.), permissioned accounts which allow users to set transaction limits and whitelist contracts to protect their assets from malicious attacks, and endowment/inheritance, where assets are sent to secondary accounts based on a set of configurable conditions. Currently supports Cosmos chains, Aptos/Sui, EVM, and Bitcoin with the goal of being fully chain agnostic in the future.
A one-stop UX-simplified smart contract wallet using AA to allow keyless and social logins, on-chain account recovery, set up automatic investment strategies, and more. Natively a mobile experience. Currently supports EVM and is looking to expand to other chains.
0x Labs has launched its Tx Relay API in beta, partnering with Robinhood Wallet as its first collaborator. The Tx Relay API enables AA by allowing users to delegate gas fee payments for their transactions.
Two key modules that offer AA-like features within the Cosmos SDK are AuthZ and FeeGrant (H/T @rustopian)
The AuthZ (Authorization) module provides a mechanism for granting and revoking various authorizations to perform specific actions on behalf of an account. It allows users to delegate specific permissions (like sending tokens, voting, or executing a contract) to another account without sharing private keys. It enhances security by enabling granular control over account permissions and reducing the need to share sensitive information.
Key features of the AuthZ module:
FeeGrant enables an account to grant another account the ability to pay transaction fees using the grantor's funds, just as in the gas sponsorship use case of AA.
Key features of the FeeGrant module:
By effectively blurring the lines between wallet and account, AA opens up seemingly limitless new use cases for developers to experiment with. It represents one of the most significant leaps in allowing the space to take the next plunge towards achieving mass adoption. By combining the benefits of Web2 convenience and accessible security measures with the power of crypto self-custody and ownership, the infrastructure is in place for crypto to shine at the application layer.
Try Kado Ramp - our instant fiat-to-crypto platform and on-ramp via ACH, credit/debit cards, and wire transfers
Looking to on-ramp more size? Kado offers OTC trading on fiat-to-crypto transactions!