> For the complete documentation index, see [llms.txt](/llms.txt).

# Bundler methods (ERC-4337)

Infura supports [ERC-4337](https://docs.erc4337.io/) 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)](#user-operations) to a bundler. The bundler collects and simulates these operations, then executes them through a [shared coordination contract (EntryPoint)](#entrypoint-contract) 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](https://docs.pimlico.io/references/bundler)for more about the bundler methods and [EntryPoint errors](https://docs.pimlico.io/references/bundler/entrypoint-errors#entrypoint-errors).

## User operations[​](#user-operations "Direct link to User operations")

A user operation (UserOp) is an is an offchain 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[​](#entrypoint-contract "Direct link to 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](/services/reference/ethereum/json-rpc-methods/bundler/eth%5Fsupportedentrypoints/)method to fetch the EntryPoint addresses supported by the bundler.

## Supported methods[​](#supported-methods "Direct link to Supported methods")

The following bundler methods are available on the [supported networks](#supported-networks):

- [eth_sendUserOperation](/services/reference/ethereum/json-rpc-methods/bundler/eth%5Fsenduseroperation/): Submits a user operation to be included onchain.
- [eth_estimateUserOperationGas](/services/reference/ethereum/json-rpc-methods/bundler/eth%5Festimateuseroperationgas/): Simulates the user operation and estimates the appropriate gas limits.
- [eth_getUserOperationReceipt](/services/reference/ethereum/json-rpc-methods/bundler/eth%5Fgetuseroperationreceipt/): Fetches the receipt of a user operation.
- [eth_getUserOperationByHash](/services/reference/ethereum/json-rpc-methods/bundler/eth%5Fgetuseroperationbyhash/): Fetches the user operation by hash.
- [eth_supportedEntryPoints](/services/reference/ethereum/json-rpc-methods/bundler/eth%5Fsupportedentrypoints/): Fetches the EntryPoint addresses supported by the bundler.
- [pimlico_getUserOperationGasPrice](/services/reference/ethereum/json-rpc-methods/bundler/pimlico%5Fgetuseroperationgasprice/): Returns the gas prices that must be used for the user operation.
- [pimlico_getUserOperationStatus](/services/reference/ethereum/json-rpc-methods/bundler/pimlico%5Fgetuseroperationstatus/): Returns the user operation status.
- [pimlico_simulateAssetChanges](/services/reference/ethereum/json-rpc-methods/bundler/pimlico%5Fsimulateassetchanges/): Simulates a user operation to predict the asset changes it will cause.

## Supported networks[​](#supported-networks "Direct link to Supported networks")

Bundler methods are active on the following networks:

- [Arbitrum](/services/reference/arbitrum/json-rpc-methods/bundler/) (mainnet and Sepolia)
- [Avalanche](/services/reference/avalanche-c-chain/json-rpc-methods/bundler/) (mainnet and Fuji)
- [Base](/services/reference/base/json-rpc-methods/bundler/) (mainnet and Sepolia)
- [Blast](/services/reference/blast/json-rpc-methods/bundler/) (mainnet and Sepolia)
- [BNB Smart Chain](/services/reference/bnb-smart-chain/json-rpc-methods/bundler/) (mainnet and testnet)
- [Celo](/services/reference/celo/json-rpc-methods/bundler/) (mainnet and Alfajores)
- [Ethereum](/services/reference/ethereum/json-rpc-methods/bundler/) (mainnet and Sepolia)
- [Linea](/services/reference/linea/json-rpc-methods/bundler/) (mainnet and Sepolia)
- [Mantle](/services/reference/mantle/json-rpc-methods/bundler/) (mainnet and Sepolia)
- [opBNB](/services/reference/opbnb/json-rpc-methods/bundler/) (mainnet)
- [Optimism](/services/reference/optimism/json-rpc-methods/bundler/) (mainnet and Sepolia)
- [Polygon](/services/reference/polygon-pos/json-rpc-methods/bundler/) (mainnet and Amoy)
- [Scroll](/services/reference/scroll/json-rpc-methods/bundler/) (mainnet and Sepolia)
- [Sei](/services/reference/sei/json-rpc-methods/bundler/) (mainnet and testnet)
- [Unichain](/services/reference/unichain/json-rpc-methods/bundler/) (mainnet and Sepolia)

info

[Contact support](https://support.infura.io/) if you require bundler method activation on a network not listed here that's currently supported by Pimlico.
