List of active and deprecated Ethereum testnets, including Kintsugi.
Features
Optimistic rollupÂ
ZK-rollupÂ
Proof
Uses fraud proofs to prove transaction validity.Â
Uses validity (zero-knowledge) proofs to prove transaction validity.Â
Capital efficiency
Requires waiting through a 1-week delay (dispute period) before withdrawing funds.Â
Users can withdraw funds immediately because validity proofs provide incontrovertible evidence of the authenticity of off-chain transactions.Â
Data compression
Publishes full transaction data as calldata to Ethereum Mainnet, which increases rollup costs.Â
Doesn't need to publish transaction data on Ethereum because ZK-SNARKs and ZK-STARKs already guarantee the accuracy of the rollup state.Â
EVM compatibility
Uses a simulation of the Ethereum Virtual Machine (EVM), which allows it to run arbitrary logic and support smart contracts.Â
Doesn't widely support EVM computation, although a few EVM-compatible ZK-rollups have appeared.Â
Rollup costs
Reduces costs since it publishes minimal data on Ethereum and doesn't have to post proofs for transactions, except in special circumstances.Â
Faces higher overhead from costs involved in generating and verifying proofs for every transaction block. ZK proofs require specialized, expensive hardware to create and have high on-chain verification costs.Â
Trust assumptions
Doesn't require a trusted setup.Â
Requires a trusted setup to work.Â
Liveness requirements
Verifiers are needed to keep tabs on the actual rollup state and the one referenced in the state root to detect fraud.Â
Users don't need someone to watch the L2 chain to detect fraud.Â
Security propertiesÂ
Relies on cryptoeconomic incentives to assure users of rollup security.Â
Account Abstraction (ERC-4337) vs. Meta Transactions (ERC-2771)
Learn The Reasons Why Developers Are Adopting Account Abstraction Over Meta Transactions
Last Updated:
Table of Contents
Table of Contents
Table of Contents
{{aa-cta}}
Meta Transactions and Account Abstraction are different techniques for improving the user experience of Ethereum’s gas fees.
How is Account Abstraction different from Meta Transactions?
Account Abstraction aims to abstract away more complexities of the Ethereum Account than just gas fees.Â
From a technical perspective, the difference between meta transactions and Account Abstraction lies in the structure of the message and its backwards compatibility.
What are UserOps in Account Abstraction?
In the case of Meta Transactions, the industry standard was to use EIP712-based messages, which required all smart contracts to be upgraded.Â
Account Abstraction standardizes a special transaction format called UserOperations.
UserOperation contains all the information needed to figure out what transaction the user intends to perform, including fields to decide which Paymaster to use, how much the user is willing to pay (in case of self-sponsorship), and the signed UserOperation.
What are Paymasters in Account Abstraction?
The Gas abstraction portion of the ERC-4337 Account Abstraction standard introduces Paymasters.
Paymasters are onchain smart contracts that have arbitrary validation logic which can be used to define a valid gas sponsorship. Again, the difference here is the execution is onchain.
DAOs, dapps, and other teams can deploy their own custom paymasters with features such as ERC-20 gas payments and more.
These custom Paymasters can use ERC-4337 to plug and play with existing Bundler Services. This is different from Meta Transactions which require Provider adoption.
Relayers vs. Paymasters
While Relayers in the Meta Transaction concept are private keys under the control of Infra providers, Account Abstraction Bundlers are standardized nodes. Switching between different Bundlers is as simple as changing API keys and API URLs.
There is no concept of MinimalForwarder in Account Abstraction as sponsorship validation is done onchain inside the Paymaster contract.
Instead of having only one transaction inside a native transaction in the case of Meta Transaction, Bundlers bundle multiple UserOperations into one bundle (one native transaction)!
5 Benefits of Account Abstraction over Meta Transactions
1. No Smart Contract Changes are Required
While Meta Transactions require updates to all existing contracts that would adopt them, Account Abstraction builds on existing infrastructure. This means that all smart contracts by default support Account Abstraction, which makes it a preferred option over Meta Transactions.
2. Frictionless Switching Between Bundler and Paymaster Services
Under ERC-4337, all Bundlers and Paymasters communicate following specific standards. Teams can even create their own Paymasters with conditional logic for their application.
3. No Need to Adopt Proprietary Relayers
Proprietary Relayers lack consistency; each Relayer can have their own message format for their use case. This leads to smart contract changes being required to become compatible with each different Relayer.
4. More Decentralization
As more providers make their Bundler services available, the developer gains the ability to decentralize their transaction flow. This also affords the developer the opportunity to abandon any sub-par Bundlers.Â
5. No Developer Tooling Lock-in
When using Meta Transactions you also need to use the Infra provider’s SDK. This leads to tooling lock-in that adds to the friction when migrating Relayers.
In the case of Account Abstraction, all the standard functionality is supported by all SDKs allowing one to select based on their expertise and switch based on preference!
Moreover, since the UserOperation standard is to be adopted by every vendor, building tools like UserOperation Explorers is also feasible.
How to Update Meta Transactions to Account Abstraction?
If you have already made changes to your smart contracts in order to support Meta Transactions, the migration process is simple to revert those changes.
Unlike Meta Transactions, msg.sender and msg.data can be used as-is with Account Abstraction.
If custom Paymasters or Account Factories are desired, their development becomes the next step in migrating.
For standard implementations, we recommended using well-audited, existing AA providers in order to reduce development time and self-imposed bugs.
Alchemy’s Gas Manager provides granular controls like Per Address Gas Usage limits, Max number of UserOperations to sponsor,Allowlisting addresses, Sponsorship deadlines, and Domain level allowlisting!
Alchemy Gas Manager's Spending Rules UI
Gas Manager's UI Continued
Gas Manager Admin API allow programmatically creating, reading and updating the Gas policies. On top of everything, the developer gets a great visual dashboard of every UserOperation sponsored!
Gas Manager Spending Dashboard
Gas Manager Operations View
Conclusion
Account Abstraction (ERC-4337) is the new and better way of incorporating gasless transactions into your dapps with benefits like avoiding contract-level code changes, frictionless vendor switching, composability with other existing infrastructure, and more decentralization.
Meta Transactions and Account Abstraction are different techniques for improving the user experience of Ethereum’s gas fees.
How is Account Abstraction different from Meta Transactions?
Account Abstraction aims to abstract away more complexities of the Ethereum Account than just gas fees.Â
From a technical perspective, the difference between meta transactions and Account Abstraction lies in the structure of the message and its backwards compatibility.
What are UserOps in Account Abstraction?
In the case of Meta Transactions, the industry standard was to use EIP712-based messages, which required all smart contracts to be upgraded.Â
Account Abstraction standardizes a special transaction format called UserOperations.
UserOperation contains all the information needed to figure out what transaction the user intends to perform, including fields to decide which Paymaster to use, how much the user is willing to pay (in case of self-sponsorship), and the signed UserOperation.
What are Paymasters in Account Abstraction?
The Gas abstraction portion of the ERC-4337 Account Abstraction standard introduces Paymasters.
Paymasters are onchain smart contracts that have arbitrary validation logic which can be used to define a valid gas sponsorship. Again, the difference here is the execution is onchain.
DAOs, dapps, and other teams can deploy their own custom paymasters with features such as ERC-20 gas payments and more.
These custom Paymasters can use ERC-4337 to plug and play with existing Bundler Services. This is different from Meta Transactions which require Provider adoption.
Relayers vs. Paymasters
While Relayers in the Meta Transaction concept are private keys under the control of Infra providers, Account Abstraction Bundlers are standardized nodes. Switching between different Bundlers is as simple as changing API keys and API URLs.
There is no concept of MinimalForwarder in Account Abstraction as sponsorship validation is done onchain inside the Paymaster contract.
Instead of having only one transaction inside a native transaction in the case of Meta Transaction, Bundlers bundle multiple UserOperations into one bundle (one native transaction)!
5 Benefits of Account Abstraction over Meta Transactions
1. No Smart Contract Changes are Required
While Meta Transactions require updates to all existing contracts that would adopt them, Account Abstraction builds on existing infrastructure. This means that all smart contracts by default support Account Abstraction, which makes it a preferred option over Meta Transactions.
2. Frictionless Switching Between Bundler and Paymaster Services
Under ERC-4337, all Bundlers and Paymasters communicate following specific standards. Teams can even create their own Paymasters with conditional logic for their application.
3. No Need to Adopt Proprietary Relayers
Proprietary Relayers lack consistency; each Relayer can have their own message format for their use case. This leads to smart contract changes being required to become compatible with each different Relayer.
4. More Decentralization
As more providers make their Bundler services available, the developer gains the ability to decentralize their transaction flow. This also affords the developer the opportunity to abandon any sub-par Bundlers.Â
5. No Developer Tooling Lock-in
When using Meta Transactions you also need to use the Infra provider’s SDK. This leads to tooling lock-in that adds to the friction when migrating Relayers.
In the case of Account Abstraction, all the standard functionality is supported by all SDKs allowing one to select based on their expertise and switch based on preference!
Moreover, since the UserOperation standard is to be adopted by every vendor, building tools like UserOperation Explorers is also feasible.
How to Update Meta Transactions to Account Abstraction?
If you have already made changes to your smart contracts in order to support Meta Transactions, the migration process is simple to revert those changes.
Unlike Meta Transactions, msg.sender and msg.data can be used as-is with Account Abstraction.
If custom Paymasters or Account Factories are desired, their development becomes the next step in migrating.
For standard implementations, we recommended using well-audited, existing AA providers in order to reduce development time and self-imposed bugs.
Alchemy’s Gas Manager provides granular controls like Per Address Gas Usage limits, Max number of UserOperations to sponsor,Allowlisting addresses, Sponsorship deadlines, and Domain level allowlisting!
Alchemy Gas Manager's Spending Rules UI
Gas Manager's UI Continued
Gas Manager Admin API allow programmatically creating, reading and updating the Gas policies. On top of everything, the developer gets a great visual dashboard of every UserOperation sponsored!
Gas Manager Spending Dashboard
Gas Manager Operations View
Conclusion
Account Abstraction (ERC-4337) is the new and better way of incorporating gasless transactions into your dapps with benefits like avoiding contract-level code changes, frictionless vendor switching, composability with other existing infrastructure, and more decentralization.
Meta Transactions and Account Abstraction are different techniques for improving the user experience of Ethereum’s gas fees.
How is Account Abstraction different from Meta Transactions?
Account Abstraction aims to abstract away more complexities of the Ethereum Account than just gas fees.Â
From a technical perspective, the difference between meta transactions and Account Abstraction lies in the structure of the message and its backwards compatibility.
What are UserOps in Account Abstraction?
In the case of Meta Transactions, the industry standard was to use EIP712-based messages, which required all smart contracts to be upgraded.Â
Account Abstraction standardizes a special transaction format called UserOperations.
UserOperation contains all the information needed to figure out what transaction the user intends to perform, including fields to decide which Paymaster to use, how much the user is willing to pay (in case of self-sponsorship), and the signed UserOperation.
What are Paymasters in Account Abstraction?
The Gas abstraction portion of the ERC-4337 Account Abstraction standard introduces Paymasters.
Paymasters are onchain smart contracts that have arbitrary validation logic which can be used to define a valid gas sponsorship. Again, the difference here is the execution is onchain.
DAOs, dapps, and other teams can deploy their own custom paymasters with features such as ERC-20 gas payments and more.
These custom Paymasters can use ERC-4337 to plug and play with existing Bundler Services. This is different from Meta Transactions which require Provider adoption.
Relayers vs. Paymasters
While Relayers in the Meta Transaction concept are private keys under the control of Infra providers, Account Abstraction Bundlers are standardized nodes. Switching between different Bundlers is as simple as changing API keys and API URLs.
There is no concept of MinimalForwarder in Account Abstraction as sponsorship validation is done onchain inside the Paymaster contract.
Instead of having only one transaction inside a native transaction in the case of Meta Transaction, Bundlers bundle multiple UserOperations into one bundle (one native transaction)!
5 Benefits of Account Abstraction over Meta Transactions
1. No Smart Contract Changes are Required
While Meta Transactions require updates to all existing contracts that would adopt them, Account Abstraction builds on existing infrastructure. This means that all smart contracts by default support Account Abstraction, which makes it a preferred option over Meta Transactions.
2. Frictionless Switching Between Bundler and Paymaster Services
Under ERC-4337, all Bundlers and Paymasters communicate following specific standards. Teams can even create their own Paymasters with conditional logic for their application.
3. No Need to Adopt Proprietary Relayers
Proprietary Relayers lack consistency; each Relayer can have their own message format for their use case. This leads to smart contract changes being required to become compatible with each different Relayer.
4. More Decentralization
As more providers make their Bundler services available, the developer gains the ability to decentralize their transaction flow. This also affords the developer the opportunity to abandon any sub-par Bundlers.Â
5. No Developer Tooling Lock-in
When using Meta Transactions you also need to use the Infra provider’s SDK. This leads to tooling lock-in that adds to the friction when migrating Relayers.
In the case of Account Abstraction, all the standard functionality is supported by all SDKs allowing one to select based on their expertise and switch based on preference!
Moreover, since the UserOperation standard is to be adopted by every vendor, building tools like UserOperation Explorers is also feasible.
How to Update Meta Transactions to Account Abstraction?
If you have already made changes to your smart contracts in order to support Meta Transactions, the migration process is simple to revert those changes.
Unlike Meta Transactions, msg.sender and msg.data can be used as-is with Account Abstraction.
If custom Paymasters or Account Factories are desired, their development becomes the next step in migrating.
For standard implementations, we recommended using well-audited, existing AA providers in order to reduce development time and self-imposed bugs.
Alchemy’s Gas Manager provides granular controls like Per Address Gas Usage limits, Max number of UserOperations to sponsor,Allowlisting addresses, Sponsorship deadlines, and Domain level allowlisting!
Alchemy Gas Manager's Spending Rules UI
Gas Manager's UI Continued
Gas Manager Admin API allow programmatically creating, reading and updating the Gas policies. On top of everything, the developer gets a great visual dashboard of every UserOperation sponsored!
Gas Manager Spending Dashboard
Gas Manager Operations View
Conclusion
Account Abstraction (ERC-4337) is the new and better way of incorporating gasless transactions into your dapps with benefits like avoiding contract-level code changes, frictionless vendor switching, composability with other existing infrastructure, and more decentralization.
{{aa-cta}}
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Interested in reading more?
There are five main benefits of running an Ethereum node: privacy and security, censorship resistance, decentralization, distributed control, and sovereignty.