Network
Launch Date
Consensus
Note
Sepolia
Oct 2021
PoW
Like-for-like representation of Ethereum
Görli
Jan 2019
PoA
Proof-of-Authority
Kiln
Mar 2022
PoS
Post-Merge (for ETH2), shadow fork of the mainnet
Kintsugi
Dec 2021
PoS
DEPRECATED, use Kiln; post-Merge (for ETH2)
Ropsten
Nov 2016
PoW
DEPRECATED, use Sepolia; the Merge to happen on Jun 8, 2022
Rinkeby
Apr 2017
PoA
DEPRECATED, use Görli and Görli Faucet
Kovan
Mar 2017
PoA
DEPRECATED, use Sepolia or Görli
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. 
Relies on cryptographic guarantees for security. 
Start building
on Alchemy.
Sign up for free
Start building on Optimism.
Sign up for free
Start building on Arbitrum.
Sign up for free
Start building on Ethereum.
Sign up for free
Start building on Polygon.
Sign up for free
Start building on Starknet.
Sign up for free
Start building on Flow.
Sign up for free
kiln faucet
Get free Kiln ETH.
Start building today
Goerli faucet
Get free Goerli ETH.
Start building today
SEPOLIA FAUCET
Get free Sepolia ETH.
Start Building Today
mumbai faucet
Get free Mumbai Matic.
Start building today
rinkeby faucet
Get free Rinkeby
ETH.
Start building today
Start building on Ethereum.
Get started for free
Start building on Ethereum.
Get started for free
Start building on Flow.
Get started for free
Start building on Polygon.
Get started for free
Start building on Starknet.
Get started for free
Start building on Optimism.
Get started for free
Start building on Solana.
Get started for free
Start building on Solana.
Sign up for beta access
Start building on Solana.
Join the waitlist
Arbitrum logo
Start building on Arbitrum.
Get started for free
Build with Alchemy's
Gas Manager & Bundler APIs
Learn
Solidity at
Alchemy
University
Get started today
Build with Alchemy's
Gas Manager & Bundler APIs
curl 
https://release.solana.com/v1.10.32/solana-install-init-x86_64-pc-windows-msvc.exe 
--output 
C:\solana-install-tmp\solana-install-init.exe 
--create-dirs
Account Abstraction
BUNDLER OVERVIEW

What is an ERC-4337 Bundler?

Learn How this Piece of AA Infrastructure Bundles User Operations to Unlock the Full Power of ERC-4337
Last Updated:
June 26, 2023
Table of Contents
Table of Contents
Table of Contents

{{aa-cta}}

Account Abstraction (AA) is a standard that describes the use of higher-level infrastructure to enable smart contract accounts to become the primary type of account for users without requiring protocol-level changes to Ethereum.

Bundlers are a core piece of infrastructure that effectuates the use of smart contract accounts in place of Externally Owned Accounts (EOAs), which are the current default type of account used by Ethereum wallets.

What is a bundler?

A bundler is a special node that monitors an alternative mempool of user operations, and bundles user ops from multiple senders into a single transaction so they can be executed on a blockchain. 

Because smart contract accounts can not initiate transactions on blockchains that don’t support account abstraction natively, they need to send a pseudo-transaction object called a user operation. A user operation is an ABI-encoded struct that “describes a transaction to be sent on behalf of a user.” 

To execute the transaction defined inside of a user operation, bundlers use their own Externally Owned Account (EOA) to initiate the transactions on behalf of the senders. Because bundlers initiate the transactions on behalf of senders, they cover the gas fees upfront, and are then repaid by the sender, or a paymaster if the transaction is sponsored.

Who can operate a bundler?

As defined by the ERC-4337 proposal, bundlers are a “specialized class of actors” that can be run by “either block builders running special-purpose code, or users that can relay transactions to block builders.” More broadly, a bundler can be any node that bundles packages of multiple user operations and sends them to the singleton entry point contract.

How do bundlers handle user operations?

Bundlers monitor an alternative mempool of user operations that are waiting to be bundled into a single transaction. Bundlers then package user ops from the alt mempool, and then send the bundle to the entry point contract for validation and execution by calling the handleOps() function on the entry point contract.

Bundlers use their Externally Owned Account to initiate transactions on behalf of senders, and are responsible for initially paying for the gas required to execute the transactions. 

After the entry point validates and executes the bundle of user ops, the bundler is repaid from the sender’s wallet, or by a paymaster contract if the user operation is being sponsored.

