The essence of account abstraction is a Contract Account. In Ethereum, there are two types of accounts:
A simple example is that the Contract Address is the address where the contract is deployed. Any contract in Ethereum that can be called has a contract address, such as USDT’s contract address. An EOA account is the well-known ETH account, like the account shown in the Metamask wallet.
0xdac17f958d2ee523a2206206994597c13d831ec7 is the contract address for USDT tokens. Contract addresses cannot be directly created from outside; they are created and managed by EOAs. The EOA that created the USDT contract address is 0x36928500Bc1dCd7af6a2B4008875CC336b927D57。
Therefore, we understand that an AA account is a special type of Contract Account (CA) in Ethereum. AA accounts still need to be created by EOAs and are controlled by external EOAs because the only way to interact with the Ethereum chain is through EOAs. Consequently, AA serves as a standardized and modular implementation of CA wallets, which continues to evolve over time.
We have just explained the relationship between AA and CA. Before the proposal of the ERC-4337 standard, there were already a significant number of CA wallets available. Below, we provide information on three popular CA wallets and how they operate:
During the early stages of Ethereum’s development, several contract wallets emerged. The most well-known one is the Parity wallet, developed by Gavin Wood’s team, the founders of PolkaDot. Parity is implemented in Rust and serves as an alternative to the Geth node, which is developed in Golang. Parity Wallet is a multi-signature contract wallet that allows multiple externally owned accounts (EOAs) to control and manage a contract account (CA). However, in 2017, a hacker exploited a bug in the Parity wallet and stole over 150,000 ETH. This incident caused a loss of trust in contract wallets.
As a result, AA wallets require extensive practice and standardization to prevent similar incidents from occurring.
The Gnosis multi-signature wallet is currently the mainstream Multi-sig wallet and is used by most institutions and developers. A significant number of teams store their development funds in Gnosis’s multi-signature wallet to prevent team members from acting maliciously. Notable teams using Gnosis Safe include Yearn, Aave, and Balancer. The security of Gnosis Safe is extremely high, but its usage is relatively expensive, which is a common problem with CA wallets.
Unipass Wallet combines MPC technology and CA contract wallets, allowing users to use social login without self-custody of an EOA wallet. It should be noted that both the Parity wallet and Gnosis Safe still require users to self-custody their private keys. The general flow of Unipass is:
It is important to note that the original AA solution of Unipass does not fully adhere to the ERC-4337 standard. The wallet control is still delegated to an EOA that is controlled by Unipass’s MPC.
The essence of AA is a standardized, modularized CA account. ERC-4337 mainly manifests the following innovations:
The diagram above roughly describes the standard transaction process under ERC-4337:
We can summarize the main differences between AA and traditional CA as follows:
Before fully understanding AA, many people often confuse the concepts of AA and MPC because they both support features such as social recovery and browserless plugins. The essential differences between AA and MPC are as follows:
Next, let’s introduce MPC and its unique features.
MPC solutions are widely used in current social logins, and many projects have launched MPC wallets to provide a chainless wallet experience, eliminating the need for users to install plugin wallets or manage private keys. In the industry, these types of managed wallets are collectively referred to as Wallet-as-a-Service (WaaS). Mature projects include:
In the face of an increasing number of WaaS services, it is foreseeable that there will be more products offering WaaS in the future. However, centralized exchanges have absolute user volume and extensive business experience in this field, so it is possible that all centralized exchanges will provide related services in the future.
The main drawback of traditional Externally Owned Accounts (EOA) is that users are responsible for storing their own private keys. This self-custody presents the following issues:
AA (Account Abstraction) is designed to allow users to set up social recovery accounts. They can use one or more external EOAs to regain control over their AA. The common flow for social recovery is as follows:
Through this appeal process, even if the user loses control of the EOA governing the AA, they can still switch to a new EOA. Unlike MPC (Multi-Party Computation) social login, this social recovery is entirely decentralized and does not have a single point of failure.
Gas delegation is core to the mass adoption of blockchain. For new users entering Web3, the biggest pain point is to pre-fund gas fees. By using AA’s Paymaster to delegate gas, new users can be subsidized, thus lowering the entry barrier to Web3 applications.
Another core issue affecting the mass adoption of Web3 is cross-chain compatibility. Paymaster, through the integration of cross-chain protocols like Layer0/Warmhole, allows users to deposit in Chain A (e.g., Ethereum) and seamlessly use applications in another Chain B (e.g., Matic or BSC), thus chain borders disappear and helping new Dapps gain users from other chains.
While we’ve discussed the advantages of AA, the ERC-4337 standard is still rapidly iterating to address its current disadvantages:
Unlike EOA, once an EOA is created, it can be used on any EVM compatible chain, as the same public-private key pair can be used to interact on different chains. However, due to the nature of AA being a Contract Account (CA), a new AA contract needs to be deployed separately on each chain or Layer2. The high deployment cost of AA contracts might discourage users from adopting AAs.
Additionally, if users deploy improperly, such as using different Factories to deploy AA contract accounts, they may end up with different AA addresses on different chains, which can cause significant confusion and difficulty in usage and understanding. While current AA Wallet Factories have achieved generating the same AA address across different chains, users still need to exercise caution in checking the protocols they are using to ensure that their AA addresses remain consistent across various chains, thereby preventing any future issues or confusion.
As mentioned, AA accounts require users to deploy the AA contracts generated by Wallet Factory on different chains and Layer2 separately. Even with the current sidechains, EVM-compatible chains, and lower Layer2 gas fees, it is still a significant expense. With the current gas fees and ETH price at $1800, deploying an AA account on the ETH mainnet would cost roughly $20-$40, while on EVM-compatible chains or Layer2, it would range from $0.5 to $5. For most users, it is difficult to accept the deployment cost before they even use the Dapp. Assuming this cost is subsidized by a Bundler or Paymaster, the subsidy cost is still too high and requires a strong incentive.
Depending on the implementation of AA and the number of transactions bundled in a single Bundler transaction (the more transactions, the lower the gas cost per UserOP), the gas consumption of the current standard ERC-4337 transactions may be several times higher than that of regular EOA accounts. This is because a transaction initiated by an AA account often requires calling 3 or more contracts and involves complex calculations such as on-chain BLS signature verification. The current ERC-4337 standard is also being optimized for this, with the following roadmap:
We just mentioned the relatively high cost of using the ERC-4337 standard. What are the specific costs? First, let’s introduce a concept, which is the calculation formula for gas fees:
fee = gas × price
So, what are the deployment and usage costs of ERC-4337? The StackUp team has provided accurate estimations in their blog.
https://www.stackup.sh/blog/how-much-more-expensive-is-erc-4337
Table 1. Gas for ERC-4337 transactions
The table above shows:
Table 2. Gas fee estimates for ERC-4337 transactions
This table provides cost estimates for various operations on the ERC-4337 AA account using the current gas prices. We can observe the following:
In summary, due to the high cost of creating ERC-4337 AA accounts on the mainnet, widespread adoption is likely to occur first on Layer2 and EVM-compatible chains.
Another obstacle to AA development is infrastructure compatibility with AA contracts. Most Dapps outside the native AA chain only support EOA accounts. Support for AA requires Dapps to use AA’s SDK for transactions and to modify query parameters for user information.
Furthermore, blockchain browsers such as Etherscan are primarily designed for EOAs. To improve the convenience of querying AA accounts, these browsers may require a series of UI and UX optimizations.
Except for Ethereum, most of the new public blockchains have already implemented native AA accounts.
Native AAs are implemented at the chain’s consensus layer, meaning they don’t require community developers for deployment. These are usually internal or system contracts developed and maintained by the blockchain developers.
Lower deployment costs and extra gas fees
Internal contracts often have higher permissions and priorities, and their gas calculations are different from external contracts. Therefore, native AAs have lower deployment costs and usually don’t add significant gas overhead.
Upgrading native AAs requires the public chain developers to be responsible, often needing soft or hard forks. This makes them less flexible than modular ERC-4337, limiting the pace of iteration and new feature release.
Chains with native AAs are actively studying ERC-4337’s extensibility and modularity, allowing more features to be built on top of native AAs.
Near implements native AAs at the consensus layer with accounts stored directly in the blockchain. It supports multiple access keys and social recovery (email, phone number). The following image illustrates the differences between an ETH and a Near account.
Because of the Resource Ownership model in Aptos and Sui, both Aptos and Sui have implemented native AA at the consensus layer. Taking Aptos as an example, an Aptos account is a set of resources on the blockchain, so when creating an Aptos account, it is necessary to prepay Aptos to complete the initialization of the account. Aptos/Sui accounts also support changing the authentication key, but the address of the account remains the same, among other AA features.
Unlike Near/Aptos/Sui/Starknet, ZKsync supports both EOA and AA at the consensus layer. Therefore, ZKsync can initiate transactions using both EOA and AA, allowing it to be used with popular wallets like Metamask and Argent. ZKSync’s AA design is based on ERC-4337, making it compatible with wallets and Dapps that support EIP-4337. Currently, the additional gas cost for AA transactions in ZKsync is approximately execution_gas + 20000, which is around 0.01USD at the time of writing. This is a small cost compared to non-native AA ERC-4337.
Starknet natively supports AA and does not support EOA-initiated transactions. The AA accounts in Starknet are designed based on ERC-4337. Currently, the AA contracts in Starknet are provided by OpenZeppelin and developed using Cairo.
The native AA accounts in ICP are called Internet Identity (II for short). The implementation of II is different from ERC-4337. II utilizes WebAuthn, commonly used in Web2 frameworks, allowing users to control their accounts using the built-in security chips in their smartphones. Users can freely add and remove devices. In essence, II turns the user’s smartphone devices into hardware wallets.
Bundler replaces the previous node Mempool in the AA ecosystem. UserOps are no longer sent to Validators but are sent to Bundlers for packaging and on-chain processing. The mainstream bundlers are as follows:
Stackup’s bundler is implemented in Go lang and aims to integrate seamlessly with Go Ethereum (geth). It is the first production-standard bundler on this list that fully complies with ERC-4337. Stackup is actively maintained and has comprehensive documentation, making it the most popular bundler currently. Stackup provides bundler services, eliminating the need for teams to set up their own bundler service.
Infinitism’s bundler is developed in TypeScript and was developed by the original author of ERC-4337. Infinitism also develops ERC-4337 contracts, making its bundler highly compatible with ERC-4337. However, further verification is needed for performance and stability since it is developed in TypeScript.
Skandha is a bundler based on TypeScript developed by Etherspot. Etherspot is active in bundler’s mempool implementation. Skandha passed all tests in April 2023.
Voltaire is a bundler protocol developed by the Candide team to support their own Candide wallet. Voltaire is a python-based implementation of ERC-4337. Voltaire currently provides good support for Candide’s own open-source wallet.
Rundler is a Bundler protocol developed by Alchemy, the largest node service provider for Ethereum. Currently, Rundler is not open source, but due to Alchemy’s large user base, it may receive significant traffic support.
Bundler is currently in a phase of rapid development and iteration.
The current pain point that bundler needs to address is the consistency and communication issues of bundler’s mempool. Assuming there are multiple bundler protocols in the market and there is a lack of communication between them, it can lead to a serious problem of DDoS attacks on bundler. If a user simultaneously sends transactions to multiple bundlers without communication between them, these bundlers will simultaneously package and send UserOps to the validator. However, only the UserOp from the first bundler will be executed, and the transactions from the remaining bundlers will be rejected due to the same nonce. In this case, if the user’s paymaster has insufficient balance, the bundlers will pay invalid gas for these UserOps. So currently, communication between bundlers is a problem that needs to be addressed in order to prevent UserOp spam attacks on bundlers.
The current bundlers are highly centralized. If bundlers blacklist certain users, it would result in their transactions being unable to be executed. This goes against the decentralization and permissionless nature of blockchain.
Paymaster is an important part of AA, as it can subsidize users’ gas fees and significantly reduce the barrier to entry for Web3. Here are some popular implementations of paymaster:
stackups paymaster
Stackups’ paymaster is part of the Stackups AA ecosystem. Stackups has implemented a paymaster dashboard where DApps or other service providers can set up their own subsidizing accounts at https://app.stackup.sh/sign-in to sponsor users’ transactions.
Biconomy Dashboard
Biconomy Dashboard allows organizations and developers to utilize AA components in their projects. Project owners can configure their projects to pay gas fees for users through paymasters and add gas sponsorship conditions. By registering your paymaster for any supported chain, DApps can greatly simplify the Web3 experience for users.
Traditional EOA accounts often struggle to achieve decentralization, usability, and security simultaneously.
In the traditional EOA framework, users often need to acquire blockchain tokens like ETH through fiat currencies to use Web3 applications. This typically involves using centralized exchanges (CEX) to deposit fiat currency, exchanging it for the required token, and finally transferring it to a newly created EOA account. This process requires a significant understanding of Web3 and is cumbersome in many regions. By introducing paymasters in AA, the initial onboarding costs for users can be delegated to the project owners of DApps. The transfer of gas fees has significant implications for the mass adoption of Web3.
Currently, ERC-4337 is in its early stages, and numerous tools are being developed based on it. On the paymaster side, the user’s UserOp can be audited to prevent rug from happening, such as excessive approvals or unauthorized fund transfers. The paymaster’s security audit can be conducted using well-established methods in the web2 financial sector to review problematic transactions and ensure the safety of user funds.
Another innovation being developed is the security isolation of accounts, such as separating the fund account from the game account, etc. When users use familiar DeFi and transfer functions, the fund account with stricter security auditing is used. When users try GameFi or unfamiliar DeFi, the game account is used. In this way, without increasing the private keys that users need to manage, the security isolation design of accounts ensures the security of users’ funds at the underlying level.
Currently, many devices such as smartphones and laptops have built-in secure chips, such as the Apple T2 Security Chip used in Mac and iPhone. Therefore, fundamentally, every device with a Tee chip is a reliable hardware wallet. However, these secure chips currently do not support common blockchain signature algorithms like ECDSA.
The current security of EOA private keys in plugins/mobile wallets is directly stored in plaintext on the device. If the device is compromised, the user’s assets can be quickly lost. Therefore, browser extension wallets like Metamask have high usability but low security.
Hardware wallets
Hardware wallets ensure that private keys never leave the device and cannot be directly accessed by external parties. However, most users cannot carry their hardware wallets with them at all times, resulting in high security but low usability.
By using the AA wallet and the innovative on-chain verification method, transactions can be directly signed by the device’s secure chip, ensuring that the user’s private key never leaves the device. This provides greater security compared to traditional EOA accounts. Currently, the Internet Computer’s Internet Identity and a project called Porton Wallet in the ETHBogota Hackathon have implemented a solution that utilizes device secure chip signing and session key, allowing users to fully utilize the security of their devices such as smartphones or computers, equivalent to a hardware wallet.
Thanks to the highly modular design of ERC-4337, through its expansion and iteration, AA accounts will achieve significantly improved security.
Currently, another obstacle to the mass adoption of Web3 is the fragmentation of blockchain ecosystems across different chains.
As a simple example, let’s consider a user on Ethereum (ETH) who wants to experience an application on Binance Smart Chain (BSC). What should this user do? First, the user needs to exchange their ETH for the corresponding USDT/USDC and then use a cross-chain bridge to transfer these tokens from ETH to BSC. After that, the user needs to purchase some BNB from a centralized exchange (CEX) and transfer it to BSC. Only then can the user start experiencing various DeFi applications on BSC. This entire process is time-consuming, has poor security, and comes with a steep learning curve, especially for new users who might not be familiar with cross-chain bridges.
Through current commonly used cross-chain protocols, such as Layer0 + AA, the process of using DApp on different chains can be greatly simplified. The paymaster can fully integrate cross-chain protocols to achieve “charge it once, pay everywhere”. For example, if a user recharges USDC on the pay master of ETH, as long as the user’s AA account on different chains is the same and is bound to the same pay master, the paymaster can handle the accounting on behalf of the user. The user does not need to manually transfer assets to any EVM-compatible chain/Layer2 with the same account address.
The biggest advantage of introducing paymaster is that it programmatically establishes conditions for subsidizing Dapp users.
In the past, there have been cases where Web3 ecosystem projects subsidized gas to attract customers. However, subsidizing EOA accounts without programmatically setting conditions often led to the misuse of subsidy funds by bots and fraudsters, such as directly transferring the subsidy funds, without attracting genuine customers.
Currently, paymaster dashboards generally include the functionality of subsidizing gas fees for Dapps. Project developers can easily set the conditions for subsidies in the dashboard, so that only transactions that meet specific conditions are eligible for the subsidy. By controlling the transaction conditions in subsidies through paymaster, Dapps can attract more genuine users while keeping the costs under control.
Under EOA, due to the dominance of Metamask, current Dapps are mainly accessed through web interfaces, resulting in a higher market share for web plugin wallets. However, the mass adoption of web3 relies on the participation of mobile users, making the development and adaptation of AA more Mobile Native.
With the rising popularity of Dark Forest, the trend of fully on-chain games is quietly emerging. However, the user experience of using EOA (Externally Owned Accounts) in games is very poor. Imagine having to use a wallet for authorization or signing transactions every time you perform any action in a game. This constant interruption prevents players from fully focusing on the game itself. To address this issue, Arcade Accounts, which are specialized versions of regular AA, have been developed specifically for fully on-chain games. These accounts authorize specific game operations, allowing players to participate in full on-chain games without the need for repetitive authorization and transaction signing. As a result, the gaming experience is greatly improved. The rise of fully on-chain games in the future is likely to drive the widespread adoption of AA accounts.
Recently, the concept of intent-based transactions has gained popularity with the rise of Unibot, and Uniswap has also launched the Uniswap X project to promote the implementation of intent-based transactions. The following example can explain what intent-based transactions are:
If someone is willing to execute the intent, the counterparty initiates another intent to transfer 1000 USDT to Alice and receive 1 ETH.
The transaction is successfully matched.
Intent-Based Transactions provides the following advantages:
Currently, CowSwap has implemented Intent-Based Transactions based on EOA. However, Intent-Based Transactions based on EOA still require users to authorize (ERC-20, Approve) before initiating the transaction. However, under the new account architecture of AA, users can send Approve and Intent together to the bundler. AA’s bundler can simultaneously access the Intents Poll, match intents, and provide a more convenient trading experience.
The essence of account abstraction is a Contract Account. In Ethereum, there are two types of accounts:
A simple example is that the Contract Address is the address where the contract is deployed. Any contract in Ethereum that can be called has a contract address, such as USDT’s contract address. An EOA account is the well-known ETH account, like the account shown in the Metamask wallet.
0xdac17f958d2ee523a2206206994597c13d831ec7 is the contract address for USDT tokens. Contract addresses cannot be directly created from outside; they are created and managed by EOAs. The EOA that created the USDT contract address is 0x36928500Bc1dCd7af6a2B4008875CC336b927D57。
Therefore, we understand that an AA account is a special type of Contract Account (CA) in Ethereum. AA accounts still need to be created by EOAs and are controlled by external EOAs because the only way to interact with the Ethereum chain is through EOAs. Consequently, AA serves as a standardized and modular implementation of CA wallets, which continues to evolve over time.
We have just explained the relationship between AA and CA. Before the proposal of the ERC-4337 standard, there were already a significant number of CA wallets available. Below, we provide information on three popular CA wallets and how they operate:
During the early stages of Ethereum’s development, several contract wallets emerged. The most well-known one is the Parity wallet, developed by Gavin Wood’s team, the founders of PolkaDot. Parity is implemented in Rust and serves as an alternative to the Geth node, which is developed in Golang. Parity Wallet is a multi-signature contract wallet that allows multiple externally owned accounts (EOAs) to control and manage a contract account (CA). However, in 2017, a hacker exploited a bug in the Parity wallet and stole over 150,000 ETH. This incident caused a loss of trust in contract wallets.
As a result, AA wallets require extensive practice and standardization to prevent similar incidents from occurring.
The Gnosis multi-signature wallet is currently the mainstream Multi-sig wallet and is used by most institutions and developers. A significant number of teams store their development funds in Gnosis’s multi-signature wallet to prevent team members from acting maliciously. Notable teams using Gnosis Safe include Yearn, Aave, and Balancer. The security of Gnosis Safe is extremely high, but its usage is relatively expensive, which is a common problem with CA wallets.
Unipass Wallet combines MPC technology and CA contract wallets, allowing users to use social login without self-custody of an EOA wallet. It should be noted that both the Parity wallet and Gnosis Safe still require users to self-custody their private keys. The general flow of Unipass is:
It is important to note that the original AA solution of Unipass does not fully adhere to the ERC-4337 standard. The wallet control is still delegated to an EOA that is controlled by Unipass’s MPC.
The essence of AA is a standardized, modularized CA account. ERC-4337 mainly manifests the following innovations:
The diagram above roughly describes the standard transaction process under ERC-4337:
We can summarize the main differences between AA and traditional CA as follows:
Before fully understanding AA, many people often confuse the concepts of AA and MPC because they both support features such as social recovery and browserless plugins. The essential differences between AA and MPC are as follows:
Next, let’s introduce MPC and its unique features.
MPC solutions are widely used in current social logins, and many projects have launched MPC wallets to provide a chainless wallet experience, eliminating the need for users to install plugin wallets or manage private keys. In the industry, these types of managed wallets are collectively referred to as Wallet-as-a-Service (WaaS). Mature projects include:
In the face of an increasing number of WaaS services, it is foreseeable that there will be more products offering WaaS in the future. However, centralized exchanges have absolute user volume and extensive business experience in this field, so it is possible that all centralized exchanges will provide related services in the future.
The main drawback of traditional Externally Owned Accounts (EOA) is that users are responsible for storing their own private keys. This self-custody presents the following issues:
AA (Account Abstraction) is designed to allow users to set up social recovery accounts. They can use one or more external EOAs to regain control over their AA. The common flow for social recovery is as follows:
Through this appeal process, even if the user loses control of the EOA governing the AA, they can still switch to a new EOA. Unlike MPC (Multi-Party Computation) social login, this social recovery is entirely decentralized and does not have a single point of failure.
Gas delegation is core to the mass adoption of blockchain. For new users entering Web3, the biggest pain point is to pre-fund gas fees. By using AA’s Paymaster to delegate gas, new users can be subsidized, thus lowering the entry barrier to Web3 applications.
Another core issue affecting the mass adoption of Web3 is cross-chain compatibility. Paymaster, through the integration of cross-chain protocols like Layer0/Warmhole, allows users to deposit in Chain A (e.g., Ethereum) and seamlessly use applications in another Chain B (e.g., Matic or BSC), thus chain borders disappear and helping new Dapps gain users from other chains.
While we’ve discussed the advantages of AA, the ERC-4337 standard is still rapidly iterating to address its current disadvantages:
Unlike EOA, once an EOA is created, it can be used on any EVM compatible chain, as the same public-private key pair can be used to interact on different chains. However, due to the nature of AA being a Contract Account (CA), a new AA contract needs to be deployed separately on each chain or Layer2. The high deployment cost of AA contracts might discourage users from adopting AAs.
Additionally, if users deploy improperly, such as using different Factories to deploy AA contract accounts, they may end up with different AA addresses on different chains, which can cause significant confusion and difficulty in usage and understanding. While current AA Wallet Factories have achieved generating the same AA address across different chains, users still need to exercise caution in checking the protocols they are using to ensure that their AA addresses remain consistent across various chains, thereby preventing any future issues or confusion.
As mentioned, AA accounts require users to deploy the AA contracts generated by Wallet Factory on different chains and Layer2 separately. Even with the current sidechains, EVM-compatible chains, and lower Layer2 gas fees, it is still a significant expense. With the current gas fees and ETH price at $1800, deploying an AA account on the ETH mainnet would cost roughly $20-$40, while on EVM-compatible chains or Layer2, it would range from $0.5 to $5. For most users, it is difficult to accept the deployment cost before they even use the Dapp. Assuming this cost is subsidized by a Bundler or Paymaster, the subsidy cost is still too high and requires a strong incentive.
Depending on the implementation of AA and the number of transactions bundled in a single Bundler transaction (the more transactions, the lower the gas cost per UserOP), the gas consumption of the current standard ERC-4337 transactions may be several times higher than that of regular EOA accounts. This is because a transaction initiated by an AA account often requires calling 3 or more contracts and involves complex calculations such as on-chain BLS signature verification. The current ERC-4337 standard is also being optimized for this, with the following roadmap:
We just mentioned the relatively high cost of using the ERC-4337 standard. What are the specific costs? First, let’s introduce a concept, which is the calculation formula for gas fees:
fee = gas × price
So, what are the deployment and usage costs of ERC-4337? The StackUp team has provided accurate estimations in their blog.
https://www.stackup.sh/blog/how-much-more-expensive-is-erc-4337
Table 1. Gas for ERC-4337 transactions
The table above shows:
Table 2. Gas fee estimates for ERC-4337 transactions
This table provides cost estimates for various operations on the ERC-4337 AA account using the current gas prices. We can observe the following:
In summary, due to the high cost of creating ERC-4337 AA accounts on the mainnet, widespread adoption is likely to occur first on Layer2 and EVM-compatible chains.
Another obstacle to AA development is infrastructure compatibility with AA contracts. Most Dapps outside the native AA chain only support EOA accounts. Support for AA requires Dapps to use AA’s SDK for transactions and to modify query parameters for user information.
Furthermore, blockchain browsers such as Etherscan are primarily designed for EOAs. To improve the convenience of querying AA accounts, these browsers may require a series of UI and UX optimizations.
Except for Ethereum, most of the new public blockchains have already implemented native AA accounts.
Native AAs are implemented at the chain’s consensus layer, meaning they don’t require community developers for deployment. These are usually internal or system contracts developed and maintained by the blockchain developers.
Lower deployment costs and extra gas fees
Internal contracts often have higher permissions and priorities, and their gas calculations are different from external contracts. Therefore, native AAs have lower deployment costs and usually don’t add significant gas overhead.
Upgrading native AAs requires the public chain developers to be responsible, often needing soft or hard forks. This makes them less flexible than modular ERC-4337, limiting the pace of iteration and new feature release.
Chains with native AAs are actively studying ERC-4337’s extensibility and modularity, allowing more features to be built on top of native AAs.
Near implements native AAs at the consensus layer with accounts stored directly in the blockchain. It supports multiple access keys and social recovery (email, phone number). The following image illustrates the differences between an ETH and a Near account.
Because of the Resource Ownership model in Aptos and Sui, both Aptos and Sui have implemented native AA at the consensus layer. Taking Aptos as an example, an Aptos account is a set of resources on the blockchain, so when creating an Aptos account, it is necessary to prepay Aptos to complete the initialization of the account. Aptos/Sui accounts also support changing the authentication key, but the address of the account remains the same, among other AA features.
Unlike Near/Aptos/Sui/Starknet, ZKsync supports both EOA and AA at the consensus layer. Therefore, ZKsync can initiate transactions using both EOA and AA, allowing it to be used with popular wallets like Metamask and Argent. ZKSync’s AA design is based on ERC-4337, making it compatible with wallets and Dapps that support EIP-4337. Currently, the additional gas cost for AA transactions in ZKsync is approximately execution_gas + 20000, which is around 0.01USD at the time of writing. This is a small cost compared to non-native AA ERC-4337.
Starknet natively supports AA and does not support EOA-initiated transactions. The AA accounts in Starknet are designed based on ERC-4337. Currently, the AA contracts in Starknet are provided by OpenZeppelin and developed using Cairo.
The native AA accounts in ICP are called Internet Identity (II for short). The implementation of II is different from ERC-4337. II utilizes WebAuthn, commonly used in Web2 frameworks, allowing users to control their accounts using the built-in security chips in their smartphones. Users can freely add and remove devices. In essence, II turns the user’s smartphone devices into hardware wallets.
Bundler replaces the previous node Mempool in the AA ecosystem. UserOps are no longer sent to Validators but are sent to Bundlers for packaging and on-chain processing. The mainstream bundlers are as follows:
Stackup’s bundler is implemented in Go lang and aims to integrate seamlessly with Go Ethereum (geth). It is the first production-standard bundler on this list that fully complies with ERC-4337. Stackup is actively maintained and has comprehensive documentation, making it the most popular bundler currently. Stackup provides bundler services, eliminating the need for teams to set up their own bundler service.
Infinitism’s bundler is developed in TypeScript and was developed by the original author of ERC-4337. Infinitism also develops ERC-4337 contracts, making its bundler highly compatible with ERC-4337. However, further verification is needed for performance and stability since it is developed in TypeScript.
Skandha is a bundler based on TypeScript developed by Etherspot. Etherspot is active in bundler’s mempool implementation. Skandha passed all tests in April 2023.
Voltaire is a bundler protocol developed by the Candide team to support their own Candide wallet. Voltaire is a python-based implementation of ERC-4337. Voltaire currently provides good support for Candide’s own open-source wallet.
Rundler is a Bundler protocol developed by Alchemy, the largest node service provider for Ethereum. Currently, Rundler is not open source, but due to Alchemy’s large user base, it may receive significant traffic support.
Bundler is currently in a phase of rapid development and iteration.
The current pain point that bundler needs to address is the consistency and communication issues of bundler’s mempool. Assuming there are multiple bundler protocols in the market and there is a lack of communication between them, it can lead to a serious problem of DDoS attacks on bundler. If a user simultaneously sends transactions to multiple bundlers without communication between them, these bundlers will simultaneously package and send UserOps to the validator. However, only the UserOp from the first bundler will be executed, and the transactions from the remaining bundlers will be rejected due to the same nonce. In this case, if the user’s paymaster has insufficient balance, the bundlers will pay invalid gas for these UserOps. So currently, communication between bundlers is a problem that needs to be addressed in order to prevent UserOp spam attacks on bundlers.
The current bundlers are highly centralized. If bundlers blacklist certain users, it would result in their transactions being unable to be executed. This goes against the decentralization and permissionless nature of blockchain.
Paymaster is an important part of AA, as it can subsidize users’ gas fees and significantly reduce the barrier to entry for Web3. Here are some popular implementations of paymaster:
stackups paymaster
Stackups’ paymaster is part of the Stackups AA ecosystem. Stackups has implemented a paymaster dashboard where DApps or other service providers can set up their own subsidizing accounts at https://app.stackup.sh/sign-in to sponsor users’ transactions.
Biconomy Dashboard
Biconomy Dashboard allows organizations and developers to utilize AA components in their projects. Project owners can configure their projects to pay gas fees for users through paymasters and add gas sponsorship conditions. By registering your paymaster for any supported chain, DApps can greatly simplify the Web3 experience for users.
Traditional EOA accounts often struggle to achieve decentralization, usability, and security simultaneously.
In the traditional EOA framework, users often need to acquire blockchain tokens like ETH through fiat currencies to use Web3 applications. This typically involves using centralized exchanges (CEX) to deposit fiat currency, exchanging it for the required token, and finally transferring it to a newly created EOA account. This process requires a significant understanding of Web3 and is cumbersome in many regions. By introducing paymasters in AA, the initial onboarding costs for users can be delegated to the project owners of DApps. The transfer of gas fees has significant implications for the mass adoption of Web3.
Currently, ERC-4337 is in its early stages, and numerous tools are being developed based on it. On the paymaster side, the user’s UserOp can be audited to prevent rug from happening, such as excessive approvals or unauthorized fund transfers. The paymaster’s security audit can be conducted using well-established methods in the web2 financial sector to review problematic transactions and ensure the safety of user funds.
Another innovation being developed is the security isolation of accounts, such as separating the fund account from the game account, etc. When users use familiar DeFi and transfer functions, the fund account with stricter security auditing is used. When users try GameFi or unfamiliar DeFi, the game account is used. In this way, without increasing the private keys that users need to manage, the security isolation design of accounts ensures the security of users’ funds at the underlying level.
Currently, many devices such as smartphones and laptops have built-in secure chips, such as the Apple T2 Security Chip used in Mac and iPhone. Therefore, fundamentally, every device with a Tee chip is a reliable hardware wallet. However, these secure chips currently do not support common blockchain signature algorithms like ECDSA.
The current security of EOA private keys in plugins/mobile wallets is directly stored in plaintext on the device. If the device is compromised, the user’s assets can be quickly lost. Therefore, browser extension wallets like Metamask have high usability but low security.
Hardware wallets
Hardware wallets ensure that private keys never leave the device and cannot be directly accessed by external parties. However, most users cannot carry their hardware wallets with them at all times, resulting in high security but low usability.
By using the AA wallet and the innovative on-chain verification method, transactions can be directly signed by the device’s secure chip, ensuring that the user’s private key never leaves the device. This provides greater security compared to traditional EOA accounts. Currently, the Internet Computer’s Internet Identity and a project called Porton Wallet in the ETHBogota Hackathon have implemented a solution that utilizes device secure chip signing and session key, allowing users to fully utilize the security of their devices such as smartphones or computers, equivalent to a hardware wallet.
Thanks to the highly modular design of ERC-4337, through its expansion and iteration, AA accounts will achieve significantly improved security.
Currently, another obstacle to the mass adoption of Web3 is the fragmentation of blockchain ecosystems across different chains.
As a simple example, let’s consider a user on Ethereum (ETH) who wants to experience an application on Binance Smart Chain (BSC). What should this user do? First, the user needs to exchange their ETH for the corresponding USDT/USDC and then use a cross-chain bridge to transfer these tokens from ETH to BSC. After that, the user needs to purchase some BNB from a centralized exchange (CEX) and transfer it to BSC. Only then can the user start experiencing various DeFi applications on BSC. This entire process is time-consuming, has poor security, and comes with a steep learning curve, especially for new users who might not be familiar with cross-chain bridges.
Through current commonly used cross-chain protocols, such as Layer0 + AA, the process of using DApp on different chains can be greatly simplified. The paymaster can fully integrate cross-chain protocols to achieve “charge it once, pay everywhere”. For example, if a user recharges USDC on the pay master of ETH, as long as the user’s AA account on different chains is the same and is bound to the same pay master, the paymaster can handle the accounting on behalf of the user. The user does not need to manually transfer assets to any EVM-compatible chain/Layer2 with the same account address.
The biggest advantage of introducing paymaster is that it programmatically establishes conditions for subsidizing Dapp users.
In the past, there have been cases where Web3 ecosystem projects subsidized gas to attract customers. However, subsidizing EOA accounts without programmatically setting conditions often led to the misuse of subsidy funds by bots and fraudsters, such as directly transferring the subsidy funds, without attracting genuine customers.
Currently, paymaster dashboards generally include the functionality of subsidizing gas fees for Dapps. Project developers can easily set the conditions for subsidies in the dashboard, so that only transactions that meet specific conditions are eligible for the subsidy. By controlling the transaction conditions in subsidies through paymaster, Dapps can attract more genuine users while keeping the costs under control.
Under EOA, due to the dominance of Metamask, current Dapps are mainly accessed through web interfaces, resulting in a higher market share for web plugin wallets. However, the mass adoption of web3 relies on the participation of mobile users, making the development and adaptation of AA more Mobile Native.
With the rising popularity of Dark Forest, the trend of fully on-chain games is quietly emerging. However, the user experience of using EOA (Externally Owned Accounts) in games is very poor. Imagine having to use a wallet for authorization or signing transactions every time you perform any action in a game. This constant interruption prevents players from fully focusing on the game itself. To address this issue, Arcade Accounts, which are specialized versions of regular AA, have been developed specifically for fully on-chain games. These accounts authorize specific game operations, allowing players to participate in full on-chain games without the need for repetitive authorization and transaction signing. As a result, the gaming experience is greatly improved. The rise of fully on-chain games in the future is likely to drive the widespread adoption of AA accounts.
Recently, the concept of intent-based transactions has gained popularity with the rise of Unibot, and Uniswap has also launched the Uniswap X project to promote the implementation of intent-based transactions. The following example can explain what intent-based transactions are:
If someone is willing to execute the intent, the counterparty initiates another intent to transfer 1000 USDT to Alice and receive 1 ETH.
The transaction is successfully matched.
Intent-Based Transactions provides the following advantages:
Currently, CowSwap has implemented Intent-Based Transactions based on EOA. However, Intent-Based Transactions based on EOA still require users to authorize (ERC-20, Approve) before initiating the transaction. However, under the new account architecture of AA, users can send Approve and Intent together to the bundler. AA’s bundler can simultaneously access the Intents Poll, match intents, and provide a more convenient trading experience.