Bundler methods (ERC-4337)
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.
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.
Refer to the official Pimlico documentation for more about the bundler methods and EntryPoint errors.
User operations
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.
EntryPoint contract
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.
Supported methods
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.
Supported networks
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)
Contact support if you require bundler method activation on a network not listed here that’s currently supported by Pimlico.