In this example from our deep dive on the AA, the “bundler” is called an “Executor” with an Externally Owned Account, and shows how multiple senders request the bundler to send their user operations to the entry point contract. 

Once the entry point smart contract receives the user ops, the contract uses the validateOp and executeOp functions on the sender’s smart contract wallets to validate and execute the user operations on behalf of the senders.

How are bundlers compensated for paying user op gas fees on behalf of senders?

An ERC-4337 bundler pays the transaction fee to send a bundle to the entry point contract. The entry point will calculate the gas used by each user operation, multiply that by the calculated fee, and compensate the bundler for this value after the user operation completes. 

Additionally, bundlers may charge for requests sent through their bundler API endpoints and they may charge a percentage of the gas fees if the transaction was sponsored by a paymaster policy.

How much does it cost to send a sponsored user operation to a bundler?

If developers use the alchemy_requestGasAndPaymasterAndData and eth_sendUserOperation to construct and send a sponsored user operation to Alchemy’s AA infrastructure APIs, it will cost approximately $0.001575 plus 8% of the gas fees covered by the sponsorship policy. 

The $0.001575 cost is the sum of two bundler API endpoints being called: 

  • alchemy_requestGasAndPaymasterAndData (1,250 CUs) - to estimate and fill in the user op parameters 
  • eth_sendUserOperation (1,000 CUs) - to send the user op to Alchemy’s bundler

At a rate of $0.70 per 1M CUs (compute units), 2,250 CUs costs $0.001575 per user op.

Note: This is a single example, and there may be other Bundler API or Gas Manager Coverage API methods that are used to construct and send the user operation, which will impact the total compute unit costs. More information about the compute unit costs of Bundler API methods and the Bundler API fee logic can be found in our documentation.

In addition to the Bundler CU costs, Alchemy’s Gas Manager charges an 8% fee of the gas fees that were paid to sponsor a user operation, fronting the gas fees, and initiating the transaction on behalf of the sender. 

For example, if the sponsoring paymaster policy covered a transaction that cost $3.00 USD, the Gas Manager would charge an additional $0.24 to make the total cost of executing the sponsored transaction $3.24 USD.

Start Sending User Ops to Alchemy’s Bundler

Account abstraction and the usability benefits they afford through smart contract wallets, are simplifying how users interact with the blockchain and decentralized applications.

Here are a few educational ERC-4337 resources to support your learning journey:

  1. Learn how to refactor your dapp to work with smart contract wallets
  2. Set up a paymaster sponsorship policy with Alchemy’s Gas Manager API
  3. Read our bundler quickstart guide to begin sending user ops

If you’re interested in contributing to open-source Account Abstraction projects, explore EIP-6900, which details a standard interface for creating modular smart contract accounts and account plugins, and contribute to Alchemy’s open-sourced AA Software Development Kit (SDK).

ALCHEMY SUPERNODE - ETHEREUM NODE API

Scale to any size, without any errors

Alchemy Supernode finally makes it possible to scale blockchain applications without all the headaches. Plus, our legendary support will guide you every step of the way.

Get started for free
Supernode footer
Account Abstraction
BUNDLER OVERVIEW

Intro to Account Abstraction: What is a Bundler?

Learn How this Piece of AA Infrastructure Bundles User Operations to Unlock the Full Power of ERC-4337
Last Updated:
June 26, 2023
Last Updated:
June 1, 2023
Don't miss an update
Sign up for our newsletter to get alpha, key insights, and killer resources.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Table of Contents

Talk to an Expert

Learn how Alchemy's blockchain developer tools can help your business succeed in web3!
Valid number
Thank you! An Alchemy expert will be in touch with you shortly!
Oops! Something went wrong while submitting the form.

{{aa-cta}}

Account Abstraction (AA) is a standard that describes the use of higher-level infrastructure to enable smart contract accounts to become the primary type of account for users without requiring protocol-level changes to Ethereum.

Bundlers are a core piece of infrastructure that effectuates the use of smart contract accounts in place of Externally Owned Accounts (EOAs), which are the current default type of account used by Ethereum wallets.

What is a bundler?

A bundler is a special node that monitors an alternative mempool of user operations, and bundles user ops from multiple senders into a single transaction so they can be executed on a blockchain. 

Because smart contract accounts can not initiate transactions on blockchains that don’t support account abstraction natively, they need to send a pseudo-transaction object called a user operation. A user operation is an ABI-encoded struct that “describes a transaction to be sent on behalf of a user.” 

