| description | Infura supports ERC-4337 bundler methods. |
|---|---|
| sidebar_label | Bundler methods |
Infura supports ERC-4337 bundler JSON-RPC methods that enable you to build account abstraction (AA) experiences like gas sponsorship (paymasters), ERC-20 gas payment, session keys, or batched actions using smart accounts.
If your dapp or wallet uses smart accounts, use the bundler JSON-RPC methods. If you use externally owned accounts (EOAs) only, use standard Ethereum JSON-RPC methods.
:::info AA moves validation and fee-payment logic into smart contracts. Instead of sending raw transactions from an EOA, clients submit user operations (UserOps) to a bundler. The bundler collects and simulates these operations, then executes them through a shared coordination contract (EntryPoint) on the network.
Smart accounts are smart contract-based wallets that serve as the foundation of AA. They embed custom logic for authentication, authorization, network fee payment, nonce management and execution. :::
:::info Refer to the official Pimlico documentation for more about the bundler methods and EntryPoint errors. :::
A user operation (UserOp) is an is an off-chain request that a bundler later includes onchain by calling the EntryPoint. UserOps go to a dedicated mempool watched by bundlers instead of being broadcast as raw L1/L2 transactions.
The EntryPoint contract is the shared coordination contract defined by ERC-4337. Bundlers call them to validate and execute user operations (UserOps) from smart accounts. At a high level, an EntryPoint:
- Runs the ERC-4337 validation and execution.
- Enforces nonce and signature checks exposed by each smart account.
- Coordinates fee payment (including paymasters).
- Executes the requested calls onchain.
The bundler supports calling multiple EntryPoint versions (v0.6 and v0.7/v0.8) through the same set of RPC methods, allowing it to handle both older and modern smart account schemes.
Use the eth_supportedEntryPoints
method to fetch the EntryPoint addresses supported by the bundler.
The following bundler methods are available on the supported networks:
eth_sendUserOperation: Submits a user operation to be included onchain.eth_estimateUserOperationGas: Simulates the user operation and estimates the appropriate gas limits.eth_getUserOperationReceipt: Fetches the receipt of a user operation.eth_getUserOperationByHash: Fetches the user operation by hash.eth_supportedEntryPoints: Fetches the EntryPoint addresses supported by the bundler.pimlico_getUserOperationGasPrice: Returns the gas prices that must be used for the user operation.pimlico_getUserOperationStatus: Returns the user operation status.pimlico_simulateAssetChanges: Simulates a user operation to predict the asset changes it will cause.
Bundler methods are active on the following networks:
- Arbitrum (mainnet and Sepolia)
- Avalanche (mainnet and Fuji)
- Base (mainnet and Sepolia)
- Blast (mainnet and Sepolia)
- BNB Smart Chain (mainnet and testnet)
- Celo (mainnet and Alfajores)
- Ethereum (mainnet and Sepolia)
- Linea (mainnet and Sepolia)
- Mantle (mainnet and Sepolia)
- opBNB (mainnet)
- Optimism (mainnet and Sepolia)
- Polygon (mainnet and Amoy)
- Scroll (mainnet and Sepolia)
- Sei (mainnet and testnet)
- Unichain (mainnet and Sepolia)
:::info Contact support if you require bundler method activation on a network not listed here that’s currently supported by Pimlico. :::