To execute the transaction defined inside of a user operation, bundlers use their own Externally Owned Account (EOA) to initiate the transactions on behalf of the senders. Because bundlers initiate the transactions on behalf of senders, they cover the gas fees upfront, and are then repaid by the sender, or a paymaster if the transaction is sponsored.

Who can operate a bundler?

As defined by the ERC-4337 proposal, bundlers are a “specialized class of actors” that can be run by “either block builders running special-purpose code, or users that can relay transactions to block builders.” More broadly, a bundler can be any node that bundles packages of multiple user operations and sends them to the singleton entry point contract.

How do bundlers handle user operations?

Bundlers monitor an alternative mempool of user operations that are waiting to be bundled into a single transaction. Bundlers then package user ops from the alt mempool, and then send the bundle to the entry point contract for validation and execution by calling the handleOps() function on the entry point contract.

Bundlers use their Externally Owned Account to initiate transactions on behalf of senders, and are responsible for initially paying for the gas required to execute the transactions. 

After the entry point validates and executes the bundle of user ops, the bundler is repaid from the sender’s wallet, or by a paymaster contract if the user operation is being sponsored.

In this example from our deep dive on the AA, the “bundler” is called an “Executor” with an Externally Owned Account, and shows how multiple senders request the bundler to send their user operations to the entry point contract. 

Once the entry point smart contract receives the user ops, the contract uses the validateOp and executeOp functions on the sender’s smart contract wallets to validate and execute the user operations on behalf of the senders.

How are bundlers compensated for paying user op gas fees on behalf of senders?

An ERC-4337 bundler pays the transaction fee to send a bundle to the entry point contract. The entry point will calculate the gas used by each user operation, multiply that by the calculated fee, and compensate the bundler for this value after the user operation completes. 

Additionally, bundlers may charge for requests sent through their bundler API endpoints and they may charge a percentage of the gas fees if the transaction was sponsored by a paymaster policy.

How much does it cost to send a sponsored user operation to a bundler?

If developers use the alchemy_requestGasAndPaymasterAndData and eth_sendUserOperation to construct and send a sponsored user operation to Alchemy’s AA infrastructure APIs, it will cost approximately $0.001575 plus 8% of the gas fees covered by the sponsorship policy. 

The $0.001575 cost is the sum of two bundler API endpoints being called: 

  • alchemy_requestGasAndPaymasterAndData (1,250 CUs) - to estimate and fill in the user op parameters 
  • eth_sendUserOperation (1,000 CUs) - to send the user op to Alchemy’s bundler

At a rate of $0.70 per 1M CUs (compute units), 2,250 CUs costs $0.001575 per user op.

Note: This is a single example, and there may be other Bundler API or Gas Manager Coverage API methods that are used to construct and send the user operation, which will impact the total compute unit costs. More information about the compute unit costs of Bundler API methods and the Bundler API fee logic can be found in our documentation.

In addition to the Bundler CU costs, Alchemy’s Gas Manager charges an 8% fee of the gas fees that were paid to sponsor a user operation, fronting the gas fees, and initiating the transaction on behalf of the sender. 

For example, if the sponsoring paymaster policy covered a transaction that cost $3.00 USD, the Gas Manager would charge an additional $0.24 to make the total cost of executing the sponsored transaction $3.24 USD.

Start Sending User Ops to Alchemy’s Bundler

Account abstraction and the usability benefits they afford through smart contract wallets, are simplifying how users interact with the blockchain and decentralized applications.

Here are a few educational ERC-4337 resources to support your learning journey:

  1. Learn how to refactor your dapp to work with smart contract wallets
  2. Set up a paymaster sponsorship policy with Alchemy’s Gas Manager API
  3. Read our bundler quickstart guide to begin sending user ops

If you’re interested in contributing to open-source Account Abstraction projects, explore EIP-6900, which details a standard interface for creating modular smart contract accounts and account plugins, and contribute to Alchemy’s open-sourced AA Software Development Kit (SDK).

Account Abstraction (AA) is a standard that describes the use of higher-level infrastructure to enable smart contract accounts to become the primary type of account for users without requiring protocol-level changes to Ethereum.

Bundlers are a core piece of infrastructure that effectuates the use of smart contract accounts in place of Externally Owned Accounts (EOAs), which are the current default type of account used by Ethereum wallets.

What is a bundler?

A bundler is a special node that monitors an alternative mempool of user operations, and bundles user ops from multiple senders into a single transaction so they can be executed on a blockchain. 

Because smart contract accounts can not initiate transactions on blockchains that don’t support account abstraction natively, they need to send a pseudo-transaction object called a user operation. A user operation is an ABI-encoded struct that “describes a transaction to be sent on behalf of a user.” 

To execute the transaction defined inside of a user operation, bundlers use their own Externally Owned Account (EOA) to initiate the transactions on behalf of the senders. Because bundlers initiate the transactions on behalf of senders, they cover the gas fees upfront, and are then repaid by the sender, or a paymaster if the transaction is sponsored.

Who can operate a bundler?

As defined by the ERC-4337 proposal, bundlers are a “specialized class of actors” that can be run by “either block builders running special-purpose code, or users that can relay transactions to block builders.” More broadly, a bundler can be any node that bundles packages of multiple user operations and sends them to the singleton entry point contract.

How do bundlers handle user operations?

Bundlers monitor an alternative mempool of user operations that are waiting to be bundled into a single transaction. Bundlers then package user ops from the alt mempool, and then send the bundle to the entry point contract for validation and execution by calling the handleOps() function on the entry point contract.

Bundlers use their Externally Owned Account to initiate transactions on behalf of senders, and are responsible for initially paying for the gas required to execute the transactions. 

After the entry point validates and executes the bundle of user ops, the bundler is repaid from the sender’s wallet, or by a paymaster contract if the user operation is being sponsored.

In this example from our deep dive on the AA, the “bundler” is called an “Executor” with an Externally Owned Account, and shows how multiple senders request the bundler to send their user operations to the entry point contract. 

Once the entry point smart contract receives the user ops, the contract uses the validateOp and executeOp functions on the sender’s smart contract wallets to validate and execute the user operations on behalf of the senders.

How are bundlers compensated for paying user op gas fees on behalf of senders?

An ERC-4337 bundler pays the transaction fee to send a bundle to the entry point contract. The entry point will calculate the gas used by each user operation, multiply that by the calculated fee, and compensate the bundler for this value after the user operation completes. 

Additionally, bundlers may charge for requests sent through their bundler API endpoints and they may charge a percentage of the gas fees if the transaction was sponsored by a paymaster policy.

How much does it cost to send a sponsored user operation to a bundler?

If developers use the alchemy_requestGasAndPaymasterAndData and eth_sendUserOperation to construct and send a sponsored user operation to Alchemy’s AA infrastructure APIs, it will cost approximately $0.001575 plus 8% of the gas fees covered by the sponsorship policy. 

The $0.001575 cost is the sum of two bundler API endpoints being called: 

  • alchemy_requestGasAndPaymasterAndData (1,250 CUs) - to estimate and fill in the user op parameters 
  • eth_sendUserOperation (1,000 CUs) - to send the user op to Alchemy’s bundler

At a rate of $0.70 per 1M CUs (compute units), 2,250 CUs costs $0.001575 per user op.

Note: This is a single example, and there may be other Bundler API or Gas Manager Coverage API methods that are used to construct and send the user operation, which will impact the total compute unit costs. More information about the compute unit costs of Bundler API methods and the Bundler API fee logic can be found in our documentation.

In addition to the Bundler CU costs, Alchemy’s Gas Manager charges an 8% fee of the gas fees that were paid to sponsor a user operation, fronting the gas fees, and initiating the transaction on behalf of the sender. 

For example, if the sponsoring paymaster policy covered a transaction that cost $3.00 USD, the Gas Manager would charge an additional $0.24 to make the total cost of executing the sponsored transaction $3.24 USD.

Start Sending User Ops to Alchemy’s Bundler

Account abstraction and the usability benefits they afford through smart contract wallets, are simplifying how users interact with the blockchain and decentralized applications.

Here are a few educational ERC-4337 resources to support your learning journey:

  1. Learn how to refactor your dapp to work with smart contract wallets
  2. Set up a paymaster sponsorship policy with Alchemy’s Gas Manager API
  3. Read our bundler quickstart guide to begin sending user ops

If you’re interested in contributing to open-source Account Abstraction projects, explore EIP-6900, which details a standard interface for creating modular smart contract accounts and account plugins, and contribute to Alchemy’s open-sourced AA Software Development Kit (SDK).

{{aa-cta}}

Contact Us

Talk to an expert at Alchemy to answer all of your product questions.
Valid number
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Build blockchain magic with Alchemy

Alchemy combines the most powerful web3 developer products and tools with resources, community and legendary support.

Get started for free