diff --git a/services/concepts/bundler.md b/services/concepts/bundler.md
new file mode 100644
index 00000000000..dfb7949db68
--- /dev/null
+++ b/services/concepts/bundler.md
@@ -0,0 +1,96 @@
+---
+description: Infura supports ERC-4337 bundler methods.
+sidebar_label: Bundler methods
+---
+
+# 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-contracts) 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
+
+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`](../reference/ethereum/json-rpc-methods/bundler/eth_supportedentrypoints)
+method to fetch the EntryPoint addresses supported by the bundler.
+
+## Supported methods
+
+The following bundler methods are available on the [supported networks](#supported-networks):
+
+- [`eth_sendUserOperation`](../reference/ethereum/json-rpc-methods/bundler/eth_senduseroperation.mdx):
+ Submits a user operation to be included onchain.
+- [`eth_estimateUserOperationGas`](../reference/ethereum/json-rpc-methods/bundler/eth_estimateuseroperationgas):
+ Simulates the user operation and estimates the appropriate gas limits.
+- [`eth_getUserOperationReceipt`](../reference/ethereum/json-rpc-methods/bundler/eth_getuseroperationreceipt):
+ Fetches the receipt of a user operation.
+- [`eth_getUserOperationByHash`](../reference/ethereum/json-rpc-methods/bundler/eth_getuseroperationbyhash):
+ Fetches the user operation by hash.
+- [`eth_supportedEntryPoints`](../reference/ethereum/json-rpc-methods/bundler/eth_supportedentrypoints):
+ Fetches the EntryPoint addresses supported by the bundler.
+- [`pimlico_getUserOperationGasPrice`](../reference/ethereum/json-rpc-methods/bundler/pimlico_getuseroperationgasprice):
+ Returns the gas prices that must be used for the user operation.
+- [`pimlico_getUserOperationStatus`](../reference/ethereum/json-rpc-methods/bundler/pimlico_getuseroperationstatus):
+ Returns the user operation status.
+- [`pimlico_simulateAssetChanges`](../reference/ethereum/json-rpc-methods/bundler/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](../reference/arbitrum/json-rpc-methods/bundler/index.md) (mainnet and Sepolia)
+- [Avalanche](../reference/avalanche-c-chain/json-rpc-methods/bundler/index.md) (mainnet and Fuji)
+- [Base](../reference/base/json-rpc-methods/bundler/index.md) (mainnet and Sepolia)
+- [Blast](../reference/blast/json-rpc-methods/bundler/index.md) (mainnet and Sepolia)
+- [BNB Smart Chain](../reference/bnb-smart-chain/json-rpc-methods/bundler/index.md) (mainnet and testnet)
+- [Celo](../reference/celo/json-rpc-methods/bundler/index.md) (mainnet and Alfajores)
+- [Ethereum](../reference/ethereum/json-rpc-methods/bundler/index.md) (mainnet and Sepolia)
+- [Linea](../reference/linea/json-rpc-methods/bundler/index.md) (mainnet and Sepolia)
+- [Mantle](../reference/mantle/json-rpc-methods/bundler/index.md) (mainnet and Sepolia)
+- [opBNB](../reference/opbnb/json-rpc-methods/bundler/index.md) (mainnet)
+- [Optimism](../reference/optimism/json-rpc-methods/bundler/index.md) (mainnet and Sepolia)
+- [Polygon](../reference/polygon-pos/json-rpc-methods/bundler/index.md) (mainnet and Amoy)
+- [Scroll](../reference/scroll/json-rpc-methods/bundler/index.md) (mainnet and Sepolia)
+- [Sei](../reference/sei/json-rpc-methods/bundler/index.md) (mainnet and testnet)
+- [Unichain](../reference/unichain/json-rpc-methods/bundler/index.md) (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.
+:::
\ No newline at end of file
diff --git a/services/get-started/pricing/credit-cost.mdx b/services/get-started/pricing/credit-cost.mdx
index dda4b0a267a..efc25450390 100644
--- a/services/get-started/pricing/credit-cost.mdx
+++ b/services/get-started/pricing/credit-cost.mdx
@@ -46,22 +46,18 @@ a specific network, then use the default Ethereum method's credit cost.
-
### Trace methods
-
### Filter methods
### Debug methods
-
-
### Subscription events
You can subscribe and unsubscribe to events using [`eth_subscribe`](../../reference/ethereum/json-rpc-methods/subscription-methods/eth_subscribe.mdx) and [`eth_unsubscribe`](../../reference/ethereum/json-rpc-methods/subscription-methods/eth_unsubscribe.mdx).
@@ -75,7 +71,6 @@ are charged at approximately one second intervals.
-
## Polygon
@@ -95,3 +90,11 @@ All Solana methods are charged at 160 credits per request.
## Gas API
+
+## Bundler API
+
+:::info
+The Bundler API methods are currently only available on Ethereum Mainnet and Sepolia.
+:::
+
+
diff --git a/services/reference/_partials/bundler/_eth_estimateuseroperationgas-description.mdx b/services/reference/_partials/bundler/_eth_estimateuseroperationgas-description.mdx
new file mode 100644
index 00000000000..9703aced87d
--- /dev/null
+++ b/services/reference/_partials/bundler/_eth_estimateuseroperationgas-description.mdx
@@ -0,0 +1,13 @@
+import CreditCost from '@site/src/components/CreditCost/CreditCostPrice.js'
+
+Simulates the user operation and estimates the appropriate gas limits. Returns an error if the operation
+is unsuccessful.
+
+:::tip
+- You can use `stateOverrides` to estimate the gas cost even if the sender has no funds.
+ However, if the operation is sent onchain when the sender has no balance, it will revert during
+ the call phase due to lack of funds.
+
+- You can include a dummy signature for the `signature` field to estimate the gas cost. For example:
+ `0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c`
+:::
diff --git a/services/reference/_partials/bundler/_eth_estimateuseroperationgas-example.mdx b/services/reference/_partials/bundler/_eth_estimateuseroperationgas-example.mdx
new file mode 100644
index 00000000000..7411f170544
--- /dev/null
+++ b/services/reference/_partials/bundler/_eth_estimateuseroperationgas-example.mdx
@@ -0,0 +1 @@
+Replace `` with an API key from your [MetaMask Developer dashboard](https://developer.metamask.io/).
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/_eth_estimateuseroperationgas-parameters.mdx b/services/reference/_partials/bundler/_eth_estimateuseroperationgas-parameters.mdx
new file mode 100644
index 00000000000..9a691028187
--- /dev/null
+++ b/services/reference/_partials/bundler/_eth_estimateuseroperationgas-parameters.mdx
@@ -0,0 +1,79 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+- `userOperation`: The user operation object containing the following fields:
+
+ - `sender`: (string) - The address of the account making the operation.
+ - `nonce`: (string) - Unique identifier for the request from this sender. This includes the key and sequence number.
+ - `factory`: (string) [_optional_] - The factory contract address that will deploy the smart account if it doesn't exist yet.
+ - `factoryData`: (string) [_optional_] - The data passed to the factory contract to deploy the smart account.
+ - `callData`: (string) [_optional_] - The data to pass to the sender during the main execution call.
+ - `callGasLimit`: (string) - The amount of gas to allocate the main execution call.
+ - `verificationGasLimit`: (string) - The amount of gas to allocate for the verification step.
+ - `preVerificationGas`: (string) - The amount of gas to pay for to compensate the bundler for pre-verification execution and `calldata`.
+ - `maxFeePerGas`: (string) - Maximum fee per gas, in wei, the sender is willing to pay per gas.
+ - `maxPriorityFeePerGas`: (string) - Maximum fee, in wei, the sender is willing to pay per gas above the base fee.
+ - `paymaster`: (string) [_optional_] - Address of paymaster sponsoring the transaction, or `null` if none.
+ - `paymasterVerificationGasLimit`: (string) [_optional_] - The amount of gas to allocate for the verification step of the paymaster, or `null` if no paymaster.
+ - `paymasterPostOpGasLimit`: (string) [_optional_] - The amount of gas to allocate for the post-operation step of the paymaster, or `null` if no paymaster.
+ - `paymasterData`: (string) [_optional_] - The data to pass to the paymaster during the verification step, or `null` if no paymaster.
+ - `signature`: (string) - The signature data. For gas estimation, this can be a dummy signature.
+ - `eip7702Auth`: (object) [_optional_] - The EIP-7702 authorization data. This can be a dummy authorization
+ for estimations:
+ - `address`: (string) - The contract address for the authorization.
+ - `chainId`: (string) - The chain ID.
+ - `nonce`: (string) - The nonce.
+ - `r`: (string) - The r component of the signature.
+ - `s`: (string) - The s component of the signature.
+ - `v`: (string) - The v component of the signature.
+ - `yParity`: (string) - The y-parity value.
+
+- `entryPoint`: (string) - The EntryPoint contract address (`0x0000000071727De22E5E9d8BAf0edAc6f37da032`).
+
+- `stateOverrides`: (object) [_optional_] - State overrides to apply for the simulation. Each key is an address, and each value is an object that can contain:
+ - `balance`: (string) [_optional_] - The balance to set for the address.
+ - `nonce`: (string) [_optional_] - The nonce to set for the address.
+ - `code`: (string) [_optional_] - The code to set for the address.
+ - `state`: (object) [_optional_] - Complete state to set, where each key is a 32-byte hex storage slot and each value is a 32-byte hex value.
+ - `stateDiff`: (object) [_optional_] - State differences to apply, where each key is a 32-byte hex storage slot and each value is a 32-byte hex value.
+
+
+
+
+- `userOperation`: The user operation object containing the following fields:
+
+ - `sender`: (string) - The address of the account making the operation.
+ - `nonce`: (string) - Unique identifier for the request from this sender.
+ - `initCode`: (string) - The initialization code for the smart account if it doesn't exist yet.
+ - `callData`: (string) [_optional_] - The data to pass to the sender during the main execution call.
+ - `callGasLimit`: (string) - The amount of gas to allocate the main execution call.
+ - `verificationGasLimit`: (string) - The amount of gas to allocate for the verification step.
+ - `preVerificationGas`: (string) - The amount of gas to pay for to compensate the bundler for pre-verification execution and `calldata`.
+ - `maxFeePerGas`: (string) - Maximum fee per gas, in wei, the sender is willing to pay per gas.
+ - `maxPriorityFeePerGas`: (string) - Maximum fee, in wei, the sender is willing to pay per gas above the base fee.
+ - `paymasterAndData`: (string) - The address of the paymaster contract and the data that will be passed to it.
+ - `signature`: (string) - The signature data. For gas estimation, this can be a dummy signature.
+ - `eip7702Auth`: (object) [_optional_] - The EIP-7702 authorization data. This can be a dummy authorization
+ for estimations:
+ - `address`: (string) - The contract address for the authorization.
+ - `chainId`: (string) - The chain ID.
+ - `nonce`: (string) - The nonce.
+ - `r`: (string) - The r component of the signature.
+ - `s`: (string) - The s component of the signature.
+ - `v`: (string) - The v component of the signature.
+ - `yParity`: (string) - The y-parity value.
+
+- `entryPoint`: (string) - The EntryPoint contract address (`0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789`).
+
+- `stateOverrides`: (object) [_optional_] - State overrides to apply for the simulation. Each key is an address, and each value is an object that can contain:
+ - `balance`: (string) [_optional_] - The balance to set for the address.
+ - `nonce`: (string) [_optional_] - The nonce to set for the address.
+ - `code`: (string) [_optional_] - The code to set for the address.
+ - `state`: (object) [_optional_] - Complete state to set, where each key is a 32-byte hex storage slot and each value is a 32-byte hex value.
+ - `stateDiff`: (object) [_optional_] - State differences to apply, where each key is a 32-byte hex storage slot and each value is a 32-byte hex value.
+
+
+
diff --git a/services/reference/_partials/bundler/_eth_estimateuseroperationgas-request.mdx b/services/reference/_partials/bundler/_eth_estimateuseroperationgas-request.mdx
new file mode 100644
index 00000000000..510e4dc1079
--- /dev/null
+++ b/services/reference/_partials/bundler/_eth_estimateuseroperationgas-request.mdx
@@ -0,0 +1,82 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```bash
+ curl https://mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_estimateUserOperationGas",
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x845adb2c711129d4f3966735ed98a9f09fc4ce5700000000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419",
+ "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxFeePerGas": "0x7a5cf70d5",
+ "maxPriorityFeePerGas": "0x3b9aca00",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null,
+ "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ],
+ "id": 1
+ }'
+ ```
+
+
+
+
+ ```bash
+ curl https://mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_estimateUserOperationGas",
+ "params": [
+ {
+ "sender": "0xa203fDb8bC335F86016F635b85389B62B189E417",
+ "nonce": "0x35bf2a054f92f3730b87582ef223c8d663f9eb01158154750000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "callData": "0xb61d27f6000000000000000000000000530fff22987e137e7c8d2adcc4c15eb45b4fa752",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxPriorityFeePerGas": "0x12a05f200",
+ "maxFeePerGas": "0x5b08082fa",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null,
+ "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032",
+ {
+ "0xd9c9cd5f6779558b6e0ed4e6acf6b1947e7fa1f3": {
+ "balance": "0xde0b6b3a7640000"
+ },
+ "0xebe8efa441b9302a0d7eaecc277c09d20d684540": {
+ "stateDiff": {
+ "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80": "0x21"
+ }
+ }
+ }
+ ],
+ "id": 1
+ }'
+ ```
+
+
+
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/_eth_estimateuseroperationgas-response.mdx b/services/reference/_partials/bundler/_eth_estimateuseroperationgas-response.mdx
new file mode 100644
index 00000000000..0567dbde663
--- /dev/null
+++ b/services/reference/_partials/bundler/_eth_estimateuseroperationgas-response.mdx
@@ -0,0 +1,22 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```JSON
+ {
+ "jsonrpc": "2.0",
+ "id": 1,
+ "result": {
+ "preVerificationGas": "0xd3e3",
+ "verificationGasLimit": "0x60b01",
+ "callGasLimit": "0x13880",
+ "paymasterVerificationGasLimit": "0x0",
+ "paymasterPostOpGasLimit": "0x0"
+ }
+ }
+ ```
+
+
+
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/_eth_estimateuseroperationgas-returns.mdx b/services/reference/_partials/bundler/_eth_estimateuseroperationgas-returns.mdx
new file mode 100644
index 00000000000..0f24bed514e
--- /dev/null
+++ b/services/reference/_partials/bundler/_eth_estimateuseroperationgas-returns.mdx
@@ -0,0 +1,30 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+**Type:** `Object`
+
+An object containing the estimated gas values for the user operation.
+
+
+
+
+- `preVerificationGas`: (string) - The amount of gas to pay for to compensate the bundler for
+ pre-verification execution and `calldata`.
+- `verificationGasLimit`: (string) - The amount of gas to allocate for the verification step.
+- `callGasLimit`: (string) - The amount of gas to allocate the main execution call.
+- `paymasterVerificationGasLimit`: (string) - The amount of gas to allocate for the verification step
+ of the paymaster, or `null` if no paymaster.
+- `paymasterPostOpGasLimit`: (string) - The amount of gas to allocate for the post-operation step of
+ the paymaster, or `null` if no paymaster.
+
+
+
+
+- `preVerificationGas`: (string) - The amount of gas to pay for to compensate the bundler for
+ pre-verification execution and `calldata`.
+- `verificationGas`: (string) - The amount of gas used for verification (legacy field from v0.6).
+- `verificationGasLimit`: (string) - The amount of gas to allocate for the verification step.
+- `callGasLimit`: (string) - The amount of gas to allocate the main execution call.
+
+
+
diff --git a/services/reference/_partials/bundler/_eth_getuseroperationbyhash-description.mdx b/services/reference/_partials/bundler/_eth_getuseroperationbyhash-description.mdx
new file mode 100644
index 00000000000..454b1480390
--- /dev/null
+++ b/services/reference/_partials/bundler/_eth_getuseroperationbyhash-description.mdx
@@ -0,0 +1,4 @@
+import CreditCost from '@site/src/components/CreditCost/CreditCostPrice.js'
+
+Fetches user operation details by providing its hash. If the user operation is not available, it
+will return `null`.
diff --git a/services/reference/_partials/bundler/_eth_getuseroperationbyhash-example.mdx b/services/reference/_partials/bundler/_eth_getuseroperationbyhash-example.mdx
new file mode 100644
index 00000000000..061467dfe81
--- /dev/null
+++ b/services/reference/_partials/bundler/_eth_getuseroperationbyhash-example.mdx
@@ -0,0 +1 @@
+Replace `` with an API key from your [MetaMask Developer dashboard](https://developer.metamask.io/).
diff --git a/services/reference/_partials/bundler/_eth_getuseroperationbyhash-parameters.mdx b/services/reference/_partials/bundler/_eth_getuseroperationbyhash-parameters.mdx
new file mode 100644
index 00000000000..528680be2b2
--- /dev/null
+++ b/services/reference/_partials/bundler/_eth_getuseroperationbyhash-parameters.mdx
@@ -0,0 +1 @@
+- `userOpHash`: (string) - The 32-byte hash of the user operation to retrieve.
diff --git a/services/reference/_partials/bundler/_eth_getuseroperationbyhash-request.mdx b/services/reference/_partials/bundler/_eth_getuseroperationbyhash-request.mdx
new file mode 100644
index 00000000000..0fa6415f653
--- /dev/null
+++ b/services/reference/_partials/bundler/_eth_getuseroperationbyhash-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_getUserOperationByHash",
+ "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/_eth_getuseroperationbyhash-response.mdx b/services/reference/_partials/bundler/_eth_getuseroperationbyhash-response.mdx
new file mode 100644
index 00000000000..65b704badf9
--- /dev/null
+++ b/services/reference/_partials/bundler/_eth_getuseroperationbyhash-response.mdx
@@ -0,0 +1,34 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```JSON
+{
+ "jsonrpc": "2.0",
+ "id": 1,
+ "result": {
+ "userOperation": {
+ "sender": "0x8C6bdb488F664EB98E12cB2671fE2389Cc227D33",
+ "nonce": "0x18554d9a95404c5e8ac591f8608a18f80000000000000000",
+ "initCode": "0xaee9762ce625e0a8f7b184670fb57c37bfe1d0f1296601cd000000000000000000000000417f5a41305ddc99d18b5e176521b468b2a31b86000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014c982ab3499d854fca39ff8326b27d3b8a9463c5d000000000000000000000000",
+ "callData": "0x519454470000000000000000000000008eb187a55b701f8990539bf219b7921d5d3bdadd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001647c7efe6b0000000000000000000000000000000000000000000000000000000000000080bfa0715290784075e564f966fffd9898ace1d7814f833780f62e59b0791357460000000000000000000000008c6bdb488f664eb98e12cb2671fe2389cc227d3300000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000007677265676f7279000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001b1ec8da9a52488e3f60b7b7af36c2e64f1873e03a047c2c2e9061bbef4d0a9d8f1332b32afb163075273cd462140c2a24b2c9e1276adfaae0b4cb84ef78b95e8a0000000000000000000000000000000000000000000000000000000065a32e4f00000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x39b2d",
+ "verificationGasLimit": "0x6fb14",
+ "preVerificationGas": "0xc6a0",
+ "maxFeePerGas": "0x974038caf",
+ "maxPriorityFeePerGas": "0x974038c95",
+ "paymasterAndData": "0xe3dc822d77f8ca7ac74c30b0dffea9fcdcaaa3210000000000000000000000000000000000000000000000000000000065a3229b00000000000000000000000000000000000000000000000000000000000000009c3e8f934f2ec99974fddae7d38107a6d899c236c1b127e97d3c074cea5bb328023e295bb95254be40c47b82633676f8716c43c81aca3f2e49c2944afd1326371b",
+ "signature": "0x000000003ea0a3434dfd35a9eb05c4605466a7e05a5c3fc8aaba066c83bf4b43300dfd930e2203725eafa2702f860e5b6c18b4402ffb86b0d9b9c1719f1692254039810b1b"
+ },
+ "entryPoint": "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789",
+ "transactionHash": "0x57465d20d634421008a167cfcfcde94847dba9d6b5d3652b071d4b84e5ce74ff",
+ "blockHash": "0xeaeec1eff4095bdcae44d86574cf1bf08b14b26be571b7c2290f32f9f250c103",
+ "blockNumber": "0x31de70e"
+ }
+}
+```
+
+
+
diff --git a/services/reference/_partials/bundler/_eth_getuseroperationbyhash-returns.mdx b/services/reference/_partials/bundler/_eth_getuseroperationbyhash-returns.mdx
new file mode 100644
index 00000000000..610fb4d10c4
--- /dev/null
+++ b/services/reference/_partials/bundler/_eth_getuseroperationbyhash-returns.mdx
@@ -0,0 +1,20 @@
+An object containing the user operation information and transaction details, or `null` if the user
+operation is not available. When available, the response object contains:
+
+- `userOperation`: (object) - The user operation object containing:
+ - `sender`: (string) - The address of the account that initiated the user operation.
+ - `nonce`: (string) - The nonce used for the user operation.
+ - `initCode`: (string) - The initialization code for account creation.
+ - `callData`: (string) - The data to pass to the sender during the main execution call.
+ - `callGasLimit`: (string) - The amount of gas allocated for the main execution call.
+ - `verificationGasLimit`: (string) - The amount of gas allocated for the verification step.
+ - `preVerificationGas`: (string) - The amount of gas to compensate the bundler for pre-verification execution.
+ - `maxFeePerGas`: (string) - Maximum fee per gas, in wei, the sender is willing to pay per gas.
+ - `maxPriorityFeePerGas`: (string) - Maximum fee, in wei, the sender is willing to pay per gas above
+ the base fee.
+ - `paymasterAndData`: (string) - The paymaster address and data.
+ - `signature`: (string) - The signature data for the user operation.
+- `entryPoint`: (string) - The EntryPoint contract address used.
+- `transactionHash`: (string) - The hash of the transaction that included this user operation.
+- `blockHash`: (string) - The hash of the block containing the transaction.
+- `blockNumber`: (string) - The number of the block containing the transaction.
diff --git a/services/reference/_partials/bundler/_eth_getuseroperationreceipt-description.mdx b/services/reference/_partials/bundler/_eth_getuseroperationreceipt-description.mdx
new file mode 100644
index 00000000000..cf1c7bcf16f
--- /dev/null
+++ b/services/reference/_partials/bundler/_eth_getuseroperationreceipt-description.mdx
@@ -0,0 +1,4 @@
+import CreditCost from '@site/src/components/CreditCost/CreditCostPrice.js'
+
+Fetches the receipt of a user operation by providing its hash. If the receipt is not available, it
+will return `null`.
diff --git a/services/reference/_partials/bundler/_eth_getuseroperationreceipt-example.mdx b/services/reference/_partials/bundler/_eth_getuseroperationreceipt-example.mdx
new file mode 100644
index 00000000000..061467dfe81
--- /dev/null
+++ b/services/reference/_partials/bundler/_eth_getuseroperationreceipt-example.mdx
@@ -0,0 +1 @@
+Replace `` with an API key from your [MetaMask Developer dashboard](https://developer.metamask.io/).
diff --git a/services/reference/_partials/bundler/_eth_getuseroperationreceipt-parameters.mdx b/services/reference/_partials/bundler/_eth_getuseroperationreceipt-parameters.mdx
new file mode 100644
index 00000000000..dc088102182
--- /dev/null
+++ b/services/reference/_partials/bundler/_eth_getuseroperationreceipt-parameters.mdx
@@ -0,0 +1 @@
+- `userOpHash`: (string) - The 32-byte hash of the user operation for which to retrieve the receipt.
diff --git a/services/reference/_partials/bundler/_eth_getuseroperationreceipt-request.mdx b/services/reference/_partials/bundler/_eth_getuseroperationreceipt-request.mdx
new file mode 100644
index 00000000000..308423c40a1
--- /dev/null
+++ b/services/reference/_partials/bundler/_eth_getuseroperationreceipt-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_getUserOperationReceipt",
+ "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/_eth_getuseroperationreceipt-response.mdx b/services/reference/_partials/bundler/_eth_getuseroperationreceipt-response.mdx
new file mode 100644
index 00000000000..11c02b329e6
--- /dev/null
+++ b/services/reference/_partials/bundler/_eth_getuseroperationreceipt-response.mdx
@@ -0,0 +1,44 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```JSON
+{
+ "jsonrpc": "2.0",
+ "id": 1,
+ "result": {
+ "entryPoint": "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789",
+ "userOpHash": "0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f",
+ "sender": "0x8C6bdb488F664EB98E12cB2671fE2389Cc227D33",
+ "nonce": "0x18554d9a95404c5e8ac591f8608a18f80000000000000000",
+ "actualGasUsed": "0x7f550",
+ "actualGasCost": "0x4b3b147f788710",
+ "success": true,
+ "logs": [
+ // ...
+ ],
+ "receipt": {
+ "transactionHash": "0x57465d20d634421008a167cfcfcde94847dba9d6b5d3652b071d4b84e5ce74ff",
+ "transactionIndex": "0x20",
+ "blockHash": "0xeaeec1eff4095bdcae44d86574cf1bf08b14b26be571b7c2290f32f9f250c103",
+ "blockNumber": "0x31de70e",
+ "from": "0x43370996A3Aff7B66B3AC7676dD973d01Ecec039",
+ "to": "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789",
+ "cumulativeGasUsed": "0x4724c3",
+ "gasUsed": "0x7ff5a",
+ "address": null,
+ "logs": [
+ // ...
+ ],
+ "logsBloom": "0x010004000800020000000040000000000000040000000000000010000004000000080000001000000212841100000000041080000000000020000240000000000800000022001000400000080000028000040000000000200001000010000000000000000a0000000000000000800800000000004110004080800110282000000000000002000000000000000000000000000200000400000000000000240040200002000000000000400000000002000140000000000000000002200000004000000002000000000021000000000000000000000000800080108020000020000000080000000000000000000000000000000000000000000108000000102000",
+ "status": "0x1",
+ "effectiveGasPrice": "0x89b098f46"
+ }
+ }
+}
+```
+
+
+
diff --git a/services/reference/_partials/bundler/_eth_getuseroperationreceipt-returns.mdx b/services/reference/_partials/bundler/_eth_getuseroperationreceipt-returns.mdx
new file mode 100644
index 00000000000..7445c2870b0
--- /dev/null
+++ b/services/reference/_partials/bundler/_eth_getuseroperationreceipt-returns.mdx
@@ -0,0 +1,25 @@
+An object containing the user operation receipt information, or `null` if the receipt is not available.
+When available, the receipt object contains:
+
+- `entryPoint`: (string) - The EntryPoint contract address.
+- `userOpHash`: (string) - The hash of the user operation.
+- `sender`: (string) - The address of the account that initiated the user operation.
+- `nonce`: (string) - The nonce used for the user operation.
+- `actualGasUsed`: (string) - The actual amount of gas used during execution.
+- `actualGasCost`: (string) - The actual cost of gas in wei.
+- `success`: (boolean) - Whether the user operation was successful.
+- `logs`: (array) - Array of log entries generated during execution.
+- `receipt`: (object) - The underlying transaction receipt containing:
+ - `transactionHash`: (string) - The hash of the transaction.
+ - `transactionIndex`: (string) - The index of the transaction in the block.
+ - `blockHash`: (string) - The hash of the block containing the transaction.
+ - `blockNumber`: (string) - The number of the block containing the transaction.
+ - `from`: (string) - The address that initiated the transaction.
+ - `to`: (string) - The address that received the transaction.
+ - `cumulativeGasUsed`: (string) - The total gas used by all transactions in the block up to this one.
+ - `gasUsed`: (string) - The amount of gas used by this transaction.
+ - `address`: (string) - The contract address created, if any.
+ - `logs`: (array) - Array of log entries for this transaction.
+ - `logsBloom`: (string) - The bloom filter for the logs.
+ - `status`: (string) - The status of the transaction (`0x1` for success, `0x0` for failure).
+ - `effectiveGasPrice`: (string) - The effective gas price used for the transaction.
diff --git a/services/reference/_partials/bundler/_eth_senduseroperation-description.mdx b/services/reference/_partials/bundler/_eth_senduseroperation-description.mdx
new file mode 100644
index 00000000000..acb3a8fb2f5
--- /dev/null
+++ b/services/reference/_partials/bundler/_eth_senduseroperation-description.mdx
@@ -0,0 +1,4 @@
+import CreditCost from '@site/src/components/CreditCost/CreditCostPrice.js'
+
+Submits a user operation to be included onchain and returns the user operation hash if successful (or queued).
+If the operation is not successful, it will return an error.
diff --git a/services/reference/_partials/bundler/_eth_senduseroperation-example.mdx b/services/reference/_partials/bundler/_eth_senduseroperation-example.mdx
new file mode 100644
index 00000000000..7411f170544
--- /dev/null
+++ b/services/reference/_partials/bundler/_eth_senduseroperation-example.mdx
@@ -0,0 +1 @@
+Replace `` with an API key from your [MetaMask Developer dashboard](https://developer.metamask.io/).
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/_eth_senduseroperation-parameters.mdx b/services/reference/_partials/bundler/_eth_senduseroperation-parameters.mdx
new file mode 100644
index 00000000000..6e3c0dd8f2d
--- /dev/null
+++ b/services/reference/_partials/bundler/_eth_senduseroperation-parameters.mdx
@@ -0,0 +1,63 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+- `userOperation`: The user operation object containing the following fields:
+
+ - `sender`: (string) - The address of the account making the operation.
+ - `nonce`: (string) - Nonce for the request from this sender. This includes the key and sequence number.
+ - `factory`: (string) [_optional_] - The factory contract address that will deploy the smart account if it doesn't exist yet.
+ - `factoryData`: (string) [_optional_] - The data passed to the factory contract to deploy the smart account.
+ - `callData`: (string) [_optional_] - The data to pass to the sender during the main execution call.
+ - `callGasLimit`: (string) - The amount of gas to allocate the main execution call.
+ - `verificationGasLimit`: (string) - The amount of gas to allocate for the verification step.
+ - `preVerificationGas`: (string) - The amount of gas to pay for to compensate the bundler for pre-verification execution and `calldata`.
+ - `maxFeePerGas` : (string) - Maximum fee per gas, in wei, the sender is willing to pay per gas.
+ - `maxPriorityFeePerGas`: (string) - Maximum fee, in wei, the sender is willing to pay per gas above the base fee.
+ - `paymaster`: (string) [_optional_] - Address of paymaster sponsoring the transaction, or `null` if none.
+ - `paymasterVerificationGasLimit`: (string) [_optional_] - The amount of gas to allocate for the verification step of the paymaster, or `null` if no paymaster.
+ - `paymasterPostOpGasLimit`: (string) [_optional_] - The amount of gas to allocate for the post-operation step of the paymaster, or `null` if no paymaster.
+ - `paymasterData`: (string) [_optional_] - The data to pass to the paymaster during the verification step, or `null` if no paymaster.
+ - `signature`: (string) - The signature data.
+ - `eip7702Auth`: (object) [_optional_] - The EIP-7702 authorization data:
+ - `address`: (string) - The contract address for the authorization.
+ - `chainId`: (string) - The chain ID.
+ - `nonce`: (string) - The nonce.
+ - `r`: (string) - The r component of the signature.
+ - `s`: (string) - The s component of the signature.
+ - `v`: (string) - The v component of the signature.
+ - `yParity`: (string) - The y-parity value.
+
+- `entryPoint`: (string) - The EntryPoint contract address (`0x0000000071727De22E5E9d8BAf0edAc6f37da032`).
+
+
+
+
+- `userOperation`: The user operation object containing the following fields:
+
+ - `sender`: (string) - The address of the account making the operation.
+ - `nonce`: (string) - Nonce for the request from this sender.
+ - `initCode`: (string) - The initialization code for the smart account if it doesn't exist yet.
+ - `callData`: (string) [_optional_] - The data to pass to the sender during the main execution call.
+ - `callGasLimit`: (string) - The amount of gas to allocate the main execution call.
+ - `verificationGasLimit`: (string) - The amount of gas to allocate for the verification step.
+ - `preVerificationGas`: (string) - The amount of gas to pay for to compensate the bundler for pre-verification execution and `calldata`.
+ - `maxFeePerGas` : (string) - Maximum fee per gas, in wei, the sender is willing to pay per gas.
+ - `maxPriorityFeePerGas`: (string) - Maximum fee, in wei, the sender is willing to pay per gas above the base fee.
+ - `paymasterAndData`: (string) - The address of the paymaster contract and the data that will be passed to it.
+ - `signature`: (string) - The signature data.
+ - `eip7702Auth`: (object) [_optional_] - The EIP-7702 authorization data:
+ - `address`: (string) - The contract address for the authorization.
+ - `chainId`: (string) - The chain ID.
+ - `nonce`: (string) - The nonce.
+ - `r`: (string) - The r component of the signature.
+ - `s`: (string) - The s component of the signature.
+ - `v`: (string) - The v component of the signature.
+ - `yParity`: (string) - The y-parity value.
+
+- `entryPoint`: (string) - The EntryPoint contract address (`0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789`).
+
+
+
diff --git a/services/reference/_partials/bundler/_eth_senduseroperation-request.mdx b/services/reference/_partials/bundler/_eth_senduseroperation-request.mdx
new file mode 100644
index 00000000000..4c60081a15b
--- /dev/null
+++ b/services/reference/_partials/bundler/_eth_senduseroperation-request.mdx
@@ -0,0 +1,39 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_sendUserOperation",
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419",
+ "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x13880",
+ "verificationGasLimit": "0x60B01",
+ "preVerificationGas": "0xD3E3",
+ "maxPriorityFeePerGas": "0x3B9ACA00",
+ "maxFeePerGas": "0x7A5CF70D5",
+ "paymaster": "0x",
+ "paymasterVerificationGasLimit": "0x0",
+ "paymasterPostOpGasLimit": "0x0",
+ "paymasterData": null,
+ "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ],
+ "id": 1
+ }'
+```
+
+
+
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/_eth_senduseroperation-response.mdx b/services/reference/_partials/bundler/_eth_senduseroperation-response.mdx
new file mode 100644
index 00000000000..1545dda6edc
--- /dev/null
+++ b/services/reference/_partials/bundler/_eth_senduseroperation-response.mdx
@@ -0,0 +1,16 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```JSON
+{
+ "jsonrpc": "2.0",
+ "id": 1,
+ "result": "0x4c31ae84205a9c862dd8d0822f427fb516448451850ee6f65351951f6a2b2154"
+}
+```
+
+
+
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/_eth_senduseroperation-returns.mdx b/services/reference/_partials/bundler/_eth_senduseroperation-returns.mdx
new file mode 100644
index 00000000000..7d3b27e489f
--- /dev/null
+++ b/services/reference/_partials/bundler/_eth_senduseroperation-returns.mdx
@@ -0,0 +1,2 @@
+The 32-byte hash of the user operation (`userOpHash`). This hash uniquely identifies the user operation
+and can be used to track its status.
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/_eth_supportedentrypoints-description.mdx b/services/reference/_partials/bundler/_eth_supportedentrypoints-description.mdx
new file mode 100644
index 00000000000..3d974b4ce6e
--- /dev/null
+++ b/services/reference/_partials/bundler/_eth_supportedentrypoints-description.mdx
@@ -0,0 +1,4 @@
+import CreditCost from '@site/src/components/CreditCost/CreditCostPrice.js'
+
+Fetches the EntryPoint addresses supported by the bundler. The first address is the one preferred by the
+bundler to use.
diff --git a/services/reference/_partials/bundler/_eth_supportedentrypoints-example.mdx b/services/reference/_partials/bundler/_eth_supportedentrypoints-example.mdx
new file mode 100644
index 00000000000..061467dfe81
--- /dev/null
+++ b/services/reference/_partials/bundler/_eth_supportedentrypoints-example.mdx
@@ -0,0 +1 @@
+Replace `` with an API key from your [MetaMask Developer dashboard](https://developer.metamask.io/).
diff --git a/services/reference/_partials/bundler/_eth_supportedentrypoints-parameters.mdx b/services/reference/_partials/bundler/_eth_supportedentrypoints-parameters.mdx
new file mode 100644
index 00000000000..ed30b68824b
--- /dev/null
+++ b/services/reference/_partials/bundler/_eth_supportedentrypoints-parameters.mdx
@@ -0,0 +1 @@
+None.
diff --git a/services/reference/_partials/bundler/_eth_supportedentrypoints-request.mdx b/services/reference/_partials/bundler/_eth_supportedentrypoints-request.mdx
new file mode 100644
index 00000000000..aea285e3179
--- /dev/null
+++ b/services/reference/_partials/bundler/_eth_supportedentrypoints-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_supportedEntryPoints",
+ "params": [],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/_eth_supportedentrypoints-response.mdx b/services/reference/_partials/bundler/_eth_supportedentrypoints-response.mdx
new file mode 100644
index 00000000000..9f8104deb81
--- /dev/null
+++ b/services/reference/_partials/bundler/_eth_supportedentrypoints-response.mdx
@@ -0,0 +1,16 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```JSON
+{
+ "jsonrpc": "2.0",
+ "id": 1,
+ "result": ["0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789"]
+}
+```
+
+
+
diff --git a/services/reference/_partials/bundler/_eth_supportedentrypoints-returns.mdx b/services/reference/_partials/bundler/_eth_supportedentrypoints-returns.mdx
new file mode 100644
index 00000000000..b212a20bcfb
--- /dev/null
+++ b/services/reference/_partials/bundler/_eth_supportedentrypoints-returns.mdx
@@ -0,0 +1,2 @@
+An array of supported EntryPoint addresses. The first address in the array is the preferred EntryPoint
+that the bundler recommends using.
diff --git a/services/reference/_partials/bundler/_pimlico_gettokenquotes-description.mdx b/services/reference/_partials/bundler/_pimlico_gettokenquotes-description.mdx
new file mode 100644
index 00000000000..b091b22ac5b
--- /dev/null
+++ b/services/reference/_partials/bundler/_pimlico_gettokenquotes-description.mdx
@@ -0,0 +1,3 @@
+import CreditCost from '@site/src/components/CreditCost/CreditCostPrice.js'
+
+Returns the tentative token exchange rates used by the ERC-20 Paymaster.
diff --git a/services/reference/_partials/bundler/_pimlico_gettokenquotes-example.mdx b/services/reference/_partials/bundler/_pimlico_gettokenquotes-example.mdx
new file mode 100644
index 00000000000..c83b6c8bcad
--- /dev/null
+++ b/services/reference/_partials/bundler/_pimlico_gettokenquotes-example.mdx
@@ -0,0 +1 @@
+Replace `` with an API key from your MetaMask Developer dashboard.
diff --git a/services/reference/_partials/bundler/_pimlico_gettokenquotes-parameters.mdx b/services/reference/_partials/bundler/_pimlico_gettokenquotes-parameters.mdx
new file mode 100644
index 00000000000..57a26efc62b
--- /dev/null
+++ b/services/reference/_partials/bundler/_pimlico_gettokenquotes-parameters.mdx
@@ -0,0 +1,10 @@
+:::warning
+If a token in the request input is not supported by the ERC-20 Paymaster, the request will still succeed but it will not be included in the `quotes` array in the response.
+:::
+
+- `Object`: An object containing:
+ - `tokens`: (array) - An array of token addresses to get quotes for.
+
+- `entryPoint`: (string) - The EntryPoint contract address.
+
+- `chainId`: (string) - The chain ID in hexadecimal format.
diff --git a/services/reference/_partials/bundler/_pimlico_gettokenquotes-request.mdx b/services/reference/_partials/bundler/_pimlico_gettokenquotes-request.mdx
new file mode 100644
index 00000000000..f816ae54b8f
--- /dev/null
+++ b/services/reference/_partials/bundler/_pimlico_gettokenquotes-request.mdx
@@ -0,0 +1,21 @@
+```bash
+curl https://mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_getTokenQuotes",
+ "params": [
+ {
+ "tokens": [
+ "0x6b175474e89094c44da98b954eedeac495271d0f",
+ "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",
+ "0x514910771af9ca656af840dff83e8264ecf986ca"
+ ]
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032",
+ "0x1"
+ ],
+ "id": 1
+ }'
+```
diff --git a/services/reference/_partials/bundler/_pimlico_gettokenquotes-response.mdx b/services/reference/_partials/bundler/_pimlico_gettokenquotes-response.mdx
new file mode 100644
index 00000000000..b0f8ab4544f
--- /dev/null
+++ b/services/reference/_partials/bundler/_pimlico_gettokenquotes-response.mdx
@@ -0,0 +1,19 @@
+```json
+{
+ "jsonrpc": "2.0",
+ "id": 1,
+ "result": {
+ "quotes": [
+ {
+ "paymaster": "0x0000000000000039cd5e8aE05257CE51C473ddd1",
+ "token": "0x6B175474E89094C44Da98b954EedeAC495271d0F",
+ "postOpGas": "0xa7f8",
+ "exchangeRate": "0xe9d61943a68eaf17e8",
+ "exchangeRateNativeToUsd": "0xe9e52828",
+ "balanceSlot": "0x2",
+ "allowanceSlot": "0x3"
+ }
+ ]
+ }
+}
+```
diff --git a/services/reference/_partials/bundler/_pimlico_gettokenquotes-returns.mdx b/services/reference/_partials/bundler/_pimlico_gettokenquotes-returns.mdx
new file mode 100644
index 00000000000..45eeeaab4fe
--- /dev/null
+++ b/services/reference/_partials/bundler/_pimlico_gettokenquotes-returns.mdx
@@ -0,0 +1,10 @@
+An object containing an array of token quotes. Each quote includes information about the token, exchange rates, and storage slots.
+
+- `quotes`: (array) - An array of quote objects, each containing:
+ - `paymaster`: (string) - The address of the paymaster contract.
+ - `token`: (string) - The address of the token.
+ - `postOpGas`: (string) - The amount of gas required for post-operation processing.
+ - `exchangeRate`: (string) - The exchange rate between the token and the native gas token.
+ - `exchangeRateNativeToUsd`: (string) - The exchange rate between the native gas token and USD with 6 decimals of precision.
+ - `balanceSlot`: (string) - The storage slot for the token balance.
+ - `allowanceSlot`: (string) - The storage slot for the token allowance.
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-description.mdx b/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-description.mdx
new file mode 100644
index 00000000000..52c1c6d2c50
--- /dev/null
+++ b/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-description.mdx
@@ -0,0 +1,3 @@
+import CreditCost from '@site/src/components/CreditCost/CreditCostPrice.js'
+
+Returns the gas prices that must be used for the user operation you are bundling with Pimlico bundlers.
diff --git a/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-example.mdx b/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-example.mdx
new file mode 100644
index 00000000000..061467dfe81
--- /dev/null
+++ b/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-example.mdx
@@ -0,0 +1 @@
+Replace `` with an API key from your [MetaMask Developer dashboard](https://developer.metamask.io/).
diff --git a/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-parameters.mdx b/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-parameters.mdx
new file mode 100644
index 00000000000..ed30b68824b
--- /dev/null
+++ b/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-parameters.mdx
@@ -0,0 +1 @@
+None.
diff --git a/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-request.mdx b/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-request.mdx
new file mode 100644
index 00000000000..4dc90c4b37e
--- /dev/null
+++ b/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_getUserOperationGasPrice",
+ "params": [],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-response.mdx b/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-response.mdx
new file mode 100644
index 00000000000..1ddeaae613f
--- /dev/null
+++ b/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-response.mdx
@@ -0,0 +1,29 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```JSON
+{
+ "jsonrpc": "2.0",
+ "id": 1,
+ "result": {
+ "slow": {
+ "maxFeePerGas": "0x829b42b5",
+ "maxPriorityFeePerGas": "0x829b42b5"
+ },
+ "standard": {
+ "maxFeePerGas": "0x88d36a75",
+ "maxPriorityFeePerGas": "0x88d36a75"
+ },
+ "fast": {
+ "maxFeePerGas": "0x8f0b9234",
+ "maxPriorityFeePerGas": "0x8f0b9234"
+ }
+ }
+}
+```
+
+
+
diff --git a/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-returns.mdx b/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-returns.mdx
new file mode 100644
index 00000000000..79f6932dc19
--- /dev/null
+++ b/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-returns.mdx
@@ -0,0 +1,11 @@
+An object containing gas price recommendations for different priority levels:
+
+- `slow`: (object) - Lower gas prices for non-urgent transactions:
+ - `maxFeePerGas`: (string) - Maximum fee per gas for slow priority.
+ - `maxPriorityFeePerGas`: (string) - Maximum priority fee per gas for slow priority.
+- `standard`: (object) - Standard gas prices for normal transactions:
+ - `maxFeePerGas`: (string) - Maximum fee per gas for standard priority.
+ - `maxPriorityFeePerGas`: (string) - Maximum priority fee per gas for standard priority.
+- `fast`: (object) - Higher gas prices for urgent transactions:
+ - `maxFeePerGas`: (string) - Maximum fee per gas for fast priority.
+ - `maxPriorityFeePerGas`: (string) - Maximum priority fee per gas for fast priority.
diff --git a/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-description.mdx b/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-description.mdx
new file mode 100644
index 00000000000..07074dacc8d
--- /dev/null
+++ b/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-description.mdx
@@ -0,0 +1,10 @@
+import CreditCost from '@site/src/components/CreditCost/CreditCostPrice.js'
+
+Returns the user operation status and, optionally, the transaction hash that
+the bundler is using to bundle the user operation onchain.
+
+:::info
+The transaction hash returned when the result is `submitted` can change if the bundler resubmits the
+user operation inside a different transaction. For this reason, when showing the pending transaction hash to
+the user, it is recommended to keep calling this method in case the transaction hash changes.
+:::
diff --git a/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-example.mdx b/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-example.mdx
new file mode 100644
index 00000000000..061467dfe81
--- /dev/null
+++ b/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-example.mdx
@@ -0,0 +1 @@
+Replace `` with an API key from your [MetaMask Developer dashboard](https://developer.metamask.io/).
diff --git a/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-parameters.mdx b/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-parameters.mdx
new file mode 100644
index 00000000000..81c016b2223
--- /dev/null
+++ b/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-parameters.mdx
@@ -0,0 +1 @@
+- `userOpHash`: (string) - The 32-byte hash of the user operation to check the status for.
diff --git a/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-request.mdx b/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-request.mdx
new file mode 100644
index 00000000000..bc66e5c2457
--- /dev/null
+++ b/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_getUserOperationStatus",
+ "params": ["0x9bd004b8240da8eba3a02190a72be8a70ade8ef4c581b6e59789643c5e642ac3"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-response.mdx b/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-response.mdx
new file mode 100644
index 00000000000..d1515926499
--- /dev/null
+++ b/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-response.mdx
@@ -0,0 +1,47 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```JSON
+{
+ "jsonrpc": "2.0",
+ "id": 1,
+ "result": {
+ "status": "not_found",
+ "transactionHash": null
+ }
+}
+```
+
+
+
+
+```JSON
+{
+ "jsonrpc": "2.0",
+ "id": 1,
+ "result": {
+ "status": "submitted",
+ "transactionHash": "0x9bd004b8240da8eba3a02190a72be8a70ade8ef4c581b6e59789643c5e642ac3"
+ }
+}
+```
+
+
+
+
+```JSON
+{
+ "jsonrpc": "2.0",
+ "id": 1,
+ "result": {
+ "status": "included",
+ "transactionHash": "0x9bd004b8240da8eba3a02190a72be8a70ade8ef4c581b6e59789643c5e642ac3"
+ }
+}
+```
+
+
+
diff --git a/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-returns.mdx b/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-returns.mdx
new file mode 100644
index 00000000000..60a36e4a6b7
--- /dev/null
+++ b/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-returns.mdx
@@ -0,0 +1,16 @@
+An object containing the status information:
+
+- `status`: (string) - The current status of the user operation. Possible values:
+
+ | Result | Response includes transaction hash | Description |
+ | :------- | :-------------------------------- | :---------- |
+ | `not_found` | false | The operation hash is not known to the bundler or has been rejected during validation and has never entered the mempool. |
+ | `not_submitted` | false | The operation hash is known to the bundler but is sitting in the mempool and has not been bundled into a transaction yet. |
+ | `submitted` | true | The operation hash is known to the bundler, has been bundled into a transaction which is currently pending in the mempool. |
+ | `rejected` | false | The operation hash has entered the mempool but as it was being bundled into a bundle transaction the re-simulation failed and it was never submitted. |
+ | `included` | true | The operation hash is known to the bundler and has been included onchain. |
+ | `failed` | true | The operation hash is known to the bundler and the transaction bundling it has been included onchain but the bundle transaction reverted. |
+ | `queued` | false | The operation hash is known to the bundler but is waiting in a queue before being sent to the mempool due to its nonce being too high. |
+
+- `transactionHash`: (string) - The transaction hash bundling the user operation, or `null` if
+ not applicable for the current status.
diff --git a/services/reference/_partials/bundler/_pimlico_simulateassetchanges-description.mdx b/services/reference/_partials/bundler/_pimlico_simulateassetchanges-description.mdx
new file mode 100644
index 00000000000..77b2869992e
--- /dev/null
+++ b/services/reference/_partials/bundler/_pimlico_simulateassetchanges-description.mdx
@@ -0,0 +1,9 @@
+import CreditCost from '@site/src/components/CreditCost/CreditCostPrice.js'
+
+Simulates a user operation to predict the asset changes it will cause. Shows all balance changes
+and shows all balance changes including native currency, ERC-20, ERC-1155, and ERC-721 tokens.
+
+:::info
+This method does not support v0.6 user operations.
+:::
+
diff --git a/services/reference/_partials/bundler/_pimlico_simulateassetchanges-errors.mdx b/services/reference/_partials/bundler/_pimlico_simulateassetchanges-errors.mdx
new file mode 100644
index 00000000000..fa52af5c0c3
--- /dev/null
+++ b/services/reference/_partials/bundler/_pimlico_simulateassetchanges-errors.mdx
@@ -0,0 +1,7 @@
+Common error responses when simulation fails:
+
+| Error Code | Description |
+| :------------------------| :------------------------------------------------- |
+| `AA23` | User operation reverted during simulation. |
+| `UserOperationReverted` | User operation execution failed during simulation. |
+| `SimulateValidation` | Validation failed for the user operation. |
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/_pimlico_simulateassetchanges-example.mdx b/services/reference/_partials/bundler/_pimlico_simulateassetchanges-example.mdx
new file mode 100644
index 00000000000..061467dfe81
--- /dev/null
+++ b/services/reference/_partials/bundler/_pimlico_simulateassetchanges-example.mdx
@@ -0,0 +1 @@
+Replace `` with an API key from your [MetaMask Developer dashboard](https://developer.metamask.io/).
diff --git a/services/reference/_partials/bundler/_pimlico_simulateassetchanges-parameters.mdx b/services/reference/_partials/bundler/_pimlico_simulateassetchanges-parameters.mdx
new file mode 100644
index 00000000000..e5aedbbd61c
--- /dev/null
+++ b/services/reference/_partials/bundler/_pimlico_simulateassetchanges-parameters.mdx
@@ -0,0 +1,16 @@
+- `userOperation`: (object) - The user operation object with the same format as `eth_estimateUserOperationGas`:
+ - `sender`: (string) - The address of the account making the operation.
+ - `nonce`: (string) - The account nonce.
+ - `callData`: (string) - The data to pass to the sender during the main execution call.
+ - `callGasLimit`: (string) [_optional_] - The amount of gas to allocate the main execution call.
+ - `verificationGasLimit`: (string) [_optional_] - The amount of gas to allocate for the verification step.
+ - `preVerificationGas`: (string) [_optional_] - The amount of gas to pay for to compensate the bundler.
+ - `maxFeePerGas`: (string) [_optional_] - Maximum fee per gas, in wei, the sender is willing to pay per gas.
+ - `maxPriorityFeePerGas`: (string) [_optional_] - Maximum priority fee per gas above the base fee.
+ - `paymasterVerificationGasLimit`: (string) [_optional_] - Gas for paymaster verification step.
+ - `paymasterPostOpGasLimit`: (string) [_optional_] - Gas for paymaster post-operation step.
+ - `signature`: (string) - Must be a valid dummy signature for simulation.
+
+- `entryPoint`: (string) - The EntryPoint contract address.
+
+- `blockNumber`: (string) [_optional_] - Hex encoded block number to run the simulation at (defaults to `latest`).
diff --git a/services/reference/_partials/bundler/_pimlico_simulateassetchanges-request.mdx b/services/reference/_partials/bundler/_pimlico_simulateassetchanges-request.mdx
new file mode 100644
index 00000000000..401dcc394c2
--- /dev/null
+++ b/services/reference/_partials/bundler/_pimlico_simulateassetchanges-request.mdx
@@ -0,0 +1,35 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```bash
+ curl https://mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_simulateAssetChanges",
+ "id": 4337,
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x1",
+ "callData": "0x9faf00f4d9c8df66a69fd6242d468aa8a31a439d14fc6c7af3868a06ed392233bc7e39475df25ad2b52bd5e19e1d438277207a415cb4d4ce8ad192464c55ddf1a9559ff900000000000000000000000073da77f0f2daaa88b908413495d3d0e37458212e00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000039946fd82c9c86c9a61bceed86fbdd284590bdd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxFeePerGas": "0x7a5cf70d5",
+ "maxPriorityFeePerGas": "0x3b9aca00",
+ "paymasterVerificationGasLimit": "0x0",
+ "paymasterPostOpGasLimit": "0x0",
+ "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ]
+ }'
+ ```
+
+
+
diff --git a/services/reference/_partials/bundler/_pimlico_simulateassetchanges-response.mdx b/services/reference/_partials/bundler/_pimlico_simulateassetchanges-response.mdx
new file mode 100644
index 00000000000..03f2596ca76
--- /dev/null
+++ b/services/reference/_partials/bundler/_pimlico_simulateassetchanges-response.mdx
@@ -0,0 +1,165 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```JSON
+ {
+ "jsonrpc": "2.0",
+ "id": 4337,
+ "result": {
+ "assetChanges": [
+ {
+ "token": {
+ "tokenType": "NATIVE"
+ },
+ "value": {
+ "diff": "-1000000000000000000",
+ "pre": "5000000000000000000",
+ "post": "4000000000000000000"
+ }
+ }
+ ]
+ }
+ }
+ ```
+
+
+
+
+ ```JSON
+ {
+ "jsonrpc": "2.0",
+ "id": 4337,
+ "result": {
+ "assetChanges": [
+ {
+ "token": {
+ "tokenType": "ERC-20",
+ "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
+ "decimals": 6,
+ "name": "USD Coin",
+ "symbol": "USDC"
+ },
+ "value": {
+ "diff": "-1000000",
+ "pre": "100000000",
+ "post": "99000000"
+ }
+ }
+ ]
+ }
+ }
+ ```
+
+
+
+
+ ```JSON
+ {
+ "jsonrpc": "2.0",
+ "id": 4337,
+ "result": {
+ "assetChanges": [
+ {
+ "token": {
+ "tokenType": "ERC-721",
+ "address": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
+ "tokenId": 1234,
+ "name": "Bored Ape Yacht Club",
+ "symbol": "BAYC"
+ },
+ "value": {
+ "diff": "1",
+ "pre": "0",
+ "post": "1"
+ }
+ }
+ ]
+ }
+ }
+ ```
+
+
+
+
+ ```JSON
+ {
+ "jsonrpc": "2.0",
+ "id": 4337,
+ "result": {
+ "assetChanges": [
+ {
+ "token": {
+ "tokenType": "ERC-1155",
+ "address": "0x76BE3b62873462d2142405439777e971754E8E77",
+ "tokenId": 5678,
+ "name": "OpenSea Shared Storefront",
+ "symbol": "OPENSTORE"
+ },
+ "value": {
+ "diff": "10",
+ "pre": "5",
+ "post": "15"
+ }
+ }
+ ]
+ }
+ }
+ ```
+
+
+
+
+ ```JSON
+ {
+ "jsonrpc": "2.0",
+ "id": 4337,
+ "result": {
+ "assetChanges": [
+ {
+ "token": {
+ "tokenType": "ERC-20",
+ "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
+ "decimals": 6,
+ "name": "USD Coin",
+ "symbol": "USDC"
+ },
+ "value": {
+ "diff": "-1000000",
+ "pre": "100000000",
+ "post": "99000000"
+ }
+ },
+ {
+ "token": {
+ "tokenType": "ERC-20",
+ "address": "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",
+ "decimals": 8,
+ "name": "Wrapped BTC",
+ "symbol": "WBTC"
+ },
+ "value": {
+ "diff": "1196",
+ "pre": "0",
+ "post": "1196"
+ }
+ },
+ {
+ "token": {
+ "tokenType": "NATIVE"
+ },
+ "value": {
+ "diff": "-1000000000000000000",
+ "pre": "5000000000000000000",
+ "post": "4000000000000000000"
+ }
+ }
+ ]
+ }
+ }
+ ```
+
+
+
diff --git a/services/reference/_partials/bundler/_pimlico_simulateassetchanges-returns.mdx b/services/reference/_partials/bundler/_pimlico_simulateassetchanges-returns.mdx
new file mode 100644
index 00000000000..ff27148c951
--- /dev/null
+++ b/services/reference/_partials/bundler/_pimlico_simulateassetchanges-returns.mdx
@@ -0,0 +1,10 @@
+An object containing asset changes that would occur from executing the user operation:
+
+`assetChanges`: (array) - Array of asset change objects, each containing:
+
+- `token`: (object) - Token information (varies by token type). Token metadata fields (`name` and `symbol`)
+ are included when available but may be undefined as they are optional in token standards.
+- `value`: (object) - Balance change information:
+ - `diff`: (string) - The balance difference.
+ - `pre`: (string) - Balance before the operation.
+ - `post`: (string) - Balance after the operation.
diff --git a/services/reference/_partials/bundler/_pm_getpaymasterdata-description.mdx b/services/reference/_partials/bundler/_pm_getpaymasterdata-description.mdx
new file mode 100644
index 00000000000..5cfceba5c39
--- /dev/null
+++ b/services/reference/_partials/bundler/_pm_getpaymasterdata-description.mdx
@@ -0,0 +1,4 @@
+import CreditCost from '@site/src/components/CreditCost/CreditCostPrice.js'
+
+Returns values to be used in paymaster-related fields of a signed user operation.
+
diff --git a/services/reference/_partials/bundler/_pm_getpaymasterdata-example.mdx b/services/reference/_partials/bundler/_pm_getpaymasterdata-example.mdx
new file mode 100644
index 00000000000..c83b6c8bcad
--- /dev/null
+++ b/services/reference/_partials/bundler/_pm_getpaymasterdata-example.mdx
@@ -0,0 +1 @@
+Replace `` with an API key from your MetaMask Developer dashboard.
diff --git a/services/reference/_partials/bundler/_pm_getpaymasterdata-parameters.mdx b/services/reference/_partials/bundler/_pm_getpaymasterdata-parameters.mdx
new file mode 100644
index 00000000000..ad72c9bce6b
--- /dev/null
+++ b/services/reference/_partials/bundler/_pm_getpaymasterdata-parameters.mdx
@@ -0,0 +1,74 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+- `userOperation`: The user operation object containing the following fields:
+
+ - `sender`: (string) - The address of the account making the operation.
+ - `nonce`: (string) - Unique identifier for the request from this sender. This includes the key and sequence number.
+ - `factory`: (string) [_optional_] - The factory contract address that will deploy the smart account if it doesn't exist yet.
+ - `factoryData`: (string) [_optional_] - The data passed to the factory contract to deploy the smart account.
+ - `callData`: (string) [_optional_] - The data to pass to the sender during the main execution call.
+ - `callGasLimit`: (string) - The amount of gas to allocate the main execution call.
+ - `verificationGasLimit`: (string) - The amount of gas to allocate for the verification step.
+ - `preVerificationGas`: (string) - The amount of gas to pay for to compensate the bundler for pre-verification execution and `calldata`.
+ - `maxFeePerGas`: (string) - Maximum fee per gas, in wei, the sender is willing to pay per gas.
+ - `maxPriorityFeePerGas`: (string) - Maximum fee, in wei, the sender is willing to pay per gas above the base fee.
+ - `paymaster`: (string) [_optional_] - Address of paymaster sponsoring the transaction, or `null` if none.
+ - `paymasterVerificationGasLimit`: (string) [_optional_] - The amount of gas to allocate for the verification step of the paymaster, or `null` if no paymaster.
+ - `paymasterPostOpGasLimit`: (string) [_optional_] - The amount of gas to allocate for the post-operation step of the paymaster, or `null` if no paymaster.
+ - `paymasterData`: (string) [_optional_] - The data to pass to the paymaster during the verification step, or `null` if no paymaster.
+ - `eip7702Auth`: (object) [_optional_] - The EIP-7702 authorization data. This can be a dummy authorization:
+ - `address`: (string) - The contract address for the authorization.
+ - `chainId`: (string) - The chain ID.
+ - `nonce`: (string) - The nonce.
+ - `r`: (string) - The r component of the signature.
+ - `s`: (string) - The s component of the signature.
+ - `v`: (string) - The v component of the signature.
+ - `yParity`: (string) - The y-parity value.
+
+- `entryPoint`: (string) - The EntryPoint contract address (`0x0000000071727De22E5E9d8BAf0edAc6f37da032`).
+
+- `chainId`: (string) - The chain ID in hexadecimal format.
+
+- `context`: (object) [_optional_] - Information about the specific paymaster implementation you are using.
+ If use paying gas in ERC-20 Tokens, pass the token address:
+ - An object with `token`: (string) - The ERC-20 token address to use for payment.
+ - An object with `sponsorshipPolicyId`: (string) - The ID of the sponsorship policy to use.
+
+
+
+
+- `userOperation`: The user operation object containing the following fields:
+
+ - `sender`: (string) - The address of the account making the operation.
+ - `nonce`: (string) - Unique identifier for the request from this sender.
+ - `initCode`: (string) - The initialization code for the smart account if it doesn't exist yet.
+ - `callData`: (string) [_optional_] - The data to pass to the sender during the main execution call.
+ - `callGasLimit`: (string) - The amount of gas to allocate the main execution call.
+ - `verificationGasLimit`: (string) - The amount of gas to allocate for the verification step.
+ - `preVerificationGas`: (string) - The amount of gas to pay for to compensate the bundler for pre-verification execution and `calldata`.
+ - `maxFeePerGas`: (string) - Maximum fee per gas, in wei, the sender is willing to pay per gas.
+ - `maxPriorityFeePerGas`: (string) - Maximum fee, in wei, the sender is willing to pay per gas above the base fee.
+ - `eip7702Auth`: (object) [_optional_] - The EIP-7702 authorization data. This can be a dummy authorization:
+ - `address`: (string) - The contract address for the authorization.
+ - `chainId`: (string) - The chain ID.
+ - `nonce`: (string) - The nonce.
+ - `r`: (string) - The r component of the signature.
+ - `s`: (string) - The s component of the signature.
+ - `v`: (string) - The v component of the signature.
+ - `yParity`: (string) - The y-parity value.
+
+- `entryPoint`: (string) - The EntryPoint contract address (`0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789`).
+
+- `chainId`: (string) - The chain ID in hexadecimal format.
+
+- `context`: (object) [_optional_] - Information about the specific paymaster implementation you are using.
+ If use paying gas in ERC-20 Tokens, pass the token address:
+ - An object with `token`: (string) - The ERC-20 token address to use for payment.
+ - An object with `sponsorshipPolicyId`: (string) - The ID of the sponsorship policy to use.
+
+
+
diff --git a/services/reference/_partials/bundler/_pm_getpaymasterdata-request.mdx b/services/reference/_partials/bundler/_pm_getpaymasterdata-request.mdx
new file mode 100644
index 00000000000..3afb55cebbc
--- /dev/null
+++ b/services/reference/_partials/bundler/_pm_getpaymasterdata-request.mdx
@@ -0,0 +1,129 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```bash
+ curl https://mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pm_getPaymasterData",
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0xc5265d5d0000000000000000...",
+ "callData": "0xe9ae5c53",
+ "callGasLimit": "0x13880",
+ "verificationGasLimit": "0x60B01",
+ "preVerificationGas": "0xD3E3",
+ "maxPriorityFeePerGas": "0x3B9ACA00",
+ "maxFeePerGas": "0x7A5CF70D5",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null,
+ "eip7702Auth": {
+ "address": "0x1234567890123456789012345678901234567890",
+ "chainId": "0x1",
+ "nonce": "0x1",
+ "r": "0x1234567890123456789012345678901234567890123456789012345678901234",
+ "s": "0x1234567890123456789012345678901234567890123456789012345678901234",
+ "v": "0x1b",
+ "yParity": "0x1"
+ }
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032",
+ "0x1",
+ {
+ "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
+ }
+ ],
+ "id": 4337
+ }'
+ ```
+
+
+
+
+ ```bash
+ curl https://mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pm_getPaymasterData",
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0xc5265d5d0000000000000000...",
+ "callData": "0xe9ae5c53",
+ "callGasLimit": "0x13880",
+ "verificationGasLimit": "0x60B01",
+ "preVerificationGas": "0xD3E3",
+ "maxPriorityFeePerGas": "0x3B9ACA00",
+ "maxFeePerGas": "0x7A5CF70D5",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032",
+ "0x1",
+ {
+ "sponsorshipPolicyId": "policy-123456"
+ }
+ ],
+ "id": 4337
+ }'
+ ```
+
+
+
+
+ ```bash
+ curl https://mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pm_getPaymasterData",
+ "params": [
+ {
+ "sender": "0xb341FEAFaF71b09089d03B7D114599f8F491EE45",
+ "nonce": "0x0",
+ "initCode": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3296601cd000000...",
+ "callData": "0x51945447",
+ "eip7702Auth": {
+ "address": "0x1234567890123456789012345678901234567890",
+ "chainId": "0x1",
+ "nonce": "0x1",
+ "r": "0x1234567890123456789012345678901234567890123456789012345678901234",
+ "s": "0x1234567890123456789012345678901234567890123456789012345678901234",
+ "v": "0x1b",
+ "yParity": "0x1"
+ },
+ "callGasLimit": "0x115b5c0",
+ "verificationGasLimit": "0x249f0",
+ "preVerificationGas": "0xeb11",
+ "maxPriorityFeePerGas": "0x12a05f200",
+ "maxFeePerGas": "0x5b08082fa"
+ },
+ "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789",
+ "0x1",
+ {
+ "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
+ }
+ ],
+ "id": 4337
+ }'
+ ```
+
+
+
diff --git a/services/reference/_partials/bundler/_pm_getpaymasterdata-response.mdx b/services/reference/_partials/bundler/_pm_getpaymasterdata-response.mdx
new file mode 100644
index 00000000000..e74047e5e1f
--- /dev/null
+++ b/services/reference/_partials/bundler/_pm_getpaymasterdata-response.mdx
@@ -0,0 +1,35 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```json
+ {
+ "jsonrpc": "2.0",
+ "id": 4337,
+ "result": {
+ "paymaster": "0x0000000000000039cd5e8aE05257CE51C473ddd1",
+ "paymasterData": "0x01000066d1a1a4000000000000036cbd53842c5426634e7929541ec2318f3dcf7e0000000000000000000000000000c350000000000000000000000000000000000000000000000000000000009666598f0b846603deb0a8e59b78ba3dce9c3466394ccf07795d38ecf7925dfe12c07a022c27bb199099fa54de2f5e3e87dd9c581df52e9d3d199166a31124cc1227a9921b"
+ }
+ }
+ ```
+
+
+
+
+ ```json
+ {
+ "jsonrpc": "2.0",
+ "id": 4337,
+ "result": {
+ "paymasterAndData": "0x0000000000000039cd5e8aE05257CE51C473ddd101000066d1a1a4000000000000036cbd53842c5426634e7929541ec2318f3dcf7e0000000000000000000000000000c350000000000000000000000000000000000000000000000000000000009666598f0b846603deb0a8e59b78ba3dce9c3466394ccf07795d38ecf7925dfe12c07a022c27bb199099fa54de2f5e3e87dd9c581df52e9d3d199166a31124cc1227a9921b",
+ "preVerificationGas": "0x350f7",
+ "verificationGasLimit": "0x501ab",
+ "callGasLimit": "0x212df"
+ }
+ }
+ ```
+
+
+
diff --git a/services/reference/_partials/bundler/_pm_getpaymasterdata-returns.mdx b/services/reference/_partials/bundler/_pm_getpaymasterdata-returns.mdx
new file mode 100644
index 00000000000..40d87fd8c4f
--- /dev/null
+++ b/services/reference/_partials/bundler/_pm_getpaymasterdata-returns.mdx
@@ -0,0 +1,21 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+An object containing paymaster-related fields.
+
+
+
+
+- `paymaster`: (string) - The address of the paymaster contract.
+- `paymasterData`: (string) - The data to be used in the paymasterData field of the user operation.
+
+
+
+
+- `paymasterAndData`: (string) - The combined paymaster address and data to be used in the user operation.
+- `preVerificationGas`: (string) - The updated preVerificationGas value to use in the user operation.
+- `verificationGasLimit`: (string) - The updated verificationGasLimit value to use in the user operation.
+- `callGasLimit`: (string) - The updated callGasLimit value to use in the user operation.
+
+
+
diff --git a/services/reference/_partials/bundler/_pm_getpaymasterstubdata-description.mdx b/services/reference/_partials/bundler/_pm_getpaymasterstubdata-description.mdx
new file mode 100644
index 00000000000..7391bc1bd2d
--- /dev/null
+++ b/services/reference/_partials/bundler/_pm_getpaymasterstubdata-description.mdx
@@ -0,0 +1,3 @@
+import CreditCost from '@site/src/components/CreditCost/CreditCostPrice.js'
+
+Returns stub values to be used in paymaster-related fields of an unsigned user operation for gas estimation.
diff --git a/services/reference/_partials/bundler/_pm_getpaymasterstubdata-example.mdx b/services/reference/_partials/bundler/_pm_getpaymasterstubdata-example.mdx
new file mode 100644
index 00000000000..c83b6c8bcad
--- /dev/null
+++ b/services/reference/_partials/bundler/_pm_getpaymasterstubdata-example.mdx
@@ -0,0 +1 @@
+Replace `` with an API key from your MetaMask Developer dashboard.
diff --git a/services/reference/_partials/bundler/_pm_getpaymasterstubdata-parameters.mdx b/services/reference/_partials/bundler/_pm_getpaymasterstubdata-parameters.mdx
new file mode 100644
index 00000000000..7d19c3cc7b7
--- /dev/null
+++ b/services/reference/_partials/bundler/_pm_getpaymasterstubdata-parameters.mdx
@@ -0,0 +1,76 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+- `userOperation`: The user operation object containing the following fields:
+
+ - `sender`: (string) - The address of the account making the operation.
+ - `nonce`: (string) - Unique identifier for the request from this sender. This includes the key and sequence number.
+ - `factory`: (string) [_optional_] - The factory contract address that will deploy the smart account if it doesn't exist yet.
+ - `factoryData`: (string) [_optional_] - The data passed to the factory contract to deploy the smart account.
+ - `callData`: (string) [_optional_] - The data to pass to the sender during the main execution call.
+ - `callGasLimit`: (string) - The amount of gas to allocate the main execution call.
+ - `verificationGasLimit`: (string) - The amount of gas to allocate for the verification step.
+ - `preVerificationGas`: (string) - The amount of gas to pay for to compensate the bundler for pre-verification execution and `calldata`.
+ - `maxFeePerGas`: (string) - Maximum fee per gas, in wei, the sender is willing to pay per gas.
+ - `maxPriorityFeePerGas`: (string) - Maximum fee, in wei, the sender is willing to pay per gas above the base fee.
+ - `paymaster`: (string) [_optional_] - Address of paymaster sponsoring the transaction, or `null` if none.
+ - `paymasterVerificationGasLimit`: (string) [_optional_] - The amount of gas to allocate for the verification step of the paymaster, or `null` if no paymaster.
+ - `paymasterPostOpGasLimit`: (string) [_optional_] - The amount of gas to allocate for the post-operation step of the paymaster, or `null` if no paymaster.
+ - `paymasterData`: (string) [_optional_] - The data to pass to the paymaster during the verification step, or `null` if no paymaster.
+ - `eip7702Auth`: (object) [_optional_] - The EIP-7702 authorization data. This can be a dummy authorization:
+ - `address`: (string) - The contract address for the authorization.
+ - `chainId`: (string) - The chain ID.
+ - `nonce`: (string) - The nonce.
+ - `r`: (string) - The r component of the signature.
+ - `s`: (string) - The s component of the signature.
+ - `v`: (string) - The v component of the signature.
+ - `yParity`: (string) - The y-parity value.
+
+- `entryPoint`: (string) - The EntryPoint contract address (`0x0000000071727De22E5E9d8BAf0edAc6f37da032`).
+
+- `chainId`: (string) - The chain ID in hexadecimal format.
+
+- `context`: (object) [_optional_] - Information about the specific paymaster implementation you are using.
+ If use paying gas in ERC-20 Tokens, pass the token address:
+ - An object with `token`: (string) - The ERC-20 token address to use for payment.
+ - An object with `sponsorshipPolicyId`: (string) - The ID of the sponsorship policy to use.
+
+
+
+
+- `userOperation`: The user operation object containing the following fields:
+
+ - `sender`: (string) - The address of the account making the operation.
+ - `nonce`: (string) - Unique identifier for the request from this sender.
+ - `initCode`: (string) - The initialization code for the smart account if it doesn't exist yet.
+ - `callData`: (string) [_optional_] - The data to pass to the sender during the main execution call.
+ - `callGasLimit`: (string) - The amount of gas to allocate the main execution call.
+ - `verificationGasLimit`: (string) - The amount of gas to allocate for the verification step.
+ - `preVerificationGas`: (string) - The amount of gas to pay for to compensate the bundler for pre-verification execution and `calldata`.
+ - `maxFeePerGas`: (string) - Maximum fee per gas, in wei, the sender is willing to pay per gas.
+ - `maxPriorityFeePerGas`: (string) - Maximum fee, in wei, the sender is willing to pay per gas above the base fee.
+ - `paymasterAndData`: (string) - The address of the paymaster contract and the data that will be passed to it.
+ - `signature`: (string) - The signature data.
+ - `eip7702Auth`: (object) [_optional_] - The EIP-7702 authorization data. This can be a dummy authorization:
+ - `address`: (string) - The contract address for the authorization.
+ - `chainId`: (string) - The chain ID.
+ - `nonce`: (string) - The nonce.
+ - `r`: (string) - The r component of the signature.
+ - `s`: (string) - The s component of the signature.
+ - `v`: (string) - The v component of the signature.
+ - `yParity`: (string) - The y-parity value.
+
+- `entryPoint`: (string) - The EntryPoint contract address (`0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789`).
+
+- `chainId`: (string) - The chain ID in hexadecimal format.
+
+- `context`: (object) [_optional_] - Information about the specific paymaster implementation you are using.
+ If use paying gas in ERC-20 Tokens, pass the token address:
+ - An object with `token`: (string) - The ERC-20 token address to use for payment.
+ - An object with `sponsorshipPolicyId`: (string) - The ID of the sponsorship policy to use.
+
+
+
diff --git a/services/reference/_partials/bundler/_pm_getpaymasterstubdata-request.mdx b/services/reference/_partials/bundler/_pm_getpaymasterstubdata-request.mdx
new file mode 100644
index 00000000000..a0381fdee3b
--- /dev/null
+++ b/services/reference/_partials/bundler/_pm_getpaymasterstubdata-request.mdx
@@ -0,0 +1,131 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```bash
+ curl https://mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pm_getPaymasterStubData",
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e4190000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001243c3b752b01845ADb2C711129d4f3966735eD98a9F09fC4cE570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000014375d883Cb4afb913aC35c4B394468C4bC73d77C40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callData": "0xe9ae5c53",
+ "callGasLimit": "0x13880",
+ "verificationGasLimit": "0x60B01",
+ "preVerificationGas": "0xD3E3",
+ "maxPriorityFeePerGas": "0x3B9ACA00",
+ "maxFeePerGas": "0x7A5CF70D5",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null,
+ "eip7702Auth": {
+ "address": "0x1234567890123456789012345678901234567890",
+ "chainId": "0x1",
+ "nonce": "0x1",
+ "r": "0x1234567890123456789012345678901234567890123456789012345678901234",
+ "s": "0x1234567890123456789012345678901234567890123456789012345678901234",
+ "v": "0x1b",
+ "yParity": "0x1"
+ }
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032",
+ "0x1",
+ {
+ "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
+ }
+ ],
+ "id": 4337
+ }'
+ ```
+
+
+
+
+ ```bash
+ curl https://mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pm_getPaymasterStubData",
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e4190000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001243c3b752b01845ADb2C711129d4f3966735eD98a9F09fC4cE570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000014375d883Cb4afb913aC35c4B394468C4bC73d77C40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callData": "0xe9ae5c53",
+ "callGasLimit": "0x13880",
+ "verificationGasLimit": "0x60B01",
+ "preVerificationGas": "0xD3E3",
+ "maxPriorityFeePerGas": "0x3B9ACA00",
+ "maxFeePerGas": "0x7A5CF70D5",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032",
+ "0x1",
+ {
+ "sponsorshipPolicyId": "policy-123456"
+ }
+ ],
+ "id": 4337
+ }'
+ ```
+
+
+
+
+ ```bash
+ curl https://mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pm_getPaymasterStubData",
+ "params": [
+ {
+ "sender": "0xb341FEAFaF71b09089d03B7D114599f8F491EE45",
+ "nonce": "0x0",
+ "initCode": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3296601cd0000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b5000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084d1f57894000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea039000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014375cd3E53E18f65672E9d0Eb6AD174511b0BF98100000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callData": "0x5194544700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x115b5c0",
+ "verificationGasLimit": "0x249f0",
+ "preVerificationGas": "0xeb11",
+ "maxPriorityFeePerGas": "0x12a05f200",
+ "maxFeePerGas": "0x5b08082fa",
+ "paymasterAndData": "0x",
+ "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c",
+ "eip7702Auth": {
+ "address": "0x1234567890123456789012345678901234567890",
+ "chainId": "0x1",
+ "nonce": "0x1",
+ "r": "0x1234567890123456789012345678901234567890123456789012345678901234",
+ "s": "0x1234567890123456789012345678901234567890123456789012345678901234",
+ "v": "0x1b",
+ "yParity": "0x1"
+ }
+ },
+ "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789",
+ "0x1",
+ {
+ "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
+ }
+ ],
+ "id": 4337
+ }'
+ ```
+
+
+
diff --git a/services/reference/_partials/bundler/_pm_getpaymasterstubdata-response.mdx b/services/reference/_partials/bundler/_pm_getpaymasterstubdata-response.mdx
new file mode 100644
index 00000000000..51b3744fcc8
--- /dev/null
+++ b/services/reference/_partials/bundler/_pm_getpaymasterstubdata-response.mdx
@@ -0,0 +1,34 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```json
+ {
+ "jsonrpc": "2.0",
+ "id": 4337,
+ "result": {
+ "paymaster": "0x0000000000000039cd5e8aE05257CE51C473ddd1",
+ "paymasterData": "0x01000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000c350000000000000000000000000000000000000000000000088ed21153e8f500000cd91f19f0f19ce862d7bec7b7d9b95457145afc6f639c28fd0360f488937bfa41e6eedcd3a46054fd95fcd0e3ef6b0bc0a615c4d975eef55c8a3517257904d5b1c",
+ "paymasterVerificationGasLimit": "0xc350",
+ "paymasterPostOpGasLimit": "0x4e20"
+ }
+ }
+ ```
+
+
+
+
+ ```json
+ {
+ "jsonrpc": "2.0",
+ "id": 4337,
+ "result": {
+ "paymasterAndData": "0x0000000000000039cd5e8aE05257CE51C473ddd101000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000c350000000000000000000000000000000000000000000000088ed21153e8f500000cd91f19f0f19ce862d7bec7b7d9b95457145afc6f639c28fd0360f488937bfa41e6eedcd3a46054fd95fcd0e3ef6b0bc0a615c4d975eef55c8a3517257904d5b1c"
+ }
+ }
+ ```
+
+
+
diff --git a/services/reference/_partials/bundler/_pm_getpaymasterstubdata-returns.mdx b/services/reference/_partials/bundler/_pm_getpaymasterstubdata-returns.mdx
new file mode 100644
index 00000000000..9aad40e2004
--- /dev/null
+++ b/services/reference/_partials/bundler/_pm_getpaymasterstubdata-returns.mdx
@@ -0,0 +1,22 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+An object containing stub paymaster-related fields for gas estimation.
+
+
+
+
+- `paymaster`: (string) - The address of the paymaster contract.
+- `paymasterData`: (string) - The data to be used in the `paymasterData` field of the user operation.
+- `paymasterVerificationGasLimit`: (string) - The amount of gas to allocate for the verification step
+ of the paymaster.
+- `paymasterPostOpGasLimit`: (string) - The amount of gas to allocate for the post-operation step of
+ the paymaster.
+
+
+
+
+- `paymasterAndData`: (string) - The combined paymaster address and data to be used in the user operation.
+
+
+
diff --git a/services/reference/_partials/bundler/_pm_sponsoruseroperation-description.mdx b/services/reference/_partials/bundler/_pm_sponsoruseroperation-description.mdx
new file mode 100644
index 00000000000..8a9683d536b
--- /dev/null
+++ b/services/reference/_partials/bundler/_pm_sponsoruseroperation-description.mdx
@@ -0,0 +1,4 @@
+import CreditCost from '@site/src/components/CreditCost/CreditCostPrice.js'
+
+Sponsors a user operation by providing all necessary paymaster-related fields and updated gas
+parameters.
diff --git a/services/reference/_partials/bundler/_pm_sponsoruseroperation-example.mdx b/services/reference/_partials/bundler/_pm_sponsoruseroperation-example.mdx
new file mode 100644
index 00000000000..c83b6c8bcad
--- /dev/null
+++ b/services/reference/_partials/bundler/_pm_sponsoruseroperation-example.mdx
@@ -0,0 +1 @@
+Replace `` with an API key from your MetaMask Developer dashboard.
diff --git a/services/reference/_partials/bundler/_pm_sponsoruseroperation-parameters.mdx b/services/reference/_partials/bundler/_pm_sponsoruseroperation-parameters.mdx
new file mode 100644
index 00000000000..d4de9b63d17
--- /dev/null
+++ b/services/reference/_partials/bundler/_pm_sponsoruseroperation-parameters.mdx
@@ -0,0 +1,58 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+- `userOperation`: The user operation object containing the following fields:
+
+ - `sender`: (string) - The address of the account making the operation.
+ - `nonce`: (string) - Unique identifier for the request from this sender. This includes the key and
+ sequence number.
+ - `factory`: (string) [_optional_] - The factory contract address that will deploy the smart account
+ if it doesn't exist yet.
+ - `factoryData`: (string) [_optional_] - The data passed to the factory contract to deploy the smart account.
+ - `callData`: (string) [_optional_] - The data to pass to the sender during the main execution call.
+ - `callGasLimit`: (string) - The amount of gas to allocate the main execution call.
+ - `verificationGasLimit`: (string) - The amount of gas to allocate for the verification step.
+ - `preVerificationGas`: (string) - The amount of gas to pay for to compensate the bundler for
+ pre-verification execution and `calldata`.
+ - `maxFeePerGas`: (string) - Maximum fee per gas, in wei, the sender is willing to pay per gas.
+ - `maxPriorityFeePerGas`: (string) - Maximum fee, in wei, the sender is willing to pay per gas above
+ the base fee.
+ - `paymaster`: (string) [_optional_] - Address of paymaster sponsoring the transaction, or `null` if none.
+ - `paymasterVerificationGasLimit`: (string) [_optional_] - The amount of gas to allocate for the
+ verification step of the paymaster, or `null` if no paymaster.
+ - `paymasterPostOpGasLimit`: (string) [_optional_] - The amount of gas to allocate for the post-operation
+ step of the paymaster, or `null` if no paymaster.
+ - `paymasterData`: (string) [_optional_] - The data to pass to the paymaster during the verification
+ step, or `null` if no paymaster.
+- `entryPoint`: (string) - The EntryPoint contract address (`0x0000000071727De22E5E9d8BAf0edAc6f37da032`).
+- `context`: (object) [_optional_] - Information about the specific paymaster implementation you are using.
+ If use paying gas in ERC-20 Tokens, pass the token address:
+ - An object with `token`: (string) - The ERC-20 token address to use for payment.
+ - An object with `sponsorshipPolicyId`: (string) - The ID of the sponsorship policy to use.
+
+
+
+
+- `userOperation`: The user operation object containing the following fields:
+
+ - `sender`: (string) - The address of the account making the operation.
+ - `nonce`: (string) - Unique identifier for the request from this sender.
+ - `initCode`: (string) - The initialization code for the smart account if it doesn't exist yet.
+ - `callData`: (string) [_optional_] - The data to pass to the sender during the main execution call.
+ - `callGasLimit`: (string) - The amount of gas to allocate the main execution call.
+ - `verificationGasLimit`: (string) - The amount of gas to allocate for the verification step.
+ - `preVerificationGas`: (string) - The amount of gas to pay for to compensate the bundler for pre-verification execution and `calldata`.
+ - `maxFeePerGas`: (string) - Maximum fee per gas, in wei, the sender is willing to pay per gas.
+ - `maxPriorityFeePerGas`: (string) - Maximum fee, in wei, the sender is willing to pay per gas above the base fee.
+ - `paymasterAndData`: (string) - The address of the paymaster contract and the data that will be passed to it.
+ - `signature`: (string) - The signature data.
+- `entryPoint`: (string) - The EntryPoint contract address (`0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789`).
+- `context`: (object) [_optional_] - Information about the specific paymaster implementation you are using.
+ If use paying gas in ERC-20 Tokens, pass the token address:
+ - An object with `token`: (string) - The ERC-20 token address to use for payment.
+ - An object with `sponsorshipPolicyId`: (string) - The ID of the sponsorship policy to use.
+
+
diff --git a/services/reference/_partials/bundler/_pm_sponsoruseroperation-request.mdx b/services/reference/_partials/bundler/_pm_sponsoruseroperation-request.mdx
new file mode 100644
index 00000000000..02aed8cfd22
--- /dev/null
+++ b/services/reference/_partials/bundler/_pm_sponsoruseroperation-request.mdx
@@ -0,0 +1,128 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```bash
+ curl https://mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pm_sponsorUserOperation",
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e4190000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001243c3b752b01845ADb2C711129d4f3966735eD98a9F09fC4cE570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000014375d883Cb4afb913aC35c4B394468C4bC73d77C40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callData": "0xe9ae5c53",
+ "callGasLimit": "0x13880",
+ "verificationGasLimit": "0x60B01",
+ "preVerificationGas": "0xD3E3",
+ "maxPriorityFeePerGas": "0x3B9ACA00",
+ "maxFeePerGas": "0x7A5CF70D5",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null,
+ "eip7702Auth": {
+ "address": "0x1234567890123456789012345678901234567890",
+ "chainId": "0x1",
+ "nonce": "0x1",
+ "r": "0x1234567890123456789012345678901234567890123456789012345678901234",
+ "s": "0x1234567890123456789012345678901234567890123456789012345678901234",
+ "v": "0x1b",
+ "yParity": "0x1"
+ }
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032",
+ {
+ "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
+ }
+ ],
+ "id": 1
+ }'
+ ```
+
+
+
+
+ ```bash
+ curl https://mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pm_sponsorUserOperation",
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e4190000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001243c3b752b01845ADb2C711129d4f3966735eD98a9F09fC4cE570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000014375d883Cb4afb913aC35c4B394468C4bC73d77C40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callData": "0xe9ae5c53",
+ "callGasLimit": "0x13880",
+ "verificationGasLimit": "0x60B01",
+ "preVerificationGas": "0xD3E3",
+ "maxPriorityFeePerGas": "0x3B9ACA00",
+ "maxFeePerGas": "0x7A5CF70D5",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032",
+ {
+ "sponsorshipPolicyId": "policy-123456"
+ }
+ ],
+ "id": 1
+ }'
+ ```
+
+
+
+
+ ```bash
+ curl https://mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pm_sponsorUserOperation",
+ "params": [
+ {
+ "sender": "0xb341FEAFaF71b09089d03B7D114599f8F491EE45",
+ "nonce": "0x0",
+ "initCode": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3296601cd0000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b5000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084d1f57894000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea039000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014375cd3E53E18f65672E9d0Eb6AD174511b0BF98100000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callData": "0x5194544700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxPriorityFeePerGas": "0x3b9aca00",
+ "maxFeePerGas": "0x7a5cf70d5",
+ "paymasterAndData": "0x",
+ "signature": "0x00000000fffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c",
+ "eip7702Auth": {
+ "address": "0x1234567890123456789012345678901234567890",
+ "chainId": "0x1",
+ "nonce": "0x1",
+ "r": "0x1234567890123456789012345678901234567890123456789012345678901234",
+ "s": "0x1234567890123456789012345678901234567890123456789012345678901234",
+ "v": "0x1b",
+ "yParity": "0x1"
+ }
+ },
+ "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789",
+ {
+ "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
+ }
+ ],
+ "id": 1
+ }'
+ ```
+
+
+
diff --git a/services/reference/_partials/bundler/_pm_sponsoruseroperation-response.mdx b/services/reference/_partials/bundler/_pm_sponsoruseroperation-response.mdx
new file mode 100644
index 00000000000..ed2c1bbb857
--- /dev/null
+++ b/services/reference/_partials/bundler/_pm_sponsoruseroperation-response.mdx
@@ -0,0 +1,41 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```json
+ {
+ "jsonrpc": "2.0",
+ "result": {
+ "paymaster": "0x0000000000000039cd5e8aE05257CE51C473ddd1",
+ "paymasterData": "0x01000066d1a1a4000000000000036cbd53842c5426634e7929541ec2318f3dcf7e0000000000000000000000000000c350000000000000000000000000000000000000000000000000000000009666598f0b846603deb0a8e59b78ba3dce9c3466394ccf07795d38ecf7925dfe12c07a022c27bb199099fa54de2f5e3e87dd9c581df52e9d3d199166a31124cc1227a9921b",
+ "preVerificationGas": "0x350f7",
+ "verificationGasLimit": "0x501ab",
+ "callGasLimit": "0x212df",
+ "paymasterVerificationGasLimit": "0x6dae",
+ "paymasterPostOpGasLimit": "0x706e"
+ },
+ "id": 1
+ }
+ ```
+
+
+
+
+ ```json
+ {
+ "jsonrpc": "2.0",
+ "result": {
+ "paymasterAndData": "0x0000000000000039cd5e8aE05257CE51C473ddd101000066d1a1a4000000000000036cbd53842c5426634e7929541ec2318f3dcf7e0000000000000000000000000000c350000000000000000000000000000000000000000000000000000000009666598f0b846603deb0a8e59b78ba3dce9c3466394ccf07795d38ecf7925dfe12c07a022c27bb199099fa54de2f5e3e87dd9c581df52e9d3d199166a31124cc1227a9921b",
+ "preVerificationGas": "0xdf55",
+ "verificationGas": "0x52503",
+ "verificationGasLimit": "0x52503",
+ "callGasLimit": "0x13880"
+ },
+ "id": 1
+ }
+ ```
+
+
+
diff --git a/services/reference/_partials/bundler/_pm_sponsoruseroperation-returns.mdx b/services/reference/_partials/bundler/_pm_sponsoruseroperation-returns.mdx
new file mode 100644
index 00000000000..99849327832
--- /dev/null
+++ b/services/reference/_partials/bundler/_pm_sponsoruseroperation-returns.mdx
@@ -0,0 +1,29 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+An object containing paymaster-related fields and updated gas parameters.
+
+
+
+
+- `paymaster`: (string) - The address of the paymaster contract.
+- `paymasterData`: (string) - The data to be used in the `paymasterData` field of the user operation.
+- `preVerificationGas`: (string) - The updated `preVerificationGas` value to use in the user operation.
+- `verificationGasLimit`: (string) - The updated `verificationGasLimit` value to use in the user operation.
+- `callGasLimit`: (string) - The updated `callGasLimit` value to use in the user operation.
+- `paymasterVerificationGasLimit`: (string) - The amount of gas to allocate for the verification step
+ of the paymaster.
+- `paymasterPostOpGasLimit`: (string) - The amount of gas to allocate for the post-operation step of
+ the paymaster.
+
+
+
+
+- `paymasterAndData`: (string) - The combined paymaster address and data to be used in the user operation.
+- `preVerificationGas`: (string) - The updated `preVerificationGas` value to use in the user operation.
+- `verificationGas`: (string) - The amount of gas to allocate for the verification step.
+- `verificationGasLimit`: (string) - The updated `verificationGasLimit` value to use in the user operation.
+- `callGasLimit`: (string) - The updated `callGasLimit` value to use in the user operation.
+
+
+
diff --git a/services/reference/_partials/bundler/_pm_validatesponsorshippolicies-description.mdx b/services/reference/_partials/bundler/_pm_validatesponsorshippolicies-description.mdx
new file mode 100644
index 00000000000..c4222f39426
--- /dev/null
+++ b/services/reference/_partials/bundler/_pm_validatesponsorshippolicies-description.mdx
@@ -0,0 +1,4 @@
+import CreditCost from '@site/src/components/CreditCost/CreditCostPrice.js'
+
+Validates a user operation against an array of sponsorship policies and returns which policies are
+willing to sponsor the user operation.
diff --git a/services/reference/_partials/bundler/_pm_validatesponsorshippolicies-example.mdx b/services/reference/_partials/bundler/_pm_validatesponsorshippolicies-example.mdx
new file mode 100644
index 00000000000..c83b6c8bcad
--- /dev/null
+++ b/services/reference/_partials/bundler/_pm_validatesponsorshippolicies-example.mdx
@@ -0,0 +1 @@
+Replace `` with an API key from your MetaMask Developer dashboard.
diff --git a/services/reference/_partials/bundler/_pm_validatesponsorshippolicies-parameters.mdx b/services/reference/_partials/bundler/_pm_validatesponsorshippolicies-parameters.mdx
new file mode 100644
index 00000000000..90178890053
--- /dev/null
+++ b/services/reference/_partials/bundler/_pm_validatesponsorshippolicies-parameters.mdx
@@ -0,0 +1,58 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+- `userOperation`: The user operation object containing the following fields:
+
+ - `sender`: (string) - The address of the account making the operation.
+ - `nonce`: (string) - Unique identifier for the request from this sender. This includes the key and
+ sequence number.
+ - `factory`: (string) [_optional_] - The factory contract address that will deploy the smart account
+ if it doesn't exist yet.
+ - `factoryData`: (string) [_optional_] - The data passed to the factory contract to deploy the smart account.
+ - `callData`: (string) [_optional_] - The data to pass to the sender during the main execution call.
+ - `callGasLimit`: (string) - The amount of gas to allocate the main execution call.
+ - `verificationGasLimit`: (string) - The amount of gas to allocate for the verification step.
+ - `preVerificationGas`: (string) - The amount of gas to pay for to compensate the bundler for
+ pre-verification execution and `calldata`.
+ - `maxFeePerGas`: (string) - Maximum fee per gas, in wei, the sender is willing to pay per gas.
+ - `maxPriorityFeePerGas`: (string) - Maximum fee, in wei, the sender is willing to pay per gas above the base fee.
+ - `paymaster`: (string) [_optional_] - Address of paymaster sponsoring the transaction, or `null` if none.
+ - `paymasterVerificationGasLimit`: (string) [_optional_] - The amount of gas to allocate for the
+ verification step of the paymaster, or `null` if no paymaster.
+ - `paymasterPostOpGasLimit`: (string) [_optional_] - The amount of gas to allocate for the
+ post-operation step of the paymaster, or `null` if no paymaster.
+ - `paymasterData`: (string) [_optional_] - The data to pass to the paymaster during the verification
+ step, or `null` if no paymaster.
+ - `signature`: (string) - The signature data.
+
+- `entryPoint`: (string) - The EntryPoint contract address (`0x0000000071727De22E5E9d8BAf0edAc6f37da032`).
+
+- `sponsorshipPolicyIds`: (array) - An array of sponsorship policy IDs to validate against.
+
+
+
+
+- `userOperation`: The user operation object containing the following fields:
+
+ - `sender`: (string) - The address of the account making the operation.
+ - `nonce`: (string) - Unique identifier for the request from this sender.
+ - `initCode`: (string) - The initialization code for the smart account if it doesn't exist yet.
+ - `callData`: (string) [_optional_] - The data to pass to the sender during the main execution call.
+ - `callGasLimit`: (string) - The amount of gas to allocate the main execution call.
+ - `verificationGasLimit`: (string) - The amount of gas to allocate for the verification step.
+ - `preVerificationGas`: (string) - The amount of gas to pay for to compensate the bundler for
+ pre-verification execution and `calldata`.
+ - `maxFeePerGas`: (string) - Maximum fee per gas, in wei, the sender is willing to pay per gas.
+ - `maxPriorityFeePerGas`: (string) - Maximum fee, in wei, the sender is willing to pay per gas above the base fee.
+ - `paymasterAndData`: (string) - The address of the paymaster contract and the data that will be passed to it.
+ - `signature`: (string) - The signature data.
+
+- `entryPoint`: (string) - The EntryPoint contract address (`0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789`).
+
+- `sponsorshipPolicyIds`: (array) - An array of sponsorship policy IDs to validate against.
+
+
+
diff --git a/services/reference/_partials/bundler/_pm_validatesponsorshippolicies-request.mdx b/services/reference/_partials/bundler/_pm_validatesponsorshippolicies-request.mdx
new file mode 100644
index 00000000000..476db663354
--- /dev/null
+++ b/services/reference/_partials/bundler/_pm_validatesponsorshippolicies-request.mdx
@@ -0,0 +1,71 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```bash
+ curl https://mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pm_validateSponsorshipPolicies",
+ "params": [
+ {
+ "sender": "0x1234567890123456789012345678901234567890",
+ "nonce": "0x1",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0x",
+ "callData": "0x",
+ "callGasLimit": "0x100000",
+ "verificationGasLimit": "0x20000",
+ "preVerificationGas": "0x10000",
+ "maxFeePerGas": "0x3b9aca00",
+ "maxPriorityFeePerGas": "0x3b9aca00",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null,
+ "signature": "0x"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032",
+ ["sp_crazy_kangaroo", "sp_talented_turtle"]
+ ],
+ "id": 1
+ }'
+ ```
+
+
+
+
+ ```bash
+ curl https://mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pm_validateSponsorshipPolicies",
+ "params": [
+ {
+ "sender": "0x1234567890123456789012345678901234567890",
+ "nonce": "0x1",
+ "initCode": "0x",
+ "callData": "0x",
+ "callGasLimit": "0x100000",
+ "verificationGasLimit": "0x20000",
+ "preVerificationGas": "0x10000",
+ "maxFeePerGas": "0x3b9aca00",
+ "maxPriorityFeePerGas": "0x3b9aca00",
+ "paymasterAndData": "0x",
+ "signature": "0x"
+ },
+ "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789",
+ ["sp_crazy_kangaroo", "sp_talented_turtle"]
+ ],
+ "id": 1
+ }'
+ ```
+
+
+
diff --git a/services/reference/_partials/bundler/_pm_validatesponsorshippolicies-response.mdx b/services/reference/_partials/bundler/_pm_validatesponsorshippolicies-response.mdx
new file mode 100644
index 00000000000..07dbea2959d
--- /dev/null
+++ b/services/reference/_partials/bundler/_pm_validatesponsorshippolicies-response.mdx
@@ -0,0 +1,17 @@
+```json
+{
+ "jsonrpc": "2.0",
+ "result": [
+ {
+ "sponsorshipPolicyId": "sp_crazy_kangaroo",
+ "data": {
+ "name": "Linea Christmas Week",
+ "author": "Linea",
+ "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==",
+ "description": "Linea is sponsoring the first 10 transactions for existing users between Christmas and New Year's Eve."
+ }
+ }
+ ],
+ "id": 1
+}
+```
diff --git a/services/reference/_partials/bundler/_pm_validatesponsorshippolicies-returns.mdx b/services/reference/_partials/bundler/_pm_validatesponsorshippolicies-returns.mdx
new file mode 100644
index 00000000000..cfaf3beb0fb
--- /dev/null
+++ b/services/reference/_partials/bundler/_pm_validatesponsorshippolicies-returns.mdx
@@ -0,0 +1,9 @@
+An array of sponsorship policy objects that are willing to sponsor the user operation. Each object in
+the array contains:
+
+- `sponsorshipPolicyId`: (string) - The ID of the sponsorship policy.
+- `data`: (object) - Additional metadata about the sponsorship policy:
+ - `name`: (string) [_optional_] - The display name of the sponsorship policy.
+ - `author`: (string) [_optional_] - The author or organization behind the sponsorship policy.
+ - `icon`: (string) [_optional_] - Base64-encoded image data for the policy icon.
+ - `description`: (string) [_optional_] - A description of the sponsorship policy.
diff --git a/services/reference/_partials/bundler/arbitrum/_eth_estimateuseroperationgas-request.mdx b/services/reference/_partials/bundler/arbitrum/_eth_estimateuseroperationgas-request.mdx
new file mode 100644
index 00000000000..d0a66b2dda5
--- /dev/null
+++ b/services/reference/_partials/bundler/arbitrum/_eth_estimateuseroperationgas-request.mdx
@@ -0,0 +1,82 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```bash
+ curl https://arbitrum-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_estimateUserOperationGas",
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x845adb2c711129d4f3966735ed98a9f09fc4ce5700000000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419",
+ "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxFeePerGas": "0x7a5cf70d5",
+ "maxPriorityFeePerGas": "0x3b9aca00",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null,
+ "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ],
+ "id": 1
+ }'
+ ```
+
+
+
+
+ ```bash
+ curl https://arbitrum-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_estimateUserOperationGas",
+ "params": [
+ {
+ "sender": "0xa203fDb8bC335F86016F635b85389B62B189E417",
+ "nonce": "0x35bf2a054f92f3730b87582ef223c8d663f9eb01158154750000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "callData": "0xb61d27f6000000000000000000000000530fff22987e137e7c8d2adcc4c15eb45b4fa752",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxPriorityFeePerGas": "0x12a05f200",
+ "maxFeePerGas": "0x5b08082fa",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null,
+ "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032",
+ {
+ "0xd9c9cd5f6779558b6e0ed4e6acf6b1947e7fa1f3": {
+ "balance": "0xde0b6b3a7640000"
+ },
+ "0xebe8efa441b9302a0d7eaecc277c09d20d684540": {
+ "stateDiff": {
+ "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80": "0x21"
+ }
+ }
+ }
+ ],
+ "id": 1
+ }'
+ ```
+
+
+
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/arbitrum/_eth_getuseroperationbyhash-request.mdx b/services/reference/_partials/bundler/arbitrum/_eth_getuseroperationbyhash-request.mdx
new file mode 100644
index 00000000000..eb084bf6737
--- /dev/null
+++ b/services/reference/_partials/bundler/arbitrum/_eth_getuseroperationbyhash-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://arbitrum-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_getUserOperationByHash",
+ "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/arbitrum/_eth_getuseroperationreceipt-request.mdx b/services/reference/_partials/bundler/arbitrum/_eth_getuseroperationreceipt-request.mdx
new file mode 100644
index 00000000000..5f3a0e64863
--- /dev/null
+++ b/services/reference/_partials/bundler/arbitrum/_eth_getuseroperationreceipt-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://arbitrum-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_getUserOperationReceipt",
+ "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/arbitrum/_eth_senduseroperation-request.mdx b/services/reference/_partials/bundler/arbitrum/_eth_senduseroperation-request.mdx
new file mode 100644
index 00000000000..c309295ba6a
--- /dev/null
+++ b/services/reference/_partials/bundler/arbitrum/_eth_senduseroperation-request.mdx
@@ -0,0 +1,39 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://arbitrum-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_sendUserOperation",
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419",
+ "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x13880",
+ "verificationGasLimit": "0x60B01",
+ "preVerificationGas": "0xD3E3",
+ "maxPriorityFeePerGas": "0x3B9ACA00",
+ "maxFeePerGas": "0x7A5CF70D5",
+ "paymaster": "0x",
+ "paymasterVerificationGasLimit": "0x0",
+ "paymasterPostOpGasLimit": "0x0",
+ "paymasterData": null,
+ "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ],
+ "id": 1
+ }'
+```
+
+
+
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/arbitrum/_eth_supportedentrypoints-request.mdx b/services/reference/_partials/bundler/arbitrum/_eth_supportedentrypoints-request.mdx
new file mode 100644
index 00000000000..eae87eaa94b
--- /dev/null
+++ b/services/reference/_partials/bundler/arbitrum/_eth_supportedentrypoints-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://arbitrum-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_supportedEntryPoints",
+ "params": [],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/arbitrum/_pimlico_getuseroperationgasprice-request.mdx b/services/reference/_partials/bundler/arbitrum/_pimlico_getuseroperationgasprice-request.mdx
new file mode 100644
index 00000000000..21c9613440a
--- /dev/null
+++ b/services/reference/_partials/bundler/arbitrum/_pimlico_getuseroperationgasprice-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://arbitrum-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_getUserOperationGasPrice",
+ "params": [],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/arbitrum/_pimlico_getuseroperationstatus-request.mdx b/services/reference/_partials/bundler/arbitrum/_pimlico_getuseroperationstatus-request.mdx
new file mode 100644
index 00000000000..337d42a2f9d
--- /dev/null
+++ b/services/reference/_partials/bundler/arbitrum/_pimlico_getuseroperationstatus-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://arbitrum-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_getUserOperationStatus",
+ "params": ["0x9bd004b8240da8eba3a02190a72be8a70ade8ef4c581b6e59789643c5e642ac3"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/arbitrum/_pimlico_simulateassetchanges-request.mdx b/services/reference/_partials/bundler/arbitrum/_pimlico_simulateassetchanges-request.mdx
new file mode 100644
index 00000000000..c2a42bf6986
--- /dev/null
+++ b/services/reference/_partials/bundler/arbitrum/_pimlico_simulateassetchanges-request.mdx
@@ -0,0 +1,35 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```bash
+ curl https://arbitrum-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_simulateAssetChanges",
+ "id": 4337,
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x1",
+ "callData": "0x9faf00f4d9c8df66a69fd6242d468aa8a31a439d14fc6c7af3868a06ed392233bc7e39475df25ad2b52bd5e19e1d438277207a415cb4d4ce8ad192464c55ddf1a9559ff900000000000000000000000073da77f0f2daaa88b908413495d3d0e37458212e00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000039946fd82c9c86c9a61bceed86fbdd284590bdd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxFeePerGas": "0x7a5cf70d5",
+ "maxPriorityFeePerGas": "0x3b9aca00",
+ "paymasterVerificationGasLimit": "0x0",
+ "paymasterPostOpGasLimit": "0x0",
+ "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ]
+ }'
+ ```
+
+
+
diff --git a/services/reference/_partials/bundler/avalanche/_eth_estimateuseroperationgas-request.mdx b/services/reference/_partials/bundler/avalanche/_eth_estimateuseroperationgas-request.mdx
new file mode 100644
index 00000000000..cf65b03b857
--- /dev/null
+++ b/services/reference/_partials/bundler/avalanche/_eth_estimateuseroperationgas-request.mdx
@@ -0,0 +1,82 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```bash
+ curl https://avalanche-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_estimateUserOperationGas",
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x845adb2c711129d4f3966735ed98a9f09fc4ce5700000000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419",
+ "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxFeePerGas": "0x7a5cf70d5",
+ "maxPriorityFeePerGas": "0x3b9aca00",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null,
+ "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ],
+ "id": 1
+ }'
+ ```
+
+
+
+
+ ```bash
+ curl https://avalanche-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_estimateUserOperationGas",
+ "params": [
+ {
+ "sender": "0xa203fDb8bC335F86016F635b85389B62B189E417",
+ "nonce": "0x35bf2a054f92f3730b87582ef223c8d663f9eb01158154750000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "callData": "0xb61d27f6000000000000000000000000530fff22987e137e7c8d2adcc4c15eb45b4fa752",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxPriorityFeePerGas": "0x12a05f200",
+ "maxFeePerGas": "0x5b08082fa",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null,
+ "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032",
+ {
+ "0xd9c9cd5f6779558b6e0ed4e6acf6b1947e7fa1f3": {
+ "balance": "0xde0b6b3a7640000"
+ },
+ "0xebe8efa441b9302a0d7eaecc277c09d20d684540": {
+ "stateDiff": {
+ "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80": "0x21"
+ }
+ }
+ }
+ ],
+ "id": 1
+ }'
+ ```
+
+
+
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/avalanche/_eth_getuseroperationbyhash-request.mdx b/services/reference/_partials/bundler/avalanche/_eth_getuseroperationbyhash-request.mdx
new file mode 100644
index 00000000000..3b3a6eb980d
--- /dev/null
+++ b/services/reference/_partials/bundler/avalanche/_eth_getuseroperationbyhash-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://avalanche-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_getUserOperationByHash",
+ "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/avalanche/_eth_getuseroperationreceipt-request.mdx b/services/reference/_partials/bundler/avalanche/_eth_getuseroperationreceipt-request.mdx
new file mode 100644
index 00000000000..a9df40d2ee9
--- /dev/null
+++ b/services/reference/_partials/bundler/avalanche/_eth_getuseroperationreceipt-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://avalanche-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_getUserOperationReceipt",
+ "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/avalanche/_eth_senduseroperation-request.mdx b/services/reference/_partials/bundler/avalanche/_eth_senduseroperation-request.mdx
new file mode 100644
index 00000000000..8b6b4acee5f
--- /dev/null
+++ b/services/reference/_partials/bundler/avalanche/_eth_senduseroperation-request.mdx
@@ -0,0 +1,39 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://avalanche-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_sendUserOperation",
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419",
+ "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x13880",
+ "verificationGasLimit": "0x60B01",
+ "preVerificationGas": "0xD3E3",
+ "maxPriorityFeePerGas": "0x3B9ACA00",
+ "maxFeePerGas": "0x7A5CF70D5",
+ "paymaster": "0x",
+ "paymasterVerificationGasLimit": "0x0",
+ "paymasterPostOpGasLimit": "0x0",
+ "paymasterData": null,
+ "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ],
+ "id": 1
+ }'
+```
+
+
+
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/avalanche/_eth_supportedentrypoints-request.mdx b/services/reference/_partials/bundler/avalanche/_eth_supportedentrypoints-request.mdx
new file mode 100644
index 00000000000..572ee3f2557
--- /dev/null
+++ b/services/reference/_partials/bundler/avalanche/_eth_supportedentrypoints-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://avalanche-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_supportedEntryPoints",
+ "params": [],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/avalanche/_pimlico_getuseroperationgasprice-request.mdx b/services/reference/_partials/bundler/avalanche/_pimlico_getuseroperationgasprice-request.mdx
new file mode 100644
index 00000000000..348de1f24e1
--- /dev/null
+++ b/services/reference/_partials/bundler/avalanche/_pimlico_getuseroperationgasprice-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://avalanche-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_getUserOperationGasPrice",
+ "params": [],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/avalanche/_pimlico_getuseroperationstatus-request.mdx b/services/reference/_partials/bundler/avalanche/_pimlico_getuseroperationstatus-request.mdx
new file mode 100644
index 00000000000..c0dae43a6fb
--- /dev/null
+++ b/services/reference/_partials/bundler/avalanche/_pimlico_getuseroperationstatus-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://avalanche-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_getUserOperationStatus",
+ "params": ["0x9bd004b8240da8eba3a02190a72be8a70ade8ef4c581b6e59789643c5e642ac3"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/avalanche/_pimlico_simulateassetchanges-request.mdx b/services/reference/_partials/bundler/avalanche/_pimlico_simulateassetchanges-request.mdx
new file mode 100644
index 00000000000..43bd8471f77
--- /dev/null
+++ b/services/reference/_partials/bundler/avalanche/_pimlico_simulateassetchanges-request.mdx
@@ -0,0 +1,35 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```bash
+ curl https://avalanche-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_simulateAssetChanges",
+ "id": 4337,
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x1",
+ "callData": "0x9faf00f4d9c8df66a69fd6242d468aa8a31a439d14fc6c7af3868a06ed392233bc7e39475df25ad2b52bd5e19e1d438277207a415cb4d4ce8ad192464c55ddf1a9559ff900000000000000000000000073da77f0f2daaa88b908413495d3d0e37458212e00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000039946fd82c9c86c9a61bceed86fbdd284590bdd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxFeePerGas": "0x7a5cf70d5",
+ "maxPriorityFeePerGas": "0x3b9aca00",
+ "paymasterVerificationGasLimit": "0x0",
+ "paymasterPostOpGasLimit": "0x0",
+ "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ]
+ }'
+ ```
+
+
+
diff --git a/services/reference/_partials/bundler/base/_eth_estimateuseroperationgas-request.mdx b/services/reference/_partials/bundler/base/_eth_estimateuseroperationgas-request.mdx
new file mode 100644
index 00000000000..2b568945bcc
--- /dev/null
+++ b/services/reference/_partials/bundler/base/_eth_estimateuseroperationgas-request.mdx
@@ -0,0 +1,82 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```bash
+ curl https://base-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_estimateUserOperationGas",
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x845adb2c711129d4f3966735ed98a9f09fc4ce5700000000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419",
+ "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxFeePerGas": "0x7a5cf70d5",
+ "maxPriorityFeePerGas": "0x3b9aca00",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null,
+ "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ],
+ "id": 1
+ }'
+ ```
+
+
+
+
+ ```bash
+ curl https://base-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_estimateUserOperationGas",
+ "params": [
+ {
+ "sender": "0xa203fDb8bC335F86016F635b85389B62B189E417",
+ "nonce": "0x35bf2a054f92f3730b87582ef223c8d663f9eb01158154750000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "callData": "0xb61d27f6000000000000000000000000530fff22987e137e7c8d2adcc4c15eb45b4fa752",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxPriorityFeePerGas": "0x12a05f200",
+ "maxFeePerGas": "0x5b08082fa",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null,
+ "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032",
+ {
+ "0xd9c9cd5f6779558b6e0ed4e6acf6b1947e7fa1f3": {
+ "balance": "0xde0b6b3a7640000"
+ },
+ "0xebe8efa441b9302a0d7eaecc277c09d20d684540": {
+ "stateDiff": {
+ "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80": "0x21"
+ }
+ }
+ }
+ ],
+ "id": 1
+ }'
+ ```
+
+
+
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/base/_eth_getuseroperationbyhash-request.mdx b/services/reference/_partials/bundler/base/_eth_getuseroperationbyhash-request.mdx
new file mode 100644
index 00000000000..af896859f74
--- /dev/null
+++ b/services/reference/_partials/bundler/base/_eth_getuseroperationbyhash-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://base-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_getUserOperationByHash",
+ "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/base/_eth_getuseroperationreceipt-request.mdx b/services/reference/_partials/bundler/base/_eth_getuseroperationreceipt-request.mdx
new file mode 100644
index 00000000000..a44d16586ce
--- /dev/null
+++ b/services/reference/_partials/bundler/base/_eth_getuseroperationreceipt-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://base-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_getUserOperationReceipt",
+ "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/base/_eth_senduseroperation-request.mdx b/services/reference/_partials/bundler/base/_eth_senduseroperation-request.mdx
new file mode 100644
index 00000000000..420f5a681ee
--- /dev/null
+++ b/services/reference/_partials/bundler/base/_eth_senduseroperation-request.mdx
@@ -0,0 +1,39 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://base-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_sendUserOperation",
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419",
+ "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x13880",
+ "verificationGasLimit": "0x60B01",
+ "preVerificationGas": "0xD3E3",
+ "maxPriorityFeePerGas": "0x3B9ACA00",
+ "maxFeePerGas": "0x7A5CF70D5",
+ "paymaster": "0x",
+ "paymasterVerificationGasLimit": "0x0",
+ "paymasterPostOpGasLimit": "0x0",
+ "paymasterData": null,
+ "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ],
+ "id": 1
+ }'
+```
+
+
+
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/base/_eth_supportedentrypoints-request.mdx b/services/reference/_partials/bundler/base/_eth_supportedentrypoints-request.mdx
new file mode 100644
index 00000000000..3c72de39cb6
--- /dev/null
+++ b/services/reference/_partials/bundler/base/_eth_supportedentrypoints-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://base-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_supportedEntryPoints",
+ "params": [],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/base/_pimlico_getuseroperationgasprice-request.mdx b/services/reference/_partials/bundler/base/_pimlico_getuseroperationgasprice-request.mdx
new file mode 100644
index 00000000000..cd9997fbe3b
--- /dev/null
+++ b/services/reference/_partials/bundler/base/_pimlico_getuseroperationgasprice-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://base-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_getUserOperationGasPrice",
+ "params": [],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/base/_pimlico_getuseroperationstatus-request.mdx b/services/reference/_partials/bundler/base/_pimlico_getuseroperationstatus-request.mdx
new file mode 100644
index 00000000000..0bd28487f96
--- /dev/null
+++ b/services/reference/_partials/bundler/base/_pimlico_getuseroperationstatus-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://base-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_getUserOperationStatus",
+ "params": ["0x9bd004b8240da8eba3a02190a72be8a70ade8ef4c581b6e59789643c5e642ac3"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/base/_pimlico_simulateassetchanges-request.mdx b/services/reference/_partials/bundler/base/_pimlico_simulateassetchanges-request.mdx
new file mode 100644
index 00000000000..06e4c1a51e2
--- /dev/null
+++ b/services/reference/_partials/bundler/base/_pimlico_simulateassetchanges-request.mdx
@@ -0,0 +1,35 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```bash
+ curl https://base-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_simulateAssetChanges",
+ "id": 4337,
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x1",
+ "callData": "0x9faf00f4d9c8df66a69fd6242d468aa8a31a439d14fc6c7af3868a06ed392233bc7e39475df25ad2b52bd5e19e1d438277207a415cb4d4ce8ad192464c55ddf1a9559ff900000000000000000000000073da77f0f2daaa88b908413495d3d0e37458212e00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000039946fd82c9c86c9a61bceed86fbdd284590bdd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxFeePerGas": "0x7a5cf70d5",
+ "maxPriorityFeePerGas": "0x3b9aca00",
+ "paymasterVerificationGasLimit": "0x0",
+ "paymasterPostOpGasLimit": "0x0",
+ "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ]
+ }'
+ ```
+
+
+
diff --git a/services/reference/_partials/bundler/blast/_eth_estimateuseroperationgas-request.mdx b/services/reference/_partials/bundler/blast/_eth_estimateuseroperationgas-request.mdx
new file mode 100644
index 00000000000..e921b4a936f
--- /dev/null
+++ b/services/reference/_partials/bundler/blast/_eth_estimateuseroperationgas-request.mdx
@@ -0,0 +1,82 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```bash
+ curl https://blast-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_estimateUserOperationGas",
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x845adb2c711129d4f3966735ed98a9f09fc4ce5700000000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419",
+ "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxFeePerGas": "0x7a5cf70d5",
+ "maxPriorityFeePerGas": "0x3b9aca00",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null,
+ "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ],
+ "id": 1
+ }'
+ ```
+
+
+
+
+ ```bash
+ curl https://blast-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_estimateUserOperationGas",
+ "params": [
+ {
+ "sender": "0xa203fDb8bC335F86016F635b85389B62B189E417",
+ "nonce": "0x35bf2a054f92f3730b87582ef223c8d663f9eb01158154750000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "callData": "0xb61d27f6000000000000000000000000530fff22987e137e7c8d2adcc4c15eb45b4fa752",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxPriorityFeePerGas": "0x12a05f200",
+ "maxFeePerGas": "0x5b08082fa",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null,
+ "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032",
+ {
+ "0xd9c9cd5f6779558b6e0ed4e6acf6b1947e7fa1f3": {
+ "balance": "0xde0b6b3a7640000"
+ },
+ "0xebe8efa441b9302a0d7eaecc277c09d20d684540": {
+ "stateDiff": {
+ "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80": "0x21"
+ }
+ }
+ }
+ ],
+ "id": 1
+ }'
+ ```
+
+
+
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/blast/_eth_getuseroperationbyhash-request.mdx b/services/reference/_partials/bundler/blast/_eth_getuseroperationbyhash-request.mdx
new file mode 100644
index 00000000000..962dfba359a
--- /dev/null
+++ b/services/reference/_partials/bundler/blast/_eth_getuseroperationbyhash-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://blast-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_getUserOperationByHash",
+ "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/blast/_eth_getuseroperationreceipt-request.mdx b/services/reference/_partials/bundler/blast/_eth_getuseroperationreceipt-request.mdx
new file mode 100644
index 00000000000..05df4fee61e
--- /dev/null
+++ b/services/reference/_partials/bundler/blast/_eth_getuseroperationreceipt-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://blast-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_getUserOperationReceipt",
+ "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/blast/_eth_senduseroperation-request.mdx b/services/reference/_partials/bundler/blast/_eth_senduseroperation-request.mdx
new file mode 100644
index 00000000000..a45cef6f69b
--- /dev/null
+++ b/services/reference/_partials/bundler/blast/_eth_senduseroperation-request.mdx
@@ -0,0 +1,39 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://blast-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_sendUserOperation",
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419",
+ "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x13880",
+ "verificationGasLimit": "0x60B01",
+ "preVerificationGas": "0xD3E3",
+ "maxPriorityFeePerGas": "0x3B9ACA00",
+ "maxFeePerGas": "0x7A5CF70D5",
+ "paymaster": "0x",
+ "paymasterVerificationGasLimit": "0x0",
+ "paymasterPostOpGasLimit": "0x0",
+ "paymasterData": null,
+ "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ],
+ "id": 1
+ }'
+```
+
+
+
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/blast/_eth_supportedentrypoints-request.mdx b/services/reference/_partials/bundler/blast/_eth_supportedentrypoints-request.mdx
new file mode 100644
index 00000000000..c9ddffd1828
--- /dev/null
+++ b/services/reference/_partials/bundler/blast/_eth_supportedentrypoints-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://blast-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_supportedEntryPoints",
+ "params": [],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/blast/_pimlico_getuseroperationgasprice-request.mdx b/services/reference/_partials/bundler/blast/_pimlico_getuseroperationgasprice-request.mdx
new file mode 100644
index 00000000000..3510e7fba59
--- /dev/null
+++ b/services/reference/_partials/bundler/blast/_pimlico_getuseroperationgasprice-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://blast-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_getUserOperationGasPrice",
+ "params": [],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/blast/_pimlico_getuseroperationstatus-request.mdx b/services/reference/_partials/bundler/blast/_pimlico_getuseroperationstatus-request.mdx
new file mode 100644
index 00000000000..70fb35f3d88
--- /dev/null
+++ b/services/reference/_partials/bundler/blast/_pimlico_getuseroperationstatus-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://blast-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_getUserOperationStatus",
+ "params": ["0x9bd004b8240da8eba3a02190a72be8a70ade8ef4c581b6e59789643c5e642ac3"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/blast/_pimlico_simulateassetchanges-request.mdx b/services/reference/_partials/bundler/blast/_pimlico_simulateassetchanges-request.mdx
new file mode 100644
index 00000000000..8d7c0b206a3
--- /dev/null
+++ b/services/reference/_partials/bundler/blast/_pimlico_simulateassetchanges-request.mdx
@@ -0,0 +1,35 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```bash
+ curl https://blast-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_simulateAssetChanges",
+ "id": 4337,
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x1",
+ "callData": "0x9faf00f4d9c8df66a69fd6242d468aa8a31a439d14fc6c7af3868a06ed392233bc7e39475df25ad2b52bd5e19e1d438277207a415cb4d4ce8ad192464c55ddf1a9559ff900000000000000000000000073da77f0f2daaa88b908413495d3d0e37458212e00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000039946fd82c9c86c9a61bceed86fbdd284590bdd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxFeePerGas": "0x7a5cf70d5",
+ "maxPriorityFeePerGas": "0x3b9aca00",
+ "paymasterVerificationGasLimit": "0x0",
+ "paymasterPostOpGasLimit": "0x0",
+ "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ]
+ }'
+ ```
+
+
+
diff --git a/services/reference/_partials/bundler/bnb-smart-chain/_eth_estimateuseroperationgas-request.mdx b/services/reference/_partials/bundler/bnb-smart-chain/_eth_estimateuseroperationgas-request.mdx
new file mode 100644
index 00000000000..fe9d23b33dd
--- /dev/null
+++ b/services/reference/_partials/bundler/bnb-smart-chain/_eth_estimateuseroperationgas-request.mdx
@@ -0,0 +1,82 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```bash
+ curl https://bsc-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_estimateUserOperationGas",
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x845adb2c711129d4f3966735ed98a9f09fc4ce5700000000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419",
+ "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxFeePerGas": "0x7a5cf70d5",
+ "maxPriorityFeePerGas": "0x3b9aca00",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null,
+ "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ],
+ "id": 1
+ }'
+ ```
+
+
+
+
+ ```bash
+ curl https://bsc-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_estimateUserOperationGas",
+ "params": [
+ {
+ "sender": "0xa203fDb8bC335F86016F635b85389B62B189E417",
+ "nonce": "0x35bf2a054f92f3730b87582ef223c8d663f9eb01158154750000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "callData": "0xb61d27f6000000000000000000000000530fff22987e137e7c8d2adcc4c15eb45b4fa752",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxPriorityFeePerGas": "0x12a05f200",
+ "maxFeePerGas": "0x5b08082fa",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null,
+ "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032",
+ {
+ "0xd9c9cd5f6779558b6e0ed4e6acf6b1947e7fa1f3": {
+ "balance": "0xde0b6b3a7640000"
+ },
+ "0xebe8efa441b9302a0d7eaecc277c09d20d684540": {
+ "stateDiff": {
+ "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80": "0x21"
+ }
+ }
+ }
+ ],
+ "id": 1
+ }'
+ ```
+
+
+
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/bnb-smart-chain/_eth_getuseroperationbyhash-request.mdx b/services/reference/_partials/bundler/bnb-smart-chain/_eth_getuseroperationbyhash-request.mdx
new file mode 100644
index 00000000000..53f142c5ffd
--- /dev/null
+++ b/services/reference/_partials/bundler/bnb-smart-chain/_eth_getuseroperationbyhash-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://bsc-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_getUserOperationByHash",
+ "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/bnb-smart-chain/_eth_getuseroperationreceipt-request.mdx b/services/reference/_partials/bundler/bnb-smart-chain/_eth_getuseroperationreceipt-request.mdx
new file mode 100644
index 00000000000..ea9fc5077c2
--- /dev/null
+++ b/services/reference/_partials/bundler/bnb-smart-chain/_eth_getuseroperationreceipt-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://bsc-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_getUserOperationReceipt",
+ "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/bnb-smart-chain/_eth_senduseroperation-request.mdx b/services/reference/_partials/bundler/bnb-smart-chain/_eth_senduseroperation-request.mdx
new file mode 100644
index 00000000000..66aedbcc8c3
--- /dev/null
+++ b/services/reference/_partials/bundler/bnb-smart-chain/_eth_senduseroperation-request.mdx
@@ -0,0 +1,39 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://bsc-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_sendUserOperation",
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419",
+ "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x13880",
+ "verificationGasLimit": "0x60B01",
+ "preVerificationGas": "0xD3E3",
+ "maxPriorityFeePerGas": "0x3B9ACA00",
+ "maxFeePerGas": "0x7A5CF70D5",
+ "paymaster": "0x",
+ "paymasterVerificationGasLimit": "0x0",
+ "paymasterPostOpGasLimit": "0x0",
+ "paymasterData": null,
+ "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ],
+ "id": 1
+ }'
+```
+
+
+
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/bnb-smart-chain/_eth_supportedentrypoints-request.mdx b/services/reference/_partials/bundler/bnb-smart-chain/_eth_supportedentrypoints-request.mdx
new file mode 100644
index 00000000000..d97f4c04e47
--- /dev/null
+++ b/services/reference/_partials/bundler/bnb-smart-chain/_eth_supportedentrypoints-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://bsc-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_supportedEntryPoints",
+ "params": [],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/bnb-smart-chain/_pimlico_getuseroperationgasprice-request.mdx b/services/reference/_partials/bundler/bnb-smart-chain/_pimlico_getuseroperationgasprice-request.mdx
new file mode 100644
index 00000000000..ebf448ab79e
--- /dev/null
+++ b/services/reference/_partials/bundler/bnb-smart-chain/_pimlico_getuseroperationgasprice-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://bsc-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_getUserOperationGasPrice",
+ "params": [],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/bnb-smart-chain/_pimlico_getuseroperationstatus-request.mdx b/services/reference/_partials/bundler/bnb-smart-chain/_pimlico_getuseroperationstatus-request.mdx
new file mode 100644
index 00000000000..9a829d1b586
--- /dev/null
+++ b/services/reference/_partials/bundler/bnb-smart-chain/_pimlico_getuseroperationstatus-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://bsc-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_getUserOperationStatus",
+ "params": ["0x9bd004b8240da8eba3a02190a72be8a70ade8ef4c581b6e59789643c5e642ac3"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/bnb-smart-chain/_pimlico_simulateassetchanges-request.mdx b/services/reference/_partials/bundler/bnb-smart-chain/_pimlico_simulateassetchanges-request.mdx
new file mode 100644
index 00000000000..deef1de04ac
--- /dev/null
+++ b/services/reference/_partials/bundler/bnb-smart-chain/_pimlico_simulateassetchanges-request.mdx
@@ -0,0 +1,35 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```bash
+ curl https://bsc-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_simulateAssetChanges",
+ "id": 4337,
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x1",
+ "callData": "0x9faf00f4d9c8df66a69fd6242d468aa8a31a439d14fc6c7af3868a06ed392233bc7e39475df25ad2b52bd5e19e1d438277207a415cb4d4ce8ad192464c55ddf1a9559ff900000000000000000000000073da77f0f2daaa88b908413495d3d0e37458212e00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000039946fd82c9c86c9a61bceed86fbdd284590bdd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxFeePerGas": "0x7a5cf70d5",
+ "maxPriorityFeePerGas": "0x3b9aca00",
+ "paymasterVerificationGasLimit": "0x0",
+ "paymasterPostOpGasLimit": "0x0",
+ "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ]
+ }'
+ ```
+
+
+
diff --git a/services/reference/_partials/bundler/celo/_eth_estimateuseroperationgas-request.mdx b/services/reference/_partials/bundler/celo/_eth_estimateuseroperationgas-request.mdx
new file mode 100644
index 00000000000..9c49760477a
--- /dev/null
+++ b/services/reference/_partials/bundler/celo/_eth_estimateuseroperationgas-request.mdx
@@ -0,0 +1,82 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```bash
+ curl https://celo-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_estimateUserOperationGas",
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x845adb2c711129d4f3966735ed98a9f09fc4ce5700000000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419",
+ "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxFeePerGas": "0x7a5cf70d5",
+ "maxPriorityFeePerGas": "0x3b9aca00",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null,
+ "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ],
+ "id": 1
+ }'
+ ```
+
+
+
+
+ ```bash
+ curl https://celo-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_estimateUserOperationGas",
+ "params": [
+ {
+ "sender": "0xa203fDb8bC335F86016F635b85389B62B189E417",
+ "nonce": "0x35bf2a054f92f3730b87582ef223c8d663f9eb01158154750000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "callData": "0xb61d27f6000000000000000000000000530fff22987e137e7c8d2adcc4c15eb45b4fa752",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxPriorityFeePerGas": "0x12a05f200",
+ "maxFeePerGas": "0x5b08082fa",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null,
+ "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032",
+ {
+ "0xd9c9cd5f6779558b6e0ed4e6acf6b1947e7fa1f3": {
+ "balance": "0xde0b6b3a7640000"
+ },
+ "0xebe8efa441b9302a0d7eaecc277c09d20d684540": {
+ "stateDiff": {
+ "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80": "0x21"
+ }
+ }
+ }
+ ],
+ "id": 1
+ }'
+ ```
+
+
+
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/celo/_eth_getuseroperationbyhash-request.mdx b/services/reference/_partials/bundler/celo/_eth_getuseroperationbyhash-request.mdx
new file mode 100644
index 00000000000..e40911a6b0f
--- /dev/null
+++ b/services/reference/_partials/bundler/celo/_eth_getuseroperationbyhash-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://celo-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_getUserOperationByHash",
+ "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/celo/_eth_getuseroperationreceipt-request.mdx b/services/reference/_partials/bundler/celo/_eth_getuseroperationreceipt-request.mdx
new file mode 100644
index 00000000000..c52358e0d3d
--- /dev/null
+++ b/services/reference/_partials/bundler/celo/_eth_getuseroperationreceipt-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://celo-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_getUserOperationReceipt",
+ "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/celo/_eth_senduseroperation-request.mdx b/services/reference/_partials/bundler/celo/_eth_senduseroperation-request.mdx
new file mode 100644
index 00000000000..a2b6e07dcc5
--- /dev/null
+++ b/services/reference/_partials/bundler/celo/_eth_senduseroperation-request.mdx
@@ -0,0 +1,39 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://celo-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_sendUserOperation",
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419",
+ "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x13880",
+ "verificationGasLimit": "0x60B01",
+ "preVerificationGas": "0xD3E3",
+ "maxPriorityFeePerGas": "0x3B9ACA00",
+ "maxFeePerGas": "0x7A5CF70D5",
+ "paymaster": "0x",
+ "paymasterVerificationGasLimit": "0x0",
+ "paymasterPostOpGasLimit": "0x0",
+ "paymasterData": null,
+ "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ],
+ "id": 1
+ }'
+```
+
+
+
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/celo/_eth_supportedentrypoints-request.mdx b/services/reference/_partials/bundler/celo/_eth_supportedentrypoints-request.mdx
new file mode 100644
index 00000000000..b66e889c2e5
--- /dev/null
+++ b/services/reference/_partials/bundler/celo/_eth_supportedentrypoints-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://celo-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_supportedEntryPoints",
+ "params": [],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/celo/_pimlico_getuseroperationgasprice-request.mdx b/services/reference/_partials/bundler/celo/_pimlico_getuseroperationgasprice-request.mdx
new file mode 100644
index 00000000000..ea2bc860b97
--- /dev/null
+++ b/services/reference/_partials/bundler/celo/_pimlico_getuseroperationgasprice-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://celo-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_getUserOperationGasPrice",
+ "params": [],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/celo/_pimlico_getuseroperationstatus-request.mdx b/services/reference/_partials/bundler/celo/_pimlico_getuseroperationstatus-request.mdx
new file mode 100644
index 00000000000..eb778c9db78
--- /dev/null
+++ b/services/reference/_partials/bundler/celo/_pimlico_getuseroperationstatus-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://celo-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_getUserOperationStatus",
+ "params": ["0x9bd004b8240da8eba3a02190a72be8a70ade8ef4c581b6e59789643c5e642ac3"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/celo/_pimlico_simulateassetchanges-request.mdx b/services/reference/_partials/bundler/celo/_pimlico_simulateassetchanges-request.mdx
new file mode 100644
index 00000000000..bb2d6ed400a
--- /dev/null
+++ b/services/reference/_partials/bundler/celo/_pimlico_simulateassetchanges-request.mdx
@@ -0,0 +1,35 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```bash
+ curl https://celo-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_simulateAssetChanges",
+ "id": 4337,
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x1",
+ "callData": "0x9faf00f4d9c8df66a69fd6242d468aa8a31a439d14fc6c7af3868a06ed392233bc7e39475df25ad2b52bd5e19e1d438277207a415cb4d4ce8ad192464c55ddf1a9559ff900000000000000000000000073da77f0f2daaa88b908413495d3d0e37458212e00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000039946fd82c9c86c9a61bceed86fbdd284590bdd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxFeePerGas": "0x7a5cf70d5",
+ "maxPriorityFeePerGas": "0x3b9aca00",
+ "paymasterVerificationGasLimit": "0x0",
+ "paymasterPostOpGasLimit": "0x0",
+ "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ]
+ }'
+ ```
+
+
+
diff --git a/services/reference/_partials/bundler/linea/_eth_estimateuseroperationgas-request.mdx b/services/reference/_partials/bundler/linea/_eth_estimateuseroperationgas-request.mdx
new file mode 100644
index 00000000000..479db58c5af
--- /dev/null
+++ b/services/reference/_partials/bundler/linea/_eth_estimateuseroperationgas-request.mdx
@@ -0,0 +1,82 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```bash
+ curl https://linea-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_estimateUserOperationGas",
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x845adb2c711129d4f3966735ed98a9f09fc4ce5700000000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419",
+ "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxFeePerGas": "0x7a5cf70d5",
+ "maxPriorityFeePerGas": "0x3b9aca00",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null,
+ "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ],
+ "id": 1
+ }'
+ ```
+
+
+
+
+ ```bash
+ curl https://linea-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_estimateUserOperationGas",
+ "params": [
+ {
+ "sender": "0xa203fDb8bC335F86016F635b85389B62B189E417",
+ "nonce": "0x35bf2a054f92f3730b87582ef223c8d663f9eb01158154750000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "callData": "0xb61d27f6000000000000000000000000530fff22987e137e7c8d2adcc4c15eb45b4fa752",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxPriorityFeePerGas": "0x12a05f200",
+ "maxFeePerGas": "0x5b08082fa",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null,
+ "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032",
+ {
+ "0xd9c9cd5f6779558b6e0ed4e6acf6b1947e7fa1f3": {
+ "balance": "0xde0b6b3a7640000"
+ },
+ "0xebe8efa441b9302a0d7eaecc277c09d20d684540": {
+ "stateDiff": {
+ "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80": "0x21"
+ }
+ }
+ }
+ ],
+ "id": 1
+ }'
+ ```
+
+
+
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/linea/_eth_getuseroperationbyhash-request.mdx b/services/reference/_partials/bundler/linea/_eth_getuseroperationbyhash-request.mdx
new file mode 100644
index 00000000000..ae3cc6628ab
--- /dev/null
+++ b/services/reference/_partials/bundler/linea/_eth_getuseroperationbyhash-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://linea-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_getUserOperationByHash",
+ "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/linea/_eth_getuseroperationreceipt-request.mdx b/services/reference/_partials/bundler/linea/_eth_getuseroperationreceipt-request.mdx
new file mode 100644
index 00000000000..0e64d7f5a07
--- /dev/null
+++ b/services/reference/_partials/bundler/linea/_eth_getuseroperationreceipt-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://linea-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_getUserOperationReceipt",
+ "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/linea/_eth_senduseroperation-request.mdx b/services/reference/_partials/bundler/linea/_eth_senduseroperation-request.mdx
new file mode 100644
index 00000000000..c77062fd64c
--- /dev/null
+++ b/services/reference/_partials/bundler/linea/_eth_senduseroperation-request.mdx
@@ -0,0 +1,39 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://linea-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_sendUserOperation",
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419",
+ "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x13880",
+ "verificationGasLimit": "0x60B01",
+ "preVerificationGas": "0xD3E3",
+ "maxPriorityFeePerGas": "0x3B9ACA00",
+ "maxFeePerGas": "0x7A5CF70D5",
+ "paymaster": "0x",
+ "paymasterVerificationGasLimit": "0x0",
+ "paymasterPostOpGasLimit": "0x0",
+ "paymasterData": null,
+ "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ],
+ "id": 1
+ }'
+```
+
+
+
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/linea/_eth_supportedentrypoints-request.mdx b/services/reference/_partials/bundler/linea/_eth_supportedentrypoints-request.mdx
new file mode 100644
index 00000000000..6e44f629dda
--- /dev/null
+++ b/services/reference/_partials/bundler/linea/_eth_supportedentrypoints-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://linea-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_supportedEntryPoints",
+ "params": [],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/linea/_pimlico_getuseroperationgasprice-request.mdx b/services/reference/_partials/bundler/linea/_pimlico_getuseroperationgasprice-request.mdx
new file mode 100644
index 00000000000..22280b0aeeb
--- /dev/null
+++ b/services/reference/_partials/bundler/linea/_pimlico_getuseroperationgasprice-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://linea-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_getUserOperationGasPrice",
+ "params": [],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/linea/_pimlico_getuseroperationstatus-request.mdx b/services/reference/_partials/bundler/linea/_pimlico_getuseroperationstatus-request.mdx
new file mode 100644
index 00000000000..fec7622bdb3
--- /dev/null
+++ b/services/reference/_partials/bundler/linea/_pimlico_getuseroperationstatus-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://linea-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_getUserOperationStatus",
+ "params": ["0x9bd004b8240da8eba3a02190a72be8a70ade8ef4c581b6e59789643c5e642ac3"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/linea/_pimlico_simulateassetchanges-request.mdx b/services/reference/_partials/bundler/linea/_pimlico_simulateassetchanges-request.mdx
new file mode 100644
index 00000000000..1c272ae3e75
--- /dev/null
+++ b/services/reference/_partials/bundler/linea/_pimlico_simulateassetchanges-request.mdx
@@ -0,0 +1,35 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```bash
+ curl https://linea-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_simulateAssetChanges",
+ "id": 4337,
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x1",
+ "callData": "0x9faf00f4d9c8df66a69fd6242d468aa8a31a439d14fc6c7af3868a06ed392233bc7e39475df25ad2b52bd5e19e1d438277207a415cb4d4ce8ad192464c55ddf1a9559ff900000000000000000000000073da77f0f2daaa88b908413495d3d0e37458212e00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000039946fd82c9c86c9a61bceed86fbdd284590bdd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxFeePerGas": "0x7a5cf70d5",
+ "maxPriorityFeePerGas": "0x3b9aca00",
+ "paymasterVerificationGasLimit": "0x0",
+ "paymasterPostOpGasLimit": "0x0",
+ "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ]
+ }'
+ ```
+
+
+
diff --git a/services/reference/_partials/bundler/mantle/_eth_estimateuseroperationgas-request.mdx b/services/reference/_partials/bundler/mantle/_eth_estimateuseroperationgas-request.mdx
new file mode 100644
index 00000000000..211f8629ac4
--- /dev/null
+++ b/services/reference/_partials/bundler/mantle/_eth_estimateuseroperationgas-request.mdx
@@ -0,0 +1,82 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```bash
+ curl https://mantle-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_estimateUserOperationGas",
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x845adb2c711129d4f3966735ed98a9f09fc4ce5700000000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419",
+ "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxFeePerGas": "0x7a5cf70d5",
+ "maxPriorityFeePerGas": "0x3b9aca00",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null,
+ "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ],
+ "id": 1
+ }'
+ ```
+
+
+
+
+ ```bash
+ curl https://mantle-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_estimateUserOperationGas",
+ "params": [
+ {
+ "sender": "0xa203fDb8bC335F86016F635b85389B62B189E417",
+ "nonce": "0x35bf2a054f92f3730b87582ef223c8d663f9eb01158154750000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "callData": "0xb61d27f6000000000000000000000000530fff22987e137e7c8d2adcc4c15eb45b4fa752",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxPriorityFeePerGas": "0x12a05f200",
+ "maxFeePerGas": "0x5b08082fa",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null,
+ "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032",
+ {
+ "0xd9c9cd5f6779558b6e0ed4e6acf6b1947e7fa1f3": {
+ "balance": "0xde0b6b3a7640000"
+ },
+ "0xebe8efa441b9302a0d7eaecc277c09d20d684540": {
+ "stateDiff": {
+ "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80": "0x21"
+ }
+ }
+ }
+ ],
+ "id": 1
+ }'
+ ```
+
+
+
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/mantle/_eth_getuseroperationbyhash-request.mdx b/services/reference/_partials/bundler/mantle/_eth_getuseroperationbyhash-request.mdx
new file mode 100644
index 00000000000..fbf71183919
--- /dev/null
+++ b/services/reference/_partials/bundler/mantle/_eth_getuseroperationbyhash-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://mantle-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_getUserOperationByHash",
+ "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/mantle/_eth_getuseroperationreceipt-request.mdx b/services/reference/_partials/bundler/mantle/_eth_getuseroperationreceipt-request.mdx
new file mode 100644
index 00000000000..0dd49b211f1
--- /dev/null
+++ b/services/reference/_partials/bundler/mantle/_eth_getuseroperationreceipt-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://mantle-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_getUserOperationReceipt",
+ "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/mantle/_eth_senduseroperation-request.mdx b/services/reference/_partials/bundler/mantle/_eth_senduseroperation-request.mdx
new file mode 100644
index 00000000000..c4aca6aed11
--- /dev/null
+++ b/services/reference/_partials/bundler/mantle/_eth_senduseroperation-request.mdx
@@ -0,0 +1,39 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://mantle-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_sendUserOperation",
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419",
+ "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x13880",
+ "verificationGasLimit": "0x60B01",
+ "preVerificationGas": "0xD3E3",
+ "maxPriorityFeePerGas": "0x3B9ACA00",
+ "maxFeePerGas": "0x7A5CF70D5",
+ "paymaster": "0x",
+ "paymasterVerificationGasLimit": "0x0",
+ "paymasterPostOpGasLimit": "0x0",
+ "paymasterData": null,
+ "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ],
+ "id": 1
+ }'
+```
+
+
+
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/mantle/_eth_supportedentrypoints-request.mdx b/services/reference/_partials/bundler/mantle/_eth_supportedentrypoints-request.mdx
new file mode 100644
index 00000000000..548666a980b
--- /dev/null
+++ b/services/reference/_partials/bundler/mantle/_eth_supportedentrypoints-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://mantle-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_supportedEntryPoints",
+ "params": [],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/mantle/_pimlico_getuseroperationgasprice-request.mdx b/services/reference/_partials/bundler/mantle/_pimlico_getuseroperationgasprice-request.mdx
new file mode 100644
index 00000000000..a3cd2978fde
--- /dev/null
+++ b/services/reference/_partials/bundler/mantle/_pimlico_getuseroperationgasprice-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://mantle-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_getUserOperationGasPrice",
+ "params": [],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/mantle/_pimlico_getuseroperationstatus-request.mdx b/services/reference/_partials/bundler/mantle/_pimlico_getuseroperationstatus-request.mdx
new file mode 100644
index 00000000000..7647023a0d0
--- /dev/null
+++ b/services/reference/_partials/bundler/mantle/_pimlico_getuseroperationstatus-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://mantle-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_getUserOperationStatus",
+ "params": ["0x9bd004b8240da8eba3a02190a72be8a70ade8ef4c581b6e59789643c5e642ac3"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/mantle/_pimlico_simulateassetchanges-request.mdx b/services/reference/_partials/bundler/mantle/_pimlico_simulateassetchanges-request.mdx
new file mode 100644
index 00000000000..751edb84a4f
--- /dev/null
+++ b/services/reference/_partials/bundler/mantle/_pimlico_simulateassetchanges-request.mdx
@@ -0,0 +1,35 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```bash
+ curl https://mantle-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_simulateAssetChanges",
+ "id": 4337,
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x1",
+ "callData": "0x9faf00f4d9c8df66a69fd6242d468aa8a31a439d14fc6c7af3868a06ed392233bc7e39475df25ad2b52bd5e19e1d438277207a415cb4d4ce8ad192464c55ddf1a9559ff900000000000000000000000073da77f0f2daaa88b908413495d3d0e37458212e00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000039946fd82c9c86c9a61bceed86fbdd284590bdd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxFeePerGas": "0x7a5cf70d5",
+ "maxPriorityFeePerGas": "0x3b9aca00",
+ "paymasterVerificationGasLimit": "0x0",
+ "paymasterPostOpGasLimit": "0x0",
+ "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ]
+ }'
+ ```
+
+
+
diff --git a/services/reference/_partials/bundler/opbnb/_eth_estimateuseroperationgas-request.mdx b/services/reference/_partials/bundler/opbnb/_eth_estimateuseroperationgas-request.mdx
new file mode 100644
index 00000000000..9eee9da9fdc
--- /dev/null
+++ b/services/reference/_partials/bundler/opbnb/_eth_estimateuseroperationgas-request.mdx
@@ -0,0 +1,82 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```bash
+ curl https://opbnb-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_estimateUserOperationGas",
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x845adb2c711129d4f3966735ed98a9f09fc4ce5700000000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419",
+ "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxFeePerGas": "0x7a5cf70d5",
+ "maxPriorityFeePerGas": "0x3b9aca00",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null,
+ "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ],
+ "id": 1
+ }'
+ ```
+
+
+
+
+ ```bash
+ curl https://opbnb-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_estimateUserOperationGas",
+ "params": [
+ {
+ "sender": "0xa203fDb8bC335F86016F635b85389B62B189E417",
+ "nonce": "0x35bf2a054f92f3730b87582ef223c8d663f9eb01158154750000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "callData": "0xb61d27f6000000000000000000000000530fff22987e137e7c8d2adcc4c15eb45b4fa752",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxPriorityFeePerGas": "0x12a05f200",
+ "maxFeePerGas": "0x5b08082fa",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null,
+ "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032",
+ {
+ "0xd9c9cd5f6779558b6e0ed4e6acf6b1947e7fa1f3": {
+ "balance": "0xde0b6b3a7640000"
+ },
+ "0xebe8efa441b9302a0d7eaecc277c09d20d684540": {
+ "stateDiff": {
+ "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80": "0x21"
+ }
+ }
+ }
+ ],
+ "id": 1
+ }'
+ ```
+
+
+
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/opbnb/_eth_getuseroperationbyhash-request.mdx b/services/reference/_partials/bundler/opbnb/_eth_getuseroperationbyhash-request.mdx
new file mode 100644
index 00000000000..73955569d54
--- /dev/null
+++ b/services/reference/_partials/bundler/opbnb/_eth_getuseroperationbyhash-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://opbnb-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_getUserOperationByHash",
+ "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/opbnb/_eth_getuseroperationreceipt-request.mdx b/services/reference/_partials/bundler/opbnb/_eth_getuseroperationreceipt-request.mdx
new file mode 100644
index 00000000000..af57d04609a
--- /dev/null
+++ b/services/reference/_partials/bundler/opbnb/_eth_getuseroperationreceipt-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://opbnb-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_getUserOperationReceipt",
+ "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/opbnb/_eth_senduseroperation-request.mdx b/services/reference/_partials/bundler/opbnb/_eth_senduseroperation-request.mdx
new file mode 100644
index 00000000000..904030d4fbf
--- /dev/null
+++ b/services/reference/_partials/bundler/opbnb/_eth_senduseroperation-request.mdx
@@ -0,0 +1,39 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://opbnb-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_sendUserOperation",
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419",
+ "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x13880",
+ "verificationGasLimit": "0x60B01",
+ "preVerificationGas": "0xD3E3",
+ "maxPriorityFeePerGas": "0x3B9ACA00",
+ "maxFeePerGas": "0x7A5CF70D5",
+ "paymaster": "0x",
+ "paymasterVerificationGasLimit": "0x0",
+ "paymasterPostOpGasLimit": "0x0",
+ "paymasterData": null,
+ "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ],
+ "id": 1
+ }'
+```
+
+
+
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/opbnb/_eth_supportedentrypoints-request.mdx b/services/reference/_partials/bundler/opbnb/_eth_supportedentrypoints-request.mdx
new file mode 100644
index 00000000000..17f66f70363
--- /dev/null
+++ b/services/reference/_partials/bundler/opbnb/_eth_supportedentrypoints-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://opbnb-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_supportedEntryPoints",
+ "params": [],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/opbnb/_pimlico_getuseroperationgasprice-request.mdx b/services/reference/_partials/bundler/opbnb/_pimlico_getuseroperationgasprice-request.mdx
new file mode 100644
index 00000000000..82037b48c24
--- /dev/null
+++ b/services/reference/_partials/bundler/opbnb/_pimlico_getuseroperationgasprice-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://opbnb-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_getUserOperationGasPrice",
+ "params": [],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/opbnb/_pimlico_getuseroperationstatus-request.mdx b/services/reference/_partials/bundler/opbnb/_pimlico_getuseroperationstatus-request.mdx
new file mode 100644
index 00000000000..5d4915deddf
--- /dev/null
+++ b/services/reference/_partials/bundler/opbnb/_pimlico_getuseroperationstatus-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://opbnb-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_getUserOperationStatus",
+ "params": ["0x9bd004b8240da8eba3a02190a72be8a70ade8ef4c581b6e59789643c5e642ac3"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/opbnb/_pimlico_simulateassetchanges-request.mdx b/services/reference/_partials/bundler/opbnb/_pimlico_simulateassetchanges-request.mdx
new file mode 100644
index 00000000000..fe99a3a7740
--- /dev/null
+++ b/services/reference/_partials/bundler/opbnb/_pimlico_simulateassetchanges-request.mdx
@@ -0,0 +1,35 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```bash
+ curl https://opbnb-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_simulateAssetChanges",
+ "id": 4337,
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x1",
+ "callData": "0x9faf00f4d9c8df66a69fd6242d468aa8a31a439d14fc6c7af3868a06ed392233bc7e39475df25ad2b52bd5e19e1d438277207a415cb4d4ce8ad192464c55ddf1a9559ff900000000000000000000000073da77f0f2daaa88b908413495d3d0e37458212e00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000039946fd82c9c86c9a61bceed86fbdd284590bdd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxFeePerGas": "0x7a5cf70d5",
+ "maxPriorityFeePerGas": "0x3b9aca00",
+ "paymasterVerificationGasLimit": "0x0",
+ "paymasterPostOpGasLimit": "0x0",
+ "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ]
+ }'
+ ```
+
+
+
diff --git a/services/reference/_partials/bundler/optimism/_eth_estimateuseroperationgas-request.mdx b/services/reference/_partials/bundler/optimism/_eth_estimateuseroperationgas-request.mdx
new file mode 100644
index 00000000000..958b09b18cd
--- /dev/null
+++ b/services/reference/_partials/bundler/optimism/_eth_estimateuseroperationgas-request.mdx
@@ -0,0 +1,82 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```bash
+ curl https://optimism-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_estimateUserOperationGas",
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x845adb2c711129d4f3966735ed98a9f09fc4ce5700000000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419",
+ "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxFeePerGas": "0x7a5cf70d5",
+ "maxPriorityFeePerGas": "0x3b9aca00",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null,
+ "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ],
+ "id": 1
+ }'
+ ```
+
+
+
+
+ ```bash
+ curl https://optimism-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_estimateUserOperationGas",
+ "params": [
+ {
+ "sender": "0xa203fDb8bC335F86016F635b85389B62B189E417",
+ "nonce": "0x35bf2a054f92f3730b87582ef223c8d663f9eb01158154750000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "callData": "0xb61d27f6000000000000000000000000530fff22987e137e7c8d2adcc4c15eb45b4fa752",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxPriorityFeePerGas": "0x12a05f200",
+ "maxFeePerGas": "0x5b08082fa",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null,
+ "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032",
+ {
+ "0xd9c9cd5f6779558b6e0ed4e6acf6b1947e7fa1f3": {
+ "balance": "0xde0b6b3a7640000"
+ },
+ "0xebe8efa441b9302a0d7eaecc277c09d20d684540": {
+ "stateDiff": {
+ "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80": "0x21"
+ }
+ }
+ }
+ ],
+ "id": 1
+ }'
+ ```
+
+
+
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/optimism/_eth_getuseroperationbyhash-request.mdx b/services/reference/_partials/bundler/optimism/_eth_getuseroperationbyhash-request.mdx
new file mode 100644
index 00000000000..e8238ff1842
--- /dev/null
+++ b/services/reference/_partials/bundler/optimism/_eth_getuseroperationbyhash-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://optimism-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_getUserOperationByHash",
+ "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/optimism/_eth_getuseroperationreceipt-request.mdx b/services/reference/_partials/bundler/optimism/_eth_getuseroperationreceipt-request.mdx
new file mode 100644
index 00000000000..2413670d273
--- /dev/null
+++ b/services/reference/_partials/bundler/optimism/_eth_getuseroperationreceipt-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://optimism-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_getUserOperationReceipt",
+ "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/optimism/_eth_senduseroperation-request.mdx b/services/reference/_partials/bundler/optimism/_eth_senduseroperation-request.mdx
new file mode 100644
index 00000000000..843e1666944
--- /dev/null
+++ b/services/reference/_partials/bundler/optimism/_eth_senduseroperation-request.mdx
@@ -0,0 +1,39 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://optimism-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_sendUserOperation",
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419",
+ "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x13880",
+ "verificationGasLimit": "0x60B01",
+ "preVerificationGas": "0xD3E3",
+ "maxPriorityFeePerGas": "0x3B9ACA00",
+ "maxFeePerGas": "0x7A5CF70D5",
+ "paymaster": "0x",
+ "paymasterVerificationGasLimit": "0x0",
+ "paymasterPostOpGasLimit": "0x0",
+ "paymasterData": null,
+ "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ],
+ "id": 1
+ }'
+```
+
+
+
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/optimism/_eth_supportedentrypoints-request.mdx b/services/reference/_partials/bundler/optimism/_eth_supportedentrypoints-request.mdx
new file mode 100644
index 00000000000..17ed510e4a1
--- /dev/null
+++ b/services/reference/_partials/bundler/optimism/_eth_supportedentrypoints-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://optimism-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_supportedEntryPoints",
+ "params": [],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/optimism/_pimlico_getuseroperationgasprice-request.mdx b/services/reference/_partials/bundler/optimism/_pimlico_getuseroperationgasprice-request.mdx
new file mode 100644
index 00000000000..92039d352be
--- /dev/null
+++ b/services/reference/_partials/bundler/optimism/_pimlico_getuseroperationgasprice-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://optimism-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_getUserOperationGasPrice",
+ "params": [],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/optimism/_pimlico_getuseroperationstatus-request.mdx b/services/reference/_partials/bundler/optimism/_pimlico_getuseroperationstatus-request.mdx
new file mode 100644
index 00000000000..8787de76ee7
--- /dev/null
+++ b/services/reference/_partials/bundler/optimism/_pimlico_getuseroperationstatus-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://optimism-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_getUserOperationStatus",
+ "params": ["0x9bd004b8240da8eba3a02190a72be8a70ade8ef4c581b6e59789643c5e642ac3"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/optimism/_pimlico_simulateassetchanges-request.mdx b/services/reference/_partials/bundler/optimism/_pimlico_simulateassetchanges-request.mdx
new file mode 100644
index 00000000000..870b94ea11e
--- /dev/null
+++ b/services/reference/_partials/bundler/optimism/_pimlico_simulateassetchanges-request.mdx
@@ -0,0 +1,35 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```bash
+ curl https://optimism-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_simulateAssetChanges",
+ "id": 4337,
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x1",
+ "callData": "0x9faf00f4d9c8df66a69fd6242d468aa8a31a439d14fc6c7af3868a06ed392233bc7e39475df25ad2b52bd5e19e1d438277207a415cb4d4ce8ad192464c55ddf1a9559ff900000000000000000000000073da77f0f2daaa88b908413495d3d0e37458212e00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000039946fd82c9c86c9a61bceed86fbdd284590bdd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxFeePerGas": "0x7a5cf70d5",
+ "maxPriorityFeePerGas": "0x3b9aca00",
+ "paymasterVerificationGasLimit": "0x0",
+ "paymasterPostOpGasLimit": "0x0",
+ "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ]
+ }'
+ ```
+
+
+
diff --git a/services/reference/_partials/bundler/polygon/_eth_estimateuseroperationgas-request.mdx b/services/reference/_partials/bundler/polygon/_eth_estimateuseroperationgas-request.mdx
new file mode 100644
index 00000000000..44b43e14538
--- /dev/null
+++ b/services/reference/_partials/bundler/polygon/_eth_estimateuseroperationgas-request.mdx
@@ -0,0 +1,82 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```bash
+ curl https://polygon-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_estimateUserOperationGas",
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x845adb2c711129d4f3966735ed98a9f09fc4ce5700000000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419",
+ "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxFeePerGas": "0x7a5cf70d5",
+ "maxPriorityFeePerGas": "0x3b9aca00",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null,
+ "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ],
+ "id": 1
+ }'
+ ```
+
+
+
+
+ ```bash
+ curl https://polygon-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_estimateUserOperationGas",
+ "params": [
+ {
+ "sender": "0xa203fDb8bC335F86016F635b85389B62B189E417",
+ "nonce": "0x35bf2a054f92f3730b87582ef223c8d663f9eb01158154750000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "callData": "0xb61d27f6000000000000000000000000530fff22987e137e7c8d2adcc4c15eb45b4fa752",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxPriorityFeePerGas": "0x12a05f200",
+ "maxFeePerGas": "0x5b08082fa",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null,
+ "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032",
+ {
+ "0xd9c9cd5f6779558b6e0ed4e6acf6b1947e7fa1f3": {
+ "balance": "0xde0b6b3a7640000"
+ },
+ "0xebe8efa441b9302a0d7eaecc277c09d20d684540": {
+ "stateDiff": {
+ "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80": "0x21"
+ }
+ }
+ }
+ ],
+ "id": 1
+ }'
+ ```
+
+
+
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/polygon/_eth_getuseroperationbyhash-request.mdx b/services/reference/_partials/bundler/polygon/_eth_getuseroperationbyhash-request.mdx
new file mode 100644
index 00000000000..48ae7fcebd2
--- /dev/null
+++ b/services/reference/_partials/bundler/polygon/_eth_getuseroperationbyhash-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://polygon-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_getUserOperationByHash",
+ "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/polygon/_eth_getuseroperationreceipt-request.mdx b/services/reference/_partials/bundler/polygon/_eth_getuseroperationreceipt-request.mdx
new file mode 100644
index 00000000000..b247657f7b3
--- /dev/null
+++ b/services/reference/_partials/bundler/polygon/_eth_getuseroperationreceipt-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://polygon-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_getUserOperationReceipt",
+ "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/polygon/_eth_senduseroperation-request.mdx b/services/reference/_partials/bundler/polygon/_eth_senduseroperation-request.mdx
new file mode 100644
index 00000000000..c285e8ec098
--- /dev/null
+++ b/services/reference/_partials/bundler/polygon/_eth_senduseroperation-request.mdx
@@ -0,0 +1,39 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://polygon-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_sendUserOperation",
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419",
+ "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x13880",
+ "verificationGasLimit": "0x60B01",
+ "preVerificationGas": "0xD3E3",
+ "maxPriorityFeePerGas": "0x3B9ACA00",
+ "maxFeePerGas": "0x7A5CF70D5",
+ "paymaster": "0x",
+ "paymasterVerificationGasLimit": "0x0",
+ "paymasterPostOpGasLimit": "0x0",
+ "paymasterData": null,
+ "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ],
+ "id": 1
+ }'
+```
+
+
+
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/polygon/_eth_supportedentrypoints-request.mdx b/services/reference/_partials/bundler/polygon/_eth_supportedentrypoints-request.mdx
new file mode 100644
index 00000000000..fb728b0f480
--- /dev/null
+++ b/services/reference/_partials/bundler/polygon/_eth_supportedentrypoints-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://polygon-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_supportedEntryPoints",
+ "params": [],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/polygon/_pimlico_getuseroperationgasprice-request.mdx b/services/reference/_partials/bundler/polygon/_pimlico_getuseroperationgasprice-request.mdx
new file mode 100644
index 00000000000..ff047599d77
--- /dev/null
+++ b/services/reference/_partials/bundler/polygon/_pimlico_getuseroperationgasprice-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://polygon-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_getUserOperationGasPrice",
+ "params": [],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/polygon/_pimlico_getuseroperationstatus-request.mdx b/services/reference/_partials/bundler/polygon/_pimlico_getuseroperationstatus-request.mdx
new file mode 100644
index 00000000000..b298b5870e7
--- /dev/null
+++ b/services/reference/_partials/bundler/polygon/_pimlico_getuseroperationstatus-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://polygon-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_getUserOperationStatus",
+ "params": ["0x9bd004b8240da8eba3a02190a72be8a70ade8ef4c581b6e59789643c5e642ac3"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/polygon/_pimlico_simulateassetchanges-request.mdx b/services/reference/_partials/bundler/polygon/_pimlico_simulateassetchanges-request.mdx
new file mode 100644
index 00000000000..6d5370820f2
--- /dev/null
+++ b/services/reference/_partials/bundler/polygon/_pimlico_simulateassetchanges-request.mdx
@@ -0,0 +1,35 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```bash
+ curl https://polygon-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_simulateAssetChanges",
+ "id": 4337,
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x1",
+ "callData": "0x9faf00f4d9c8df66a69fd6242d468aa8a31a439d14fc6c7af3868a06ed392233bc7e39475df25ad2b52bd5e19e1d438277207a415cb4d4ce8ad192464c55ddf1a9559ff900000000000000000000000073da77f0f2daaa88b908413495d3d0e37458212e00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000039946fd82c9c86c9a61bceed86fbdd284590bdd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxFeePerGas": "0x7a5cf70d5",
+ "maxPriorityFeePerGas": "0x3b9aca00",
+ "paymasterVerificationGasLimit": "0x0",
+ "paymasterPostOpGasLimit": "0x0",
+ "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ]
+ }'
+ ```
+
+
+
diff --git a/services/reference/_partials/bundler/scroll/_eth_estimateuseroperationgas-request.mdx b/services/reference/_partials/bundler/scroll/_eth_estimateuseroperationgas-request.mdx
new file mode 100644
index 00000000000..819ed17cd14
--- /dev/null
+++ b/services/reference/_partials/bundler/scroll/_eth_estimateuseroperationgas-request.mdx
@@ -0,0 +1,82 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```bash
+ curl https://scroll-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_estimateUserOperationGas",
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x845adb2c711129d4f3966735ed98a9f09fc4ce5700000000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419",
+ "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxFeePerGas": "0x7a5cf70d5",
+ "maxPriorityFeePerGas": "0x3b9aca00",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null,
+ "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ],
+ "id": 1
+ }'
+ ```
+
+
+
+
+ ```bash
+ curl https://scroll-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_estimateUserOperationGas",
+ "params": [
+ {
+ "sender": "0xa203fDb8bC335F86016F635b85389B62B189E417",
+ "nonce": "0x35bf2a054f92f3730b87582ef223c8d663f9eb01158154750000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "callData": "0xb61d27f6000000000000000000000000530fff22987e137e7c8d2adcc4c15eb45b4fa752",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxPriorityFeePerGas": "0x12a05f200",
+ "maxFeePerGas": "0x5b08082fa",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null,
+ "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032",
+ {
+ "0xd9c9cd5f6779558b6e0ed4e6acf6b1947e7fa1f3": {
+ "balance": "0xde0b6b3a7640000"
+ },
+ "0xebe8efa441b9302a0d7eaecc277c09d20d684540": {
+ "stateDiff": {
+ "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80": "0x21"
+ }
+ }
+ }
+ ],
+ "id": 1
+ }'
+ ```
+
+
+
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/scroll/_eth_getuseroperationbyhash-request.mdx b/services/reference/_partials/bundler/scroll/_eth_getuseroperationbyhash-request.mdx
new file mode 100644
index 00000000000..200b3bce1bf
--- /dev/null
+++ b/services/reference/_partials/bundler/scroll/_eth_getuseroperationbyhash-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://scroll-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_getUserOperationByHash",
+ "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/scroll/_eth_getuseroperationreceipt-request.mdx b/services/reference/_partials/bundler/scroll/_eth_getuseroperationreceipt-request.mdx
new file mode 100644
index 00000000000..04e20a816f6
--- /dev/null
+++ b/services/reference/_partials/bundler/scroll/_eth_getuseroperationreceipt-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://scroll-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_getUserOperationReceipt",
+ "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/scroll/_eth_senduseroperation-request.mdx b/services/reference/_partials/bundler/scroll/_eth_senduseroperation-request.mdx
new file mode 100644
index 00000000000..89317cbf06f
--- /dev/null
+++ b/services/reference/_partials/bundler/scroll/_eth_senduseroperation-request.mdx
@@ -0,0 +1,39 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://scroll-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_sendUserOperation",
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419",
+ "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x13880",
+ "verificationGasLimit": "0x60B01",
+ "preVerificationGas": "0xD3E3",
+ "maxPriorityFeePerGas": "0x3B9ACA00",
+ "maxFeePerGas": "0x7A5CF70D5",
+ "paymaster": "0x",
+ "paymasterVerificationGasLimit": "0x0",
+ "paymasterPostOpGasLimit": "0x0",
+ "paymasterData": null,
+ "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ],
+ "id": 1
+ }'
+```
+
+
+
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/scroll/_eth_supportedentrypoints-request.mdx b/services/reference/_partials/bundler/scroll/_eth_supportedentrypoints-request.mdx
new file mode 100644
index 00000000000..c04b2c058e1
--- /dev/null
+++ b/services/reference/_partials/bundler/scroll/_eth_supportedentrypoints-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://scroll-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_supportedEntryPoints",
+ "params": [],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/scroll/_pimlico_getuseroperationgasprice-request.mdx b/services/reference/_partials/bundler/scroll/_pimlico_getuseroperationgasprice-request.mdx
new file mode 100644
index 00000000000..91dc970eea5
--- /dev/null
+++ b/services/reference/_partials/bundler/scroll/_pimlico_getuseroperationgasprice-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://scroll-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_getUserOperationGasPrice",
+ "params": [],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/scroll/_pimlico_getuseroperationstatus-request.mdx b/services/reference/_partials/bundler/scroll/_pimlico_getuseroperationstatus-request.mdx
new file mode 100644
index 00000000000..4029c4cd774
--- /dev/null
+++ b/services/reference/_partials/bundler/scroll/_pimlico_getuseroperationstatus-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://scroll-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_getUserOperationStatus",
+ "params": ["0x9bd004b8240da8eba3a02190a72be8a70ade8ef4c581b6e59789643c5e642ac3"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/scroll/_pimlico_simulateassetchanges-request.mdx b/services/reference/_partials/bundler/scroll/_pimlico_simulateassetchanges-request.mdx
new file mode 100644
index 00000000000..0220299fb1a
--- /dev/null
+++ b/services/reference/_partials/bundler/scroll/_pimlico_simulateassetchanges-request.mdx
@@ -0,0 +1,35 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```bash
+ curl https://scroll-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_simulateAssetChanges",
+ "id": 4337,
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x1",
+ "callData": "0x9faf00f4d9c8df66a69fd6242d468aa8a31a439d14fc6c7af3868a06ed392233bc7e39475df25ad2b52bd5e19e1d438277207a415cb4d4ce8ad192464c55ddf1a9559ff900000000000000000000000073da77f0f2daaa88b908413495d3d0e37458212e00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000039946fd82c9c86c9a61bceed86fbdd284590bdd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxFeePerGas": "0x7a5cf70d5",
+ "maxPriorityFeePerGas": "0x3b9aca00",
+ "paymasterVerificationGasLimit": "0x0",
+ "paymasterPostOpGasLimit": "0x0",
+ "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ]
+ }'
+ ```
+
+
+
diff --git a/services/reference/_partials/bundler/sei/_eth_estimateuseroperationgas-request.mdx b/services/reference/_partials/bundler/sei/_eth_estimateuseroperationgas-request.mdx
new file mode 100644
index 00000000000..11f773faa82
--- /dev/null
+++ b/services/reference/_partials/bundler/sei/_eth_estimateuseroperationgas-request.mdx
@@ -0,0 +1,82 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```bash
+ curl https://sei-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_estimateUserOperationGas",
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x845adb2c711129d4f3966735ed98a9f09fc4ce5700000000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419",
+ "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxFeePerGas": "0x7a5cf70d5",
+ "maxPriorityFeePerGas": "0x3b9aca00",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null,
+ "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ],
+ "id": 1
+ }'
+ ```
+
+
+
+
+ ```bash
+ curl https://sei-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_estimateUserOperationGas",
+ "params": [
+ {
+ "sender": "0xa203fDb8bC335F86016F635b85389B62B189E417",
+ "nonce": "0x35bf2a054f92f3730b87582ef223c8d663f9eb01158154750000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "callData": "0xb61d27f6000000000000000000000000530fff22987e137e7c8d2adcc4c15eb45b4fa752",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxPriorityFeePerGas": "0x12a05f200",
+ "maxFeePerGas": "0x5b08082fa",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null,
+ "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032",
+ {
+ "0xd9c9cd5f6779558b6e0ed4e6acf6b1947e7fa1f3": {
+ "balance": "0xde0b6b3a7640000"
+ },
+ "0xebe8efa441b9302a0d7eaecc277c09d20d684540": {
+ "stateDiff": {
+ "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80": "0x21"
+ }
+ }
+ }
+ ],
+ "id": 1
+ }'
+ ```
+
+
+
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/sei/_eth_getuseroperationbyhash-request.mdx b/services/reference/_partials/bundler/sei/_eth_getuseroperationbyhash-request.mdx
new file mode 100644
index 00000000000..bd9c2d91142
--- /dev/null
+++ b/services/reference/_partials/bundler/sei/_eth_getuseroperationbyhash-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://sei-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_getUserOperationByHash",
+ "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/sei/_eth_getuseroperationreceipt-request.mdx b/services/reference/_partials/bundler/sei/_eth_getuseroperationreceipt-request.mdx
new file mode 100644
index 00000000000..c5490d7526b
--- /dev/null
+++ b/services/reference/_partials/bundler/sei/_eth_getuseroperationreceipt-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://sei-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_getUserOperationReceipt",
+ "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/sei/_eth_senduseroperation-request.mdx b/services/reference/_partials/bundler/sei/_eth_senduseroperation-request.mdx
new file mode 100644
index 00000000000..5b3bc4ad905
--- /dev/null
+++ b/services/reference/_partials/bundler/sei/_eth_senduseroperation-request.mdx
@@ -0,0 +1,39 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://sei-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_sendUserOperation",
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419",
+ "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x13880",
+ "verificationGasLimit": "0x60B01",
+ "preVerificationGas": "0xD3E3",
+ "maxPriorityFeePerGas": "0x3B9ACA00",
+ "maxFeePerGas": "0x7A5CF70D5",
+ "paymaster": "0x",
+ "paymasterVerificationGasLimit": "0x0",
+ "paymasterPostOpGasLimit": "0x0",
+ "paymasterData": null,
+ "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ],
+ "id": 1
+ }'
+```
+
+
+
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/sei/_eth_supportedentrypoints-request.mdx b/services/reference/_partials/bundler/sei/_eth_supportedentrypoints-request.mdx
new file mode 100644
index 00000000000..f348ebbaaf2
--- /dev/null
+++ b/services/reference/_partials/bundler/sei/_eth_supportedentrypoints-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://sei-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_supportedEntryPoints",
+ "params": [],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/sei/_pimlico_getuseroperationgasprice-request.mdx b/services/reference/_partials/bundler/sei/_pimlico_getuseroperationgasprice-request.mdx
new file mode 100644
index 00000000000..cd039fb4bba
--- /dev/null
+++ b/services/reference/_partials/bundler/sei/_pimlico_getuseroperationgasprice-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://sei-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_getUserOperationGasPrice",
+ "params": [],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/sei/_pimlico_getuseroperationstatus-request.mdx b/services/reference/_partials/bundler/sei/_pimlico_getuseroperationstatus-request.mdx
new file mode 100644
index 00000000000..ce3cd912ea3
--- /dev/null
+++ b/services/reference/_partials/bundler/sei/_pimlico_getuseroperationstatus-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://sei-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_getUserOperationStatus",
+ "params": ["0x9bd004b8240da8eba3a02190a72be8a70ade8ef4c581b6e59789643c5e642ac3"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/sei/_pimlico_simulateassetchanges-request.mdx b/services/reference/_partials/bundler/sei/_pimlico_simulateassetchanges-request.mdx
new file mode 100644
index 00000000000..dcc7a7ce17d
--- /dev/null
+++ b/services/reference/_partials/bundler/sei/_pimlico_simulateassetchanges-request.mdx
@@ -0,0 +1,35 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```bash
+ curl https://sei-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_simulateAssetChanges",
+ "id": 4337,
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x1",
+ "callData": "0x9faf00f4d9c8df66a69fd6242d468aa8a31a439d14fc6c7af3868a06ed392233bc7e39475df25ad2b52bd5e19e1d438277207a415cb4d4ce8ad192464c55ddf1a9559ff900000000000000000000000073da77f0f2daaa88b908413495d3d0e37458212e00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000039946fd82c9c86c9a61bceed86fbdd284590bdd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxFeePerGas": "0x7a5cf70d5",
+ "maxPriorityFeePerGas": "0x3b9aca00",
+ "paymasterVerificationGasLimit": "0x0",
+ "paymasterPostOpGasLimit": "0x0",
+ "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ]
+ }'
+ ```
+
+
+
diff --git a/services/reference/_partials/bundler/unichain/_eth_estimateuseroperationgas-request.mdx b/services/reference/_partials/bundler/unichain/_eth_estimateuseroperationgas-request.mdx
new file mode 100644
index 00000000000..bc3416f7725
--- /dev/null
+++ b/services/reference/_partials/bundler/unichain/_eth_estimateuseroperationgas-request.mdx
@@ -0,0 +1,82 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```bash
+ curl https://unichain-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_estimateUserOperationGas",
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x845adb2c711129d4f3966735ed98a9f09fc4ce5700000000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419",
+ "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxFeePerGas": "0x7a5cf70d5",
+ "maxPriorityFeePerGas": "0x3b9aca00",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null,
+ "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ],
+ "id": 1
+ }'
+ ```
+
+
+
+
+ ```bash
+ curl https://unichain-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_estimateUserOperationGas",
+ "params": [
+ {
+ "sender": "0xa203fDb8bC335F86016F635b85389B62B189E417",
+ "nonce": "0x35bf2a054f92f3730b87582ef223c8d663f9eb01158154750000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "callData": "0xb61d27f6000000000000000000000000530fff22987e137e7c8d2adcc4c15eb45b4fa752",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxPriorityFeePerGas": "0x12a05f200",
+ "maxFeePerGas": "0x5b08082fa",
+ "paymaster": null,
+ "paymasterVerificationGasLimit": null,
+ "paymasterPostOpGasLimit": null,
+ "paymasterData": null,
+ "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032",
+ {
+ "0xd9c9cd5f6779558b6e0ed4e6acf6b1947e7fa1f3": {
+ "balance": "0xde0b6b3a7640000"
+ },
+ "0xebe8efa441b9302a0d7eaecc277c09d20d684540": {
+ "stateDiff": {
+ "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80": "0x21"
+ }
+ }
+ }
+ ],
+ "id": 1
+ }'
+ ```
+
+
+
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/unichain/_eth_getuseroperationbyhash-request.mdx b/services/reference/_partials/bundler/unichain/_eth_getuseroperationbyhash-request.mdx
new file mode 100644
index 00000000000..0d31b10f1fa
--- /dev/null
+++ b/services/reference/_partials/bundler/unichain/_eth_getuseroperationbyhash-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://unichain-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_getUserOperationByHash",
+ "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/unichain/_eth_getuseroperationreceipt-request.mdx b/services/reference/_partials/bundler/unichain/_eth_getuseroperationreceipt-request.mdx
new file mode 100644
index 00000000000..c635ebb9278
--- /dev/null
+++ b/services/reference/_partials/bundler/unichain/_eth_getuseroperationreceipt-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://unichain-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_getUserOperationReceipt",
+ "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/unichain/_eth_senduseroperation-request.mdx b/services/reference/_partials/bundler/unichain/_eth_senduseroperation-request.mdx
new file mode 100644
index 00000000000..f42847bd655
--- /dev/null
+++ b/services/reference/_partials/bundler/unichain/_eth_senduseroperation-request.mdx
@@ -0,0 +1,39 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://unichain-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_sendUserOperation",
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000",
+ "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
+ "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419",
+ "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x13880",
+ "verificationGasLimit": "0x60B01",
+ "preVerificationGas": "0xD3E3",
+ "maxPriorityFeePerGas": "0x3B9ACA00",
+ "maxFeePerGas": "0x7A5CF70D5",
+ "paymaster": "0x",
+ "paymasterVerificationGasLimit": "0x0",
+ "paymasterPostOpGasLimit": "0x0",
+ "paymasterData": null,
+ "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ],
+ "id": 1
+ }'
+```
+
+
+
\ No newline at end of file
diff --git a/services/reference/_partials/bundler/unichain/_eth_supportedentrypoints-request.mdx b/services/reference/_partials/bundler/unichain/_eth_supportedentrypoints-request.mdx
new file mode 100644
index 00000000000..67b62661ca8
--- /dev/null
+++ b/services/reference/_partials/bundler/unichain/_eth_supportedentrypoints-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://unichain-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "eth_supportedEntryPoints",
+ "params": [],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/unichain/_pimlico_getuseroperationgasprice-request.mdx b/services/reference/_partials/bundler/unichain/_pimlico_getuseroperationgasprice-request.mdx
new file mode 100644
index 00000000000..c4bb78b3842
--- /dev/null
+++ b/services/reference/_partials/bundler/unichain/_pimlico_getuseroperationgasprice-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://unichain-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_getUserOperationGasPrice",
+ "params": [],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/unichain/_pimlico_getuseroperationstatus-request.mdx b/services/reference/_partials/bundler/unichain/_pimlico_getuseroperationstatus-request.mdx
new file mode 100644
index 00000000000..98be52b503e
--- /dev/null
+++ b/services/reference/_partials/bundler/unichain/_pimlico_getuseroperationstatus-request.mdx
@@ -0,0 +1,20 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+```bash
+curl https://unichain-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_getUserOperationStatus",
+ "params": ["0x9bd004b8240da8eba3a02190a72be8a70ade8ef4c581b6e59789643c5e642ac3"],
+ "id": 1
+ }'
+```
+
+
+
diff --git a/services/reference/_partials/bundler/unichain/_pimlico_simulateassetchanges-request.mdx b/services/reference/_partials/bundler/unichain/_pimlico_simulateassetchanges-request.mdx
new file mode 100644
index 00000000000..d6a2c133a31
--- /dev/null
+++ b/services/reference/_partials/bundler/unichain/_pimlico_simulateassetchanges-request.mdx
@@ -0,0 +1,35 @@
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+
+
+
+ ```bash
+ curl https://unichain-mainnet.infura.io/v3/ \
+ -X POST \
+ -H "Content-Type: application/json" \
+ -d '{
+ "jsonrpc": "2.0",
+ "method": "pimlico_simulateAssetChanges",
+ "id": 4337,
+ "params": [
+ {
+ "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
+ "nonce": "0x1",
+ "callData": "0x9faf00f4d9c8df66a69fd6242d468aa8a31a439d14fc6c7af3868a06ed392233bc7e39475df25ad2b52bd5e19e1d438277207a415cb4d4ce8ad192464c55ddf1a9559ff900000000000000000000000073da77f0f2daaa88b908413495d3d0e37458212e00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000039946fd82c9c86c9a61bceed86fbdd284590bdd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000",
+ "callGasLimit": "0x0",
+ "verificationGasLimit": "0x0",
+ "preVerificationGas": "0x0",
+ "maxFeePerGas": "0x7a5cf70d5",
+ "maxPriorityFeePerGas": "0x3b9aca00",
+ "paymasterVerificationGasLimit": "0x0",
+ "paymasterPostOpGasLimit": "0x0",
+ "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c"
+ },
+ "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
+ ]
+ }'
+ ```
+
+
+
diff --git a/services/reference/arbitrum/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx b/services/reference/arbitrum/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx
new file mode 100644
index 00000000000..6d6ad51b37a
--- /dev/null
+++ b/services/reference/arbitrum/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_estimateUserOperationGas
+sidebar_label: eth_estimateUserOperationGas
+description: Simulate and estimate gas limits for a user operation before submission.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-description.mdx"
+
+# `eth_estimateUserOperationGas`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/arbitrum/_eth_estimateuseroperationgas-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-response.mdx"
+
+
diff --git a/services/reference/arbitrum/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx b/services/reference/arbitrum/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx
new file mode 100644
index 00000000000..627d91be6b6
--- /dev/null
+++ b/services/reference/arbitrum/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_getUserOperationByHash
+sidebar_label: eth_getUserOperationByHash
+description: Fetch user operation details by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-description.mdx"
+
+# `eth_getUserOperationByHash`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/arbitrum/_eth_getuseroperationbyhash-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-response.mdx"
+
+
diff --git a/services/reference/arbitrum/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx b/services/reference/arbitrum/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx
new file mode 100644
index 00000000000..ab1a5a8a157
--- /dev/null
+++ b/services/reference/arbitrum/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_getUserOperationReceipt
+sidebar_label: eth_getUserOperationReceipt
+description: Fetch the receipt of a user operation by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-description.mdx"
+
+# `eth_getUserOperationReceipt`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/arbitrum/_eth_getuseroperationreceipt-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-response.mdx"
+
+
diff --git a/services/reference/arbitrum/json-rpc-methods/bundler/eth_senduseroperation.mdx b/services/reference/arbitrum/json-rpc-methods/bundler/eth_senduseroperation.mdx
new file mode 100644
index 00000000000..e8e0821d973
--- /dev/null
+++ b/services/reference/arbitrum/json-rpc-methods/bundler/eth_senduseroperation.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_sendUserOperation
+sidebar_label: eth_sendUserOperation
+description: Submit a user operation to the mempool for bundling and execution.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_senduseroperation-description.mdx"
+
+# `eth_sendUserOperation`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_senduseroperation-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_senduseroperation-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_senduseroperation-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/arbitrum/_eth_senduseroperation-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_senduseroperation-response.mdx"
+
+
diff --git a/services/reference/arbitrum/json-rpc-methods/bundler/eth_supportedentrypoints.mdx b/services/reference/arbitrum/json-rpc-methods/bundler/eth_supportedentrypoints.mdx
new file mode 100644
index 00000000000..c2cda03eab8
--- /dev/null
+++ b/services/reference/arbitrum/json-rpc-methods/bundler/eth_supportedentrypoints.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_supportedEntryPoints
+sidebar_label: eth_supportedEntryPoints
+description: Get the list of EntryPoint addresses supported by the bundler.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_supportedentrypoints-description.mdx"
+
+# `eth_supportedEntryPoints`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_supportedentrypoints-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_supportedentrypoints-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_supportedentrypoints-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/arbitrum/_eth_supportedentrypoints-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_supportedentrypoints-response.mdx"
+
+
diff --git a/services/reference/arbitrum/json-rpc-methods/bundler/index.md b/services/reference/arbitrum/json-rpc-methods/bundler/index.md
new file mode 100644
index 00000000000..464c3e3292d
--- /dev/null
+++ b/services/reference/arbitrum/json-rpc-methods/bundler/index.md
@@ -0,0 +1,28 @@
+---
+title: Arbitrum bundler methods
+sidebar_label: Bundler methods
+description: Arbitrum bundler methods
+---
+
+Infura integrates with the Pimlico account abstraction bundler infrastructure, enabling
+developers to access [ERC-4337](https://docs.erc4337.io/) smart account features.
+
+The following [bundler methods](../../../../concepts/bundler.md) are supported on Arbitrum mainnet
+and Sepolia:
+
+- [`eth_sendUserOperation`](./eth_senduseroperation):
+ Submits a user operation to be included onchain.
+- [`eth_estimateUserOperationGas`](./eth_estimateuseroperationgas):
+ Simulates the user operation and estimates the appropriate gas limits.
+- [`eth_getUserOperationReceipt`](./eth_getuseroperationreceipt):
+ Fetches the receipt of a user operation.
+- [`eth_getUserOperationByHash`](./eth_getuseroperationbyhash):
+ Fetches the user operation by hash.
+- [`eth_supportedEntryPoints`](./eth_supportedentrypoints):
+ Fetches the EntryPoint addresses supported by the bundler.
+- [`pimlico_getUserOperationGasPrice`](./pimlico_getuseroperationgasprice):
+ Returns the gas prices that must be used for the user operation.
+- [`pimlico_getUserOperationStatus`](./pimlico_getuseroperationstatus):
+ Returns the user operation status.
+- [`pimlico_simulateAssetChanges`](./pimlico_simulateassetchanges):
+ Simulates a user operation to predict the asset changes it will cause.
\ No newline at end of file
diff --git a/services/reference/arbitrum/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx b/services/reference/arbitrum/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx
new file mode 100644
index 00000000000..c2f49e30379
--- /dev/null
+++ b/services/reference/arbitrum/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx
@@ -0,0 +1,44 @@
+---
+title: pimlico_getUserOperationGasPrice
+sidebar_label: pimlico_getUserOperationGasPrice
+description: Get recommended gas prices for user operations on Pimlico bundlers.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-description.mdx"
+
+# `pimlico_getUserOperationGasPrice`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/arbitrum/_pimlico_getuseroperationgasprice-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-response.mdx"
+
+
diff --git a/services/reference/arbitrum/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx b/services/reference/arbitrum/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx
new file mode 100644
index 00000000000..9b784d3b4fa
--- /dev/null
+++ b/services/reference/arbitrum/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx
@@ -0,0 +1,44 @@
+---
+title: pimlico_getUserOperationStatus
+sidebar_label: pimlico_getUserOperationStatus
+description: Get the current status of a user operation by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-description.mdx"
+
+# `pimlico_getUserOperationStatus`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/arbitrum/_pimlico_getuseroperationstatus-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-response.mdx"
+
+
diff --git a/services/reference/arbitrum/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx b/services/reference/arbitrum/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx
new file mode 100644
index 00000000000..f2eb572e8ad
--- /dev/null
+++ b/services/reference/arbitrum/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx
@@ -0,0 +1,50 @@
+---
+title: pimlico_simulateAssetChanges
+sidebar_label: pimlico_simulateAssetChanges
+description: Simulate a user operation and return predicted asset changes.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-description.mdx"
+
+# `pimlico_simulateAssetChanges`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/arbitrum/_pimlico_simulateassetchanges-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-response.mdx"
+
+
+
+## Errors
+
+import Errors from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-errors.mdx"
+
+
diff --git a/services/reference/avalanche-c-chain/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx b/services/reference/avalanche-c-chain/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx
new file mode 100644
index 00000000000..9172b9b7782
--- /dev/null
+++ b/services/reference/avalanche-c-chain/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_estimateUserOperationGas
+sidebar_label: eth_estimateUserOperationGas
+description: Simulate and estimate gas limits for a user operation before submission.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-description.mdx"
+
+# `eth_estimateUserOperationGas`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/avalanche/_eth_estimateuseroperationgas-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-response.mdx"
+
+
diff --git a/services/reference/avalanche-c-chain/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx b/services/reference/avalanche-c-chain/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx
new file mode 100644
index 00000000000..b8060e5d039
--- /dev/null
+++ b/services/reference/avalanche-c-chain/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_getUserOperationByHash
+sidebar_label: eth_getUserOperationByHash
+description: Fetch user operation details by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-description.mdx"
+
+# `eth_getUserOperationByHash`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/avalanche/_eth_getuseroperationbyhash-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-response.mdx"
+
+
diff --git a/services/reference/avalanche-c-chain/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx b/services/reference/avalanche-c-chain/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx
new file mode 100644
index 00000000000..5a64d33884f
--- /dev/null
+++ b/services/reference/avalanche-c-chain/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_getUserOperationReceipt
+sidebar_label: eth_getUserOperationReceipt
+description: Fetch the receipt of a user operation by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-description.mdx"
+
+# `eth_getUserOperationReceipt`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/avalanche/_eth_getuseroperationreceipt-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-response.mdx"
+
+
diff --git a/services/reference/avalanche-c-chain/json-rpc-methods/bundler/eth_senduseroperation.mdx b/services/reference/avalanche-c-chain/json-rpc-methods/bundler/eth_senduseroperation.mdx
new file mode 100644
index 00000000000..bd0fe337f11
--- /dev/null
+++ b/services/reference/avalanche-c-chain/json-rpc-methods/bundler/eth_senduseroperation.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_sendUserOperation
+sidebar_label: eth_sendUserOperation
+description: Submit a user operation to the mempool for bundling and execution.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_senduseroperation-description.mdx"
+
+# `eth_sendUserOperation`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_senduseroperation-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_senduseroperation-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_senduseroperation-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/avalanche/_eth_senduseroperation-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_senduseroperation-response.mdx"
+
+
diff --git a/services/reference/avalanche-c-chain/json-rpc-methods/bundler/eth_supportedentrypoints.mdx b/services/reference/avalanche-c-chain/json-rpc-methods/bundler/eth_supportedentrypoints.mdx
new file mode 100644
index 00000000000..f20e82344a4
--- /dev/null
+++ b/services/reference/avalanche-c-chain/json-rpc-methods/bundler/eth_supportedentrypoints.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_supportedEntryPoints
+sidebar_label: eth_supportedEntryPoints
+description: Get the list of EntryPoint addresses supported by the bundler.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_supportedentrypoints-description.mdx"
+
+# `eth_supportedEntryPoints`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_supportedentrypoints-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_supportedentrypoints-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_supportedentrypoints-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/avalanche/_eth_supportedentrypoints-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_supportedentrypoints-response.mdx"
+
+
diff --git a/services/reference/avalanche-c-chain/json-rpc-methods/bundler/index.md b/services/reference/avalanche-c-chain/json-rpc-methods/bundler/index.md
new file mode 100644
index 00000000000..8d43957f7cb
--- /dev/null
+++ b/services/reference/avalanche-c-chain/json-rpc-methods/bundler/index.md
@@ -0,0 +1,28 @@
+---
+title: Avalanche bundler methods
+sidebar_label: Bundler methods
+description: Avalanche bundler methods
+---
+
+Infura integrates with the Pimlico account abstraction bundler infrastructure, enabling
+developers to access [ERC-4337](https://docs.erc4337.io/) smart account features.
+
+The following [bundler methods](../../../../concepts/bundler.md) are supported on Avalanche mainnet
+and Fuji:
+
+- [`eth_sendUserOperation`](./eth_senduseroperation):
+ Submits a user operation to be included onchain.
+- [`eth_estimateUserOperationGas`](./eth_estimateuseroperationgas):
+ Simulates the user operation and estimates the appropriate gas limits.
+- [`eth_getUserOperationReceipt`](./eth_getuseroperationreceipt):
+ Fetches the receipt of a user operation.
+- [`eth_getUserOperationByHash`](./eth_getuseroperationbyhash):
+ Fetches the user operation by hash.
+- [`eth_supportedEntryPoints`](./eth_supportedentrypoints):
+ Fetches the EntryPoint addresses supported by the bundler.
+- [`pimlico_getUserOperationGasPrice`](./pimlico_getuseroperationgasprice):
+ Returns the gas prices that must be used for the user operation.
+- [`pimlico_getUserOperationStatus`](./pimlico_getuseroperationstatus):
+ Returns the user operation status.
+- [`pimlico_simulateAssetChanges`](./pimlico_simulateassetchanges):
+ Simulates a user operation to predict the asset changes it will cause.
\ No newline at end of file
diff --git a/services/reference/avalanche-c-chain/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx b/services/reference/avalanche-c-chain/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx
new file mode 100644
index 00000000000..a87dbd6b94d
--- /dev/null
+++ b/services/reference/avalanche-c-chain/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx
@@ -0,0 +1,44 @@
+---
+title: pimlico_getUserOperationGasPrice
+sidebar_label: pimlico_getUserOperationGasPrice
+description: Get recommended gas prices for user operations on Pimlico bundlers.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-description.mdx"
+
+# `pimlico_getUserOperationGasPrice`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/avalanche/_pimlico_getuseroperationgasprice-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-response.mdx"
+
+
diff --git a/services/reference/avalanche-c-chain/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx b/services/reference/avalanche-c-chain/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx
new file mode 100644
index 00000000000..110859f63e8
--- /dev/null
+++ b/services/reference/avalanche-c-chain/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx
@@ -0,0 +1,44 @@
+---
+title: pimlico_getUserOperationStatus
+sidebar_label: pimlico_getUserOperationStatus
+description: Get the current status of a user operation by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-description.mdx"
+
+# `pimlico_getUserOperationStatus`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/avalanche/_pimlico_getuseroperationstatus-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-response.mdx"
+
+
diff --git a/services/reference/avalanche-c-chain/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx b/services/reference/avalanche-c-chain/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx
new file mode 100644
index 00000000000..88014215ad9
--- /dev/null
+++ b/services/reference/avalanche-c-chain/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx
@@ -0,0 +1,50 @@
+---
+title: pimlico_simulateAssetChanges
+sidebar_label: pimlico_simulateAssetChanges
+description: Simulate a user operation and return predicted asset changes.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-description.mdx"
+
+# `pimlico_simulateAssetChanges`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/avalanche/_pimlico_simulateassetchanges-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-response.mdx"
+
+
+
+## Errors
+
+import Errors from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-errors.mdx"
+
+
diff --git a/services/reference/base/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx b/services/reference/base/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx
new file mode 100644
index 00000000000..deff2b8273d
--- /dev/null
+++ b/services/reference/base/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_estimateUserOperationGas
+sidebar_label: eth_estimateUserOperationGas
+description: Simulate and estimate gas limits for a user operation before submission.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-description.mdx"
+
+# `eth_estimateUserOperationGas`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/base/_eth_estimateuseroperationgas-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-response.mdx"
+
+
diff --git a/services/reference/base/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx b/services/reference/base/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx
new file mode 100644
index 00000000000..1b9b451b844
--- /dev/null
+++ b/services/reference/base/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_getUserOperationByHash
+sidebar_label: eth_getUserOperationByHash
+description: Fetch user operation details by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-description.mdx"
+
+# `eth_getUserOperationByHash`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/base/_eth_getuseroperationbyhash-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-response.mdx"
+
+
diff --git a/services/reference/base/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx b/services/reference/base/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx
new file mode 100644
index 00000000000..d4efbc0cd3e
--- /dev/null
+++ b/services/reference/base/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_getUserOperationReceipt
+sidebar_label: eth_getUserOperationReceipt
+description: Fetch the receipt of a user operation by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-description.mdx"
+
+# `eth_getUserOperationReceipt`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/base/_eth_getuseroperationreceipt-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-response.mdx"
+
+
diff --git a/services/reference/base/json-rpc-methods/bundler/eth_senduseroperation.mdx b/services/reference/base/json-rpc-methods/bundler/eth_senduseroperation.mdx
new file mode 100644
index 00000000000..fd4b890d5e0
--- /dev/null
+++ b/services/reference/base/json-rpc-methods/bundler/eth_senduseroperation.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_sendUserOperation
+sidebar_label: eth_sendUserOperation
+description: Submit a user operation to the mempool for bundling and execution.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_senduseroperation-description.mdx"
+
+# `eth_sendUserOperation`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_senduseroperation-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_senduseroperation-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_senduseroperation-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/base/_eth_senduseroperation-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_senduseroperation-response.mdx"
+
+
diff --git a/services/reference/base/json-rpc-methods/bundler/eth_supportedentrypoints.mdx b/services/reference/base/json-rpc-methods/bundler/eth_supportedentrypoints.mdx
new file mode 100644
index 00000000000..0bb453ff79d
--- /dev/null
+++ b/services/reference/base/json-rpc-methods/bundler/eth_supportedentrypoints.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_supportedEntryPoints
+sidebar_label: eth_supportedEntryPoints
+description: Get the list of EntryPoint addresses supported by the bundler.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_supportedentrypoints-description.mdx"
+
+# `eth_supportedEntryPoints`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_supportedentrypoints-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_supportedentrypoints-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_supportedentrypoints-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/base/_eth_supportedentrypoints-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_supportedentrypoints-response.mdx"
+
+
diff --git a/services/reference/base/json-rpc-methods/bundler/index.md b/services/reference/base/json-rpc-methods/bundler/index.md
new file mode 100644
index 00000000000..8a707384763
--- /dev/null
+++ b/services/reference/base/json-rpc-methods/bundler/index.md
@@ -0,0 +1,28 @@
+---
+title: Base bundler methods
+sidebar_label: Bundler methods
+description: Base bundler methods
+---
+
+Infura integrates with the Pimlico account abstraction bundler infrastructure, enabling
+developers to access [ERC-4337](https://docs.erc4337.io/) smart account features.
+
+The following [bundler methods](../../../../concepts/bundler.md) are supported on Base mainnet
+and Sepolia:
+
+- [`eth_sendUserOperation`](./eth_senduseroperation):
+ Submits a user operation to be included onchain.
+- [`eth_estimateUserOperationGas`](./eth_estimateuseroperationgas):
+ Simulates the user operation and estimates the appropriate gas limits.
+- [`eth_getUserOperationReceipt`](./eth_getuseroperationreceipt):
+ Fetches the receipt of a user operation.
+- [`eth_getUserOperationByHash`](./eth_getuseroperationbyhash):
+ Fetches the user operation by hash.
+- [`eth_supportedEntryPoints`](./eth_supportedentrypoints):
+ Fetches the EntryPoint addresses supported by the bundler.
+- [`pimlico_getUserOperationGasPrice`](./pimlico_getuseroperationgasprice):
+ Returns the gas prices that must be used for the user operation.
+- [`pimlico_getUserOperationStatus`](./pimlico_getuseroperationstatus):
+ Returns the user operation status.
+- [`pimlico_simulateAssetChanges`](./pimlico_simulateassetchanges):
+ Simulates a user operation to predict the asset changes it will cause.
\ No newline at end of file
diff --git a/services/reference/base/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx b/services/reference/base/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx
new file mode 100644
index 00000000000..3b40c1ee95f
--- /dev/null
+++ b/services/reference/base/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx
@@ -0,0 +1,44 @@
+---
+title: pimlico_getUserOperationGasPrice
+sidebar_label: pimlico_getUserOperationGasPrice
+description: Get recommended gas prices for user operations on Pimlico bundlers.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-description.mdx"
+
+# `pimlico_getUserOperationGasPrice`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/base/_pimlico_getuseroperationgasprice-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-response.mdx"
+
+
diff --git a/services/reference/base/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx b/services/reference/base/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx
new file mode 100644
index 00000000000..ac3f4c80700
--- /dev/null
+++ b/services/reference/base/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx
@@ -0,0 +1,44 @@
+---
+title: pimlico_getUserOperationStatus
+sidebar_label: pimlico_getUserOperationStatus
+description: Get the current status of a user operation by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-description.mdx"
+
+# `pimlico_getUserOperationStatus`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/base/_pimlico_getuseroperationstatus-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-response.mdx"
+
+
diff --git a/services/reference/base/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx b/services/reference/base/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx
new file mode 100644
index 00000000000..74b9f09a0a1
--- /dev/null
+++ b/services/reference/base/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx
@@ -0,0 +1,50 @@
+---
+title: pimlico_simulateAssetChanges
+sidebar_label: pimlico_simulateAssetChanges
+description: Simulate a user operation and return predicted asset changes.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-description.mdx"
+
+# `pimlico_simulateAssetChanges`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/base/_pimlico_simulateassetchanges-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-response.mdx"
+
+
+
+## Errors
+
+import Errors from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-errors.mdx"
+
+
diff --git a/services/reference/blast/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx b/services/reference/blast/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx
new file mode 100644
index 00000000000..523607c3dc8
--- /dev/null
+++ b/services/reference/blast/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_estimateUserOperationGas
+sidebar_label: eth_estimateUserOperationGas
+description: Simulate and estimate gas limits for a user operation before submission.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-description.mdx"
+
+# `eth_estimateUserOperationGas`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/blast/_eth_estimateuseroperationgas-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-response.mdx"
+
+
diff --git a/services/reference/blast/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx b/services/reference/blast/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx
new file mode 100644
index 00000000000..f1a1981d882
--- /dev/null
+++ b/services/reference/blast/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_getUserOperationByHash
+sidebar_label: eth_getUserOperationByHash
+description: Fetch user operation details by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-description.mdx"
+
+# `eth_getUserOperationByHash`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/blast/_eth_getuseroperationbyhash-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-response.mdx"
+
+
diff --git a/services/reference/blast/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx b/services/reference/blast/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx
new file mode 100644
index 00000000000..4397737d5e1
--- /dev/null
+++ b/services/reference/blast/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_getUserOperationReceipt
+sidebar_label: eth_getUserOperationReceipt
+description: Fetch the receipt of a user operation by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-description.mdx"
+
+# `eth_getUserOperationReceipt`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/blast/_eth_getuseroperationreceipt-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-response.mdx"
+
+
diff --git a/services/reference/blast/json-rpc-methods/bundler/eth_senduseroperation.mdx b/services/reference/blast/json-rpc-methods/bundler/eth_senduseroperation.mdx
new file mode 100644
index 00000000000..5a2ce98eaaa
--- /dev/null
+++ b/services/reference/blast/json-rpc-methods/bundler/eth_senduseroperation.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_sendUserOperation
+sidebar_label: eth_sendUserOperation
+description: Submit a user operation to the mempool for bundling and execution.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_senduseroperation-description.mdx"
+
+# `eth_sendUserOperation`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_senduseroperation-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_senduseroperation-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_senduseroperation-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/blast/_eth_senduseroperation-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_senduseroperation-response.mdx"
+
+
diff --git a/services/reference/blast/json-rpc-methods/bundler/eth_supportedentrypoints.mdx b/services/reference/blast/json-rpc-methods/bundler/eth_supportedentrypoints.mdx
new file mode 100644
index 00000000000..d193ff47d09
--- /dev/null
+++ b/services/reference/blast/json-rpc-methods/bundler/eth_supportedentrypoints.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_supportedEntryPoints
+sidebar_label: eth_supportedEntryPoints
+description: Get the list of EntryPoint addresses supported by the bundler.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_supportedentrypoints-description.mdx"
+
+# `eth_supportedEntryPoints`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_supportedentrypoints-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_supportedentrypoints-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_supportedentrypoints-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/blast/_eth_supportedentrypoints-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_supportedentrypoints-response.mdx"
+
+
diff --git a/services/reference/blast/json-rpc-methods/bundler/index.md b/services/reference/blast/json-rpc-methods/bundler/index.md
new file mode 100644
index 00000000000..5d879cf141d
--- /dev/null
+++ b/services/reference/blast/json-rpc-methods/bundler/index.md
@@ -0,0 +1,28 @@
+---
+title: Blast bundler methods
+sidebar_label: Bundler methods
+description: Blast bundler methods
+---
+
+Infura integrates with the Pimlico account abstraction bundler infrastructure, enabling
+developers to access [ERC-4337](https://docs.erc4337.io/) smart account features.
+
+The following [bundler methods](../../../../concepts/bundler.md) are supported on Blast mainnet
+and Sepolia:
+
+- [`eth_sendUserOperation`](./eth_senduseroperation):
+ Submits a user operation to be included onchain.
+- [`eth_estimateUserOperationGas`](./eth_estimateuseroperationgas):
+ Simulates the user operation and estimates the appropriate gas limits.
+- [`eth_getUserOperationReceipt`](./eth_getuseroperationreceipt):
+ Fetches the receipt of a user operation.
+- [`eth_getUserOperationByHash`](./eth_getuseroperationbyhash):
+ Fetches the user operation by hash.
+- [`eth_supportedEntryPoints`](./eth_supportedentrypoints):
+ Fetches the EntryPoint addresses supported by the bundler.
+- [`pimlico_getUserOperationGasPrice`](./pimlico_getuseroperationgasprice):
+ Returns the gas prices that must be used for the user operation.
+- [`pimlico_getUserOperationStatus`](./pimlico_getuseroperationstatus):
+ Returns the user operation status.
+- [`pimlico_simulateAssetChanges`](./pimlico_simulateassetchanges):
+ Simulates a user operation to predict the asset changes it will cause.
\ No newline at end of file
diff --git a/services/reference/blast/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx b/services/reference/blast/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx
new file mode 100644
index 00000000000..df418357924
--- /dev/null
+++ b/services/reference/blast/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx
@@ -0,0 +1,44 @@
+---
+title: pimlico_getUserOperationGasPrice
+sidebar_label: pimlico_getUserOperationGasPrice
+description: Get recommended gas prices for user operations on Pimlico bundlers.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-description.mdx"
+
+# `pimlico_getUserOperationGasPrice`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/blast/_pimlico_getuseroperationgasprice-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-response.mdx"
+
+
diff --git a/services/reference/blast/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx b/services/reference/blast/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx
new file mode 100644
index 00000000000..b25a31613cf
--- /dev/null
+++ b/services/reference/blast/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx
@@ -0,0 +1,44 @@
+---
+title: pimlico_getUserOperationStatus
+sidebar_label: pimlico_getUserOperationStatus
+description: Get the current status of a user operation by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-description.mdx"
+
+# `pimlico_getUserOperationStatus`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/blast/_pimlico_getuseroperationstatus-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-response.mdx"
+
+
diff --git a/services/reference/blast/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx b/services/reference/blast/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx
new file mode 100644
index 00000000000..575e2d0d30a
--- /dev/null
+++ b/services/reference/blast/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx
@@ -0,0 +1,50 @@
+---
+title: pimlico_simulateAssetChanges
+sidebar_label: pimlico_simulateAssetChanges
+description: Simulate a user operation and return predicted asset changes.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-description.mdx"
+
+# `pimlico_simulateAssetChanges`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/blast/_pimlico_simulateassetchanges-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-response.mdx"
+
+
+
+## Errors
+
+import Errors from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-errors.mdx"
+
+
diff --git a/services/reference/bnb-smart-chain/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx b/services/reference/bnb-smart-chain/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx
new file mode 100644
index 00000000000..eb602222cd9
--- /dev/null
+++ b/services/reference/bnb-smart-chain/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_estimateUserOperationGas
+sidebar_label: eth_estimateUserOperationGas
+description: Simulate and estimate gas limits for a user operation before submission.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-description.mdx"
+
+# `eth_estimateUserOperationGas`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/bnb-smart-chain/_eth_estimateuseroperationgas-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-response.mdx"
+
+
diff --git a/services/reference/bnb-smart-chain/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx b/services/reference/bnb-smart-chain/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx
new file mode 100644
index 00000000000..2bf083d9f37
--- /dev/null
+++ b/services/reference/bnb-smart-chain/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_getUserOperationByHash
+sidebar_label: eth_getUserOperationByHash
+description: Fetch user operation details by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-description.mdx"
+
+# `eth_getUserOperationByHash`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/bnb-smart-chain/_eth_getuseroperationbyhash-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-response.mdx"
+
+
diff --git a/services/reference/bnb-smart-chain/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx b/services/reference/bnb-smart-chain/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx
new file mode 100644
index 00000000000..55b7bf29679
--- /dev/null
+++ b/services/reference/bnb-smart-chain/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_getUserOperationReceipt
+sidebar_label: eth_getUserOperationReceipt
+description: Fetch the receipt of a user operation by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-description.mdx"
+
+# `eth_getUserOperationReceipt`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/bnb-smart-chain/_eth_getuseroperationreceipt-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-response.mdx"
+
+
diff --git a/services/reference/bnb-smart-chain/json-rpc-methods/bundler/eth_senduseroperation.mdx b/services/reference/bnb-smart-chain/json-rpc-methods/bundler/eth_senduseroperation.mdx
new file mode 100644
index 00000000000..b195b40e34e
--- /dev/null
+++ b/services/reference/bnb-smart-chain/json-rpc-methods/bundler/eth_senduseroperation.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_sendUserOperation
+sidebar_label: eth_sendUserOperation
+description: Submit a user operation to the mempool for bundling and execution.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_senduseroperation-description.mdx"
+
+# `eth_sendUserOperation`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_senduseroperation-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_senduseroperation-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_senduseroperation-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/bnb-smart-chain/_eth_senduseroperation-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_senduseroperation-response.mdx"
+
+
diff --git a/services/reference/bnb-smart-chain/json-rpc-methods/bundler/eth_supportedentrypoints.mdx b/services/reference/bnb-smart-chain/json-rpc-methods/bundler/eth_supportedentrypoints.mdx
new file mode 100644
index 00000000000..5621a2804e7
--- /dev/null
+++ b/services/reference/bnb-smart-chain/json-rpc-methods/bundler/eth_supportedentrypoints.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_supportedEntryPoints
+sidebar_label: eth_supportedEntryPoints
+description: Get the list of EntryPoint addresses supported by the bundler.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_supportedentrypoints-description.mdx"
+
+# `eth_supportedEntryPoints`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_supportedentrypoints-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_supportedentrypoints-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_supportedentrypoints-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/bnb-smart-chain/_eth_supportedentrypoints-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_supportedentrypoints-response.mdx"
+
+
diff --git a/services/reference/bnb-smart-chain/json-rpc-methods/bundler/index.md b/services/reference/bnb-smart-chain/json-rpc-methods/bundler/index.md
new file mode 100644
index 00000000000..038a99004bf
--- /dev/null
+++ b/services/reference/bnb-smart-chain/json-rpc-methods/bundler/index.md
@@ -0,0 +1,28 @@
+---
+title: BNB Smart Chain bundler methods
+sidebar_label: Bundler methods
+description: BNB Smart Chain bundler methods
+---
+
+Infura integrates with the Pimlico account abstraction bundler infrastructure, enabling
+developers to access [ERC-4337](https://docs.erc4337.io/) smart account features.
+
+The following [bundler methods](../../../../concepts/bundler.md) are supported on BNB Smart Chain mainnet
+and testnet:
+
+- [`eth_sendUserOperation`](./eth_senduseroperation):
+ Submits a user operation to be included onchain.
+- [`eth_estimateUserOperationGas`](./eth_estimateuseroperationgas):
+ Simulates the user operation and estimates the appropriate gas limits.
+- [`eth_getUserOperationReceipt`](./eth_getuseroperationreceipt):
+ Fetches the receipt of a user operation.
+- [`eth_getUserOperationByHash`](./eth_getuseroperationbyhash):
+ Fetches the user operation by hash.
+- [`eth_supportedEntryPoints`](./eth_supportedentrypoints):
+ Fetches the EntryPoint addresses supported by the bundler.
+- [`pimlico_getUserOperationGasPrice`](./pimlico_getuseroperationgasprice):
+ Returns the gas prices that must be used for the user operation.
+- [`pimlico_getUserOperationStatus`](./pimlico_getuseroperationstatus):
+ Returns the user operation status.
+- [`pimlico_simulateAssetChanges`](./pimlico_simulateassetchanges):
+ Simulates a user operation to predict the asset changes it will cause.
\ No newline at end of file
diff --git a/services/reference/bnb-smart-chain/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx b/services/reference/bnb-smart-chain/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx
new file mode 100644
index 00000000000..18605535f64
--- /dev/null
+++ b/services/reference/bnb-smart-chain/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx
@@ -0,0 +1,44 @@
+---
+title: pimlico_getUserOperationGasPrice
+sidebar_label: pimlico_getUserOperationGasPrice
+description: Get recommended gas prices for user operations on Pimlico bundlers.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-description.mdx"
+
+# `pimlico_getUserOperationGasPrice`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/bnb-smart-chain/_pimlico_getuseroperationgasprice-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-response.mdx"
+
+
diff --git a/services/reference/bnb-smart-chain/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx b/services/reference/bnb-smart-chain/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx
new file mode 100644
index 00000000000..f14d6554b6e
--- /dev/null
+++ b/services/reference/bnb-smart-chain/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx
@@ -0,0 +1,44 @@
+---
+title: pimlico_getUserOperationStatus
+sidebar_label: pimlico_getUserOperationStatus
+description: Get the current status of a user operation by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-description.mdx"
+
+# `pimlico_getUserOperationStatus`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/bnb-smart-chain/_pimlico_getuseroperationstatus-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-response.mdx"
+
+
diff --git a/services/reference/bnb-smart-chain/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx b/services/reference/bnb-smart-chain/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx
new file mode 100644
index 00000000000..3534711a3d5
--- /dev/null
+++ b/services/reference/bnb-smart-chain/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx
@@ -0,0 +1,50 @@
+---
+title: pimlico_simulateAssetChanges
+sidebar_label: pimlico_simulateAssetChanges
+description: Simulate a user operation and return predicted asset changes.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-description.mdx"
+
+# `pimlico_simulateAssetChanges`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/bnb-smart-chain/_pimlico_simulateassetchanges-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-response.mdx"
+
+
+
+## Errors
+
+import Errors from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-errors.mdx"
+
+
diff --git a/services/reference/celo/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx b/services/reference/celo/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx
new file mode 100644
index 00000000000..0f35efc9ab3
--- /dev/null
+++ b/services/reference/celo/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_estimateUserOperationGas
+sidebar_label: eth_estimateUserOperationGas
+description: Simulate and estimate gas limits for a user operation before submission.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-description.mdx"
+
+# `eth_estimateUserOperationGas`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/celo/_eth_estimateuseroperationgas-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-response.mdx"
+
+
diff --git a/services/reference/celo/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx b/services/reference/celo/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx
new file mode 100644
index 00000000000..eaa75b9d5ff
--- /dev/null
+++ b/services/reference/celo/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_getUserOperationByHash
+sidebar_label: eth_getUserOperationByHash
+description: Fetch user operation details by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-description.mdx"
+
+# `eth_getUserOperationByHash`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/celo/_eth_getuseroperationbyhash-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-response.mdx"
+
+
diff --git a/services/reference/celo/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx b/services/reference/celo/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx
new file mode 100644
index 00000000000..ee7a871b0bd
--- /dev/null
+++ b/services/reference/celo/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_getUserOperationReceipt
+sidebar_label: eth_getUserOperationReceipt
+description: Fetch the receipt of a user operation by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-description.mdx"
+
+# `eth_getUserOperationReceipt`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/celo/_eth_getuseroperationreceipt-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-response.mdx"
+
+
diff --git a/services/reference/celo/json-rpc-methods/bundler/eth_senduseroperation.mdx b/services/reference/celo/json-rpc-methods/bundler/eth_senduseroperation.mdx
new file mode 100644
index 00000000000..d1aeb140926
--- /dev/null
+++ b/services/reference/celo/json-rpc-methods/bundler/eth_senduseroperation.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_sendUserOperation
+sidebar_label: eth_sendUserOperation
+description: Submit a user operation to the mempool for bundling and execution.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_senduseroperation-description.mdx"
+
+# `eth_sendUserOperation`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_senduseroperation-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_senduseroperation-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_senduseroperation-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/celo/_eth_senduseroperation-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_senduseroperation-response.mdx"
+
+
diff --git a/services/reference/celo/json-rpc-methods/bundler/eth_supportedentrypoints.mdx b/services/reference/celo/json-rpc-methods/bundler/eth_supportedentrypoints.mdx
new file mode 100644
index 00000000000..46a94db5353
--- /dev/null
+++ b/services/reference/celo/json-rpc-methods/bundler/eth_supportedentrypoints.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_supportedEntryPoints
+sidebar_label: eth_supportedEntryPoints
+description: Get the list of EntryPoint addresses supported by the bundler.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_supportedentrypoints-description.mdx"
+
+# `eth_supportedEntryPoints`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_supportedentrypoints-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_supportedentrypoints-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_supportedentrypoints-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/celo/_eth_supportedentrypoints-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_supportedentrypoints-response.mdx"
+
+
diff --git a/services/reference/celo/json-rpc-methods/bundler/index.md b/services/reference/celo/json-rpc-methods/bundler/index.md
new file mode 100644
index 00000000000..14c8181f99e
--- /dev/null
+++ b/services/reference/celo/json-rpc-methods/bundler/index.md
@@ -0,0 +1,28 @@
+---
+title: Celo bundler methods
+sidebar_label: Bundler methods
+description: Celo bundler methods
+---
+
+Infura integrates with the Pimlico account abstraction bundler infrastructure, enabling
+developers to access [ERC-4337](https://docs.erc4337.io/) smart account features.
+
+The following [bundler methods](../../../../concepts/bundler.md) are supported on Celo mainnet
+and Alfajores:
+
+- [`eth_sendUserOperation`](./eth_senduseroperation):
+ Submits a user operation to be included onchain.
+- [`eth_estimateUserOperationGas`](./eth_estimateuseroperationgas):
+ Simulates the user operation and estimates the appropriate gas limits.
+- [`eth_getUserOperationReceipt`](./eth_getuseroperationreceipt):
+ Fetches the receipt of a user operation.
+- [`eth_getUserOperationByHash`](./eth_getuseroperationbyhash):
+ Fetches the user operation by hash.
+- [`eth_supportedEntryPoints`](./eth_supportedentrypoints):
+ Fetches the EntryPoint addresses supported by the bundler.
+- [`pimlico_getUserOperationGasPrice`](./pimlico_getuseroperationgasprice):
+ Returns the gas prices that must be used for the user operation.
+- [`pimlico_getUserOperationStatus`](./pimlico_getuseroperationstatus):
+ Returns the user operation status.
+- [`pimlico_simulateAssetChanges`](./pimlico_simulateassetchanges):
+ Simulates a user operation to predict the asset changes it will cause.
\ No newline at end of file
diff --git a/services/reference/celo/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx b/services/reference/celo/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx
new file mode 100644
index 00000000000..17b00bdeb5f
--- /dev/null
+++ b/services/reference/celo/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx
@@ -0,0 +1,44 @@
+---
+title: pimlico_getUserOperationGasPrice
+sidebar_label: pimlico_getUserOperationGasPrice
+description: Get recommended gas prices for user operations on Pimlico bundlers.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-description.mdx"
+
+# `pimlico_getUserOperationGasPrice`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/celo/_pimlico_getuseroperationgasprice-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-response.mdx"
+
+
diff --git a/services/reference/celo/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx b/services/reference/celo/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx
new file mode 100644
index 00000000000..6355f919155
--- /dev/null
+++ b/services/reference/celo/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx
@@ -0,0 +1,44 @@
+---
+title: pimlico_getUserOperationStatus
+sidebar_label: pimlico_getUserOperationStatus
+description: Get the current status of a user operation by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-description.mdx"
+
+# `pimlico_getUserOperationStatus`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/celo/_pimlico_getuseroperationstatus-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-response.mdx"
+
+
diff --git a/services/reference/celo/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx b/services/reference/celo/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx
new file mode 100644
index 00000000000..d02755a2de9
--- /dev/null
+++ b/services/reference/celo/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx
@@ -0,0 +1,50 @@
+---
+title: pimlico_simulateAssetChanges
+sidebar_label: pimlico_simulateAssetChanges
+description: Simulate a user operation and return predicted asset changes.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-description.mdx"
+
+# `pimlico_simulateAssetChanges`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/celo/_pimlico_simulateassetchanges-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-response.mdx"
+
+
+
+## Errors
+
+import Errors from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-errors.mdx"
+
+
diff --git a/services/reference/ethereum/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx b/services/reference/ethereum/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx
new file mode 100644
index 00000000000..0af2180c553
--- /dev/null
+++ b/services/reference/ethereum/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_estimateUserOperationGas
+sidebar_label: eth_estimateUserOperationGas
+description: Simulate and estimate gas limits for a user operation before submission.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-description.mdx"
+
+# `eth_estimateUserOperationGas`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-response.mdx"
+
+
diff --git a/services/reference/ethereum/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx b/services/reference/ethereum/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx
new file mode 100644
index 00000000000..adce4cbe6e3
--- /dev/null
+++ b/services/reference/ethereum/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_getUserOperationByHash
+sidebar_label: eth_getUserOperationByHash
+description: Fetch user operation details by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-description.mdx"
+
+# `eth_getUserOperationByHash`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-response.mdx"
+
+
diff --git a/services/reference/ethereum/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx b/services/reference/ethereum/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx
new file mode 100644
index 00000000000..a9426e1d552
--- /dev/null
+++ b/services/reference/ethereum/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_getUserOperationReceipt
+sidebar_label: eth_getUserOperationReceipt
+description: Fetch the receipt of a user operation by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-description.mdx"
+
+# `eth_getUserOperationReceipt`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-response.mdx"
+
+
diff --git a/services/reference/ethereum/json-rpc-methods/bundler/eth_senduseroperation.mdx b/services/reference/ethereum/json-rpc-methods/bundler/eth_senduseroperation.mdx
new file mode 100644
index 00000000000..7b2c4cdb4c1
--- /dev/null
+++ b/services/reference/ethereum/json-rpc-methods/bundler/eth_senduseroperation.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_sendUserOperation
+sidebar_label: eth_sendUserOperation
+description: Submit a user operation to the mempool for bundling and execution.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_senduseroperation-description.mdx"
+
+# `eth_sendUserOperation`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_senduseroperation-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_senduseroperation-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_senduseroperation-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/_eth_senduseroperation-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_senduseroperation-response.mdx"
+
+
diff --git a/services/reference/ethereum/json-rpc-methods/bundler/eth_supportedentrypoints.mdx b/services/reference/ethereum/json-rpc-methods/bundler/eth_supportedentrypoints.mdx
new file mode 100644
index 00000000000..fc88a6fc9e3
--- /dev/null
+++ b/services/reference/ethereum/json-rpc-methods/bundler/eth_supportedentrypoints.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_supportedEntryPoints
+sidebar_label: eth_supportedEntryPoints
+description: Get the list of EntryPoint addresses supported by the bundler.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_supportedentrypoints-description.mdx"
+
+# `eth_supportedEntryPoints`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_supportedentrypoints-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_supportedentrypoints-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_supportedentrypoints-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/_eth_supportedentrypoints-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_supportedentrypoints-response.mdx"
+
+
diff --git a/services/reference/ethereum/json-rpc-methods/bundler/index.md b/services/reference/ethereum/json-rpc-methods/bundler/index.md
new file mode 100644
index 00000000000..46af6fb2bcb
--- /dev/null
+++ b/services/reference/ethereum/json-rpc-methods/bundler/index.md
@@ -0,0 +1,28 @@
+---
+title: Ethereum bundler methods
+sidebar_label: Bundler methods
+description: Ethereum bundler methods
+---
+
+Infura integrates with the Pimlico account abstraction bundler infrastructure, enabling
+developers to access [ERC-4337](https://docs.erc4337.io/) smart account features.
+
+The following [bundler methods](../../../../concepts/bundler.md) are supported on Ethereum Mainnet
+and Sepolia:
+
+- [`eth_sendUserOperation`](./eth_senduseroperation):
+ Submits a user operation to be included onchain.
+- [`eth_estimateUserOperationGas`](./eth_estimateuseroperationgas):
+ Simulates the user operation and estimates the appropriate gas limits.
+- [`eth_getUserOperationReceipt`](./eth_getuseroperationreceipt):
+ Fetches the receipt of a user operation.
+- [`eth_getUserOperationByHash`](./eth_getuseroperationbyhash):
+ Fetches the user operation by hash.
+- [`eth_supportedEntryPoints`](./eth_supportedentrypoints):
+ Fetches the EntryPoint addresses supported by the bundler.
+- [`pimlico_getUserOperationGasPrice`](./pimlico_getuseroperationgasprice):
+ Returns the gas prices that must be used for the user operation.
+- [`pimlico_getUserOperationStatus`](./pimlico_getuseroperationstatus):
+ Returns the user operation status.
+- [`pimlico_simulateAssetChanges`](./pimlico_simulateassetchanges):
+ Simulates a user operation to predict the asset changes it will cause.
\ No newline at end of file
diff --git a/services/reference/ethereum/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx b/services/reference/ethereum/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx
new file mode 100644
index 00000000000..70897d7e524
--- /dev/null
+++ b/services/reference/ethereum/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx
@@ -0,0 +1,44 @@
+---
+title: pimlico_getUserOperationGasPrice
+sidebar_label: pimlico_getUserOperationGasPrice
+description: Get recommended gas prices for user operations on Pimlico bundlers.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-description.mdx"
+
+# `pimlico_getUserOperationGasPrice`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-response.mdx"
+
+
diff --git a/services/reference/ethereum/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx b/services/reference/ethereum/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx
new file mode 100644
index 00000000000..24c4e50da7e
--- /dev/null
+++ b/services/reference/ethereum/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx
@@ -0,0 +1,44 @@
+---
+title: pimlico_getUserOperationStatus
+sidebar_label: pimlico_getUserOperationStatus
+description: Get the current status of a user operation by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-description.mdx"
+
+# `pimlico_getUserOperationStatus`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-response.mdx"
+
+
diff --git a/services/reference/ethereum/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx b/services/reference/ethereum/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx
new file mode 100644
index 00000000000..019d0050b4c
--- /dev/null
+++ b/services/reference/ethereum/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx
@@ -0,0 +1,50 @@
+---
+title: pimlico_simulateAssetChanges
+sidebar_label: pimlico_simulateAssetChanges
+description: Simulate a user operation and return predicted asset changes.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-description.mdx"
+
+# `pimlico_simulateAssetChanges`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-response.mdx"
+
+
+
+## Errors
+
+import Errors from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-errors.mdx"
+
+
diff --git a/services/reference/linea/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx b/services/reference/linea/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx
new file mode 100644
index 00000000000..eb0cb234ec4
--- /dev/null
+++ b/services/reference/linea/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_estimateUserOperationGas
+sidebar_label: eth_estimateUserOperationGas
+description: Simulate and estimate gas limits for a user operation before submission.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-description.mdx"
+
+# `eth_estimateUserOperationGas`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/linea/_eth_estimateuseroperationgas-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-response.mdx"
+
+
diff --git a/services/reference/linea/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx b/services/reference/linea/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx
new file mode 100644
index 00000000000..ff3931ab2b9
--- /dev/null
+++ b/services/reference/linea/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_getUserOperationByHash
+sidebar_label: eth_getUserOperationByHash
+description: Fetch user operation details by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-description.mdx"
+
+# `eth_getUserOperationByHash`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/linea/_eth_getuseroperationbyhash-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-response.mdx"
+
+
diff --git a/services/reference/linea/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx b/services/reference/linea/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx
new file mode 100644
index 00000000000..db6bc5d3697
--- /dev/null
+++ b/services/reference/linea/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_getUserOperationReceipt
+sidebar_label: eth_getUserOperationReceipt
+description: Fetch the receipt of a user operation by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-description.mdx"
+
+# `eth_getUserOperationReceipt`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/linea/_eth_getuseroperationreceipt-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-response.mdx"
+
+
diff --git a/services/reference/linea/json-rpc-methods/bundler/eth_senduseroperation.mdx b/services/reference/linea/json-rpc-methods/bundler/eth_senduseroperation.mdx
new file mode 100644
index 00000000000..3c9f570f0b8
--- /dev/null
+++ b/services/reference/linea/json-rpc-methods/bundler/eth_senduseroperation.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_sendUserOperation
+sidebar_label: eth_sendUserOperation
+description: Submit a user operation to the mempool for bundling and execution.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_senduseroperation-description.mdx"
+
+# `eth_sendUserOperation`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_senduseroperation-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_senduseroperation-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_senduseroperation-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/linea/_eth_senduseroperation-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_senduseroperation-response.mdx"
+
+
diff --git a/services/reference/linea/json-rpc-methods/bundler/eth_supportedentrypoints.mdx b/services/reference/linea/json-rpc-methods/bundler/eth_supportedentrypoints.mdx
new file mode 100644
index 00000000000..37c1745c25a
--- /dev/null
+++ b/services/reference/linea/json-rpc-methods/bundler/eth_supportedentrypoints.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_supportedEntryPoints
+sidebar_label: eth_supportedEntryPoints
+description: Get the list of EntryPoint addresses supported by the bundler.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_supportedentrypoints-description.mdx"
+
+# `eth_supportedEntryPoints`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_supportedentrypoints-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_supportedentrypoints-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_supportedentrypoints-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/linea/_eth_supportedentrypoints-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_supportedentrypoints-response.mdx"
+
+
diff --git a/services/reference/linea/json-rpc-methods/bundler/index.md b/services/reference/linea/json-rpc-methods/bundler/index.md
new file mode 100644
index 00000000000..05f25a9fadf
--- /dev/null
+++ b/services/reference/linea/json-rpc-methods/bundler/index.md
@@ -0,0 +1,28 @@
+---
+title: Linea bundler methods
+sidebar_label: Bundler methods
+description: Linea bundler methods
+---
+
+Infura integrates with the Pimlico account abstraction bundler infrastructure, enabling
+developers to access [ERC-4337](https://docs.erc4337.io/) smart account features.
+
+The following [bundler methods](../../../../concepts/bundler.md) are supported on Linea mainnet
+and Sepolia:
+
+- [`eth_sendUserOperation`](./eth_senduseroperation):
+ Submits a user operation to be included onchain.
+- [`eth_estimateUserOperationGas`](./eth_estimateuseroperationgas):
+ Simulates the user operation and estimates the appropriate gas limits.
+- [`eth_getUserOperationReceipt`](./eth_getuseroperationreceipt):
+ Fetches the receipt of a user operation.
+- [`eth_getUserOperationByHash`](./eth_getuseroperationbyhash):
+ Fetches the user operation by hash.
+- [`eth_supportedEntryPoints`](./eth_supportedentrypoints):
+ Fetches the EntryPoint addresses supported by the bundler.
+- [`pimlico_getUserOperationGasPrice`](./pimlico_getuseroperationgasprice):
+ Returns the gas prices that must be used for the user operation.
+- [`pimlico_getUserOperationStatus`](./pimlico_getuseroperationstatus):
+ Returns the user operation status.
+- [`pimlico_simulateAssetChanges`](./pimlico_simulateassetchanges):
+ Simulates a user operation to predict the asset changes it will cause.
\ No newline at end of file
diff --git a/services/reference/linea/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx b/services/reference/linea/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx
new file mode 100644
index 00000000000..613f77de1bf
--- /dev/null
+++ b/services/reference/linea/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx
@@ -0,0 +1,44 @@
+---
+title: pimlico_getUserOperationGasPrice
+sidebar_label: pimlico_getUserOperationGasPrice
+description: Get recommended gas prices for user operations on Pimlico bundlers.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-description.mdx"
+
+# `pimlico_getUserOperationGasPrice`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/linea/_pimlico_getuseroperationgasprice-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-response.mdx"
+
+
diff --git a/services/reference/linea/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx b/services/reference/linea/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx
new file mode 100644
index 00000000000..6055670f33b
--- /dev/null
+++ b/services/reference/linea/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx
@@ -0,0 +1,44 @@
+---
+title: pimlico_getUserOperationStatus
+sidebar_label: pimlico_getUserOperationStatus
+description: Get the current status of a user operation by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-description.mdx"
+
+# `pimlico_getUserOperationStatus`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/linea/_pimlico_getuseroperationstatus-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-response.mdx"
+
+
diff --git a/services/reference/linea/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx b/services/reference/linea/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx
new file mode 100644
index 00000000000..7d6f93a82cb
--- /dev/null
+++ b/services/reference/linea/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx
@@ -0,0 +1,50 @@
+---
+title: pimlico_simulateAssetChanges
+sidebar_label: pimlico_simulateAssetChanges
+description: Simulate a user operation and return predicted asset changes.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-description.mdx"
+
+# `pimlico_simulateAssetChanges`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/linea/_pimlico_simulateassetchanges-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-response.mdx"
+
+
+
+## Errors
+
+import Errors from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-errors.mdx"
+
+
diff --git a/services/reference/mantle/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx b/services/reference/mantle/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx
new file mode 100644
index 00000000000..9eddc841370
--- /dev/null
+++ b/services/reference/mantle/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_estimateUserOperationGas
+sidebar_label: eth_estimateUserOperationGas
+description: Simulate and estimate gas limits for a user operation before submission.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-description.mdx"
+
+# `eth_estimateUserOperationGas`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/mantle/_eth_estimateuseroperationgas-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-response.mdx"
+
+
diff --git a/services/reference/mantle/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx b/services/reference/mantle/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx
new file mode 100644
index 00000000000..110b1952f6e
--- /dev/null
+++ b/services/reference/mantle/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_getUserOperationByHash
+sidebar_label: eth_getUserOperationByHash
+description: Fetch user operation details by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-description.mdx"
+
+# `eth_getUserOperationByHash`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/mantle/_eth_getuseroperationbyhash-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-response.mdx"
+
+
diff --git a/services/reference/mantle/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx b/services/reference/mantle/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx
new file mode 100644
index 00000000000..ded3f9e6149
--- /dev/null
+++ b/services/reference/mantle/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_getUserOperationReceipt
+sidebar_label: eth_getUserOperationReceipt
+description: Fetch the receipt of a user operation by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-description.mdx"
+
+# `eth_getUserOperationReceipt`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/mantle/_eth_getuseroperationreceipt-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-response.mdx"
+
+
diff --git a/services/reference/mantle/json-rpc-methods/bundler/eth_senduseroperation.mdx b/services/reference/mantle/json-rpc-methods/bundler/eth_senduseroperation.mdx
new file mode 100644
index 00000000000..5c14d5d6831
--- /dev/null
+++ b/services/reference/mantle/json-rpc-methods/bundler/eth_senduseroperation.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_sendUserOperation
+sidebar_label: eth_sendUserOperation
+description: Submit a user operation to the mempool for bundling and execution.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_senduseroperation-description.mdx"
+
+# `eth_sendUserOperation`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_senduseroperation-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_senduseroperation-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_senduseroperation-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/mantle/_eth_senduseroperation-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_senduseroperation-response.mdx"
+
+
diff --git a/services/reference/mantle/json-rpc-methods/bundler/eth_supportedentrypoints.mdx b/services/reference/mantle/json-rpc-methods/bundler/eth_supportedentrypoints.mdx
new file mode 100644
index 00000000000..68a6698163d
--- /dev/null
+++ b/services/reference/mantle/json-rpc-methods/bundler/eth_supportedentrypoints.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_supportedEntryPoints
+sidebar_label: eth_supportedEntryPoints
+description: Get the list of EntryPoint addresses supported by the bundler.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_supportedentrypoints-description.mdx"
+
+# `eth_supportedEntryPoints`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_supportedentrypoints-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_supportedentrypoints-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_supportedentrypoints-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/mantle/_eth_supportedentrypoints-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_supportedentrypoints-response.mdx"
+
+
diff --git a/services/reference/mantle/json-rpc-methods/bundler/index.md b/services/reference/mantle/json-rpc-methods/bundler/index.md
new file mode 100644
index 00000000000..6cf53611124
--- /dev/null
+++ b/services/reference/mantle/json-rpc-methods/bundler/index.md
@@ -0,0 +1,28 @@
+---
+title: Mantle bundler methods
+sidebar_label: Bundler methods
+description: Mantle bundler methods
+---
+
+Infura integrates with the Pimlico account abstraction bundler infrastructure, enabling
+developers to access [ERC-4337](https://docs.erc4337.io/) smart account features.
+
+The following [bundler methods](../../../../concepts/bundler.md) are supported on Mantle mainnet
+and Sepolia:
+
+- [`eth_sendUserOperation`](./eth_senduseroperation):
+ Submits a user operation to be included onchain.
+- [`eth_estimateUserOperationGas`](./eth_estimateuseroperationgas):
+ Simulates the user operation and estimates the appropriate gas limits.
+- [`eth_getUserOperationReceipt`](./eth_getuseroperationreceipt):
+ Fetches the receipt of a user operation.
+- [`eth_getUserOperationByHash`](./eth_getuseroperationbyhash):
+ Fetches the user operation by hash.
+- [`eth_supportedEntryPoints`](./eth_supportedentrypoints):
+ Fetches the EntryPoint addresses supported by the bundler.
+- [`pimlico_getUserOperationGasPrice`](./pimlico_getuseroperationgasprice):
+ Returns the gas prices that must be used for the user operation.
+- [`pimlico_getUserOperationStatus`](./pimlico_getuseroperationstatus):
+ Returns the user operation status.
+- [`pimlico_simulateAssetChanges`](./pimlico_simulateassetchanges):
+ Simulates a user operation to predict the asset changes it will cause.
\ No newline at end of file
diff --git a/services/reference/mantle/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx b/services/reference/mantle/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx
new file mode 100644
index 00000000000..cca3e21ef35
--- /dev/null
+++ b/services/reference/mantle/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx
@@ -0,0 +1,44 @@
+---
+title: pimlico_getUserOperationGasPrice
+sidebar_label: pimlico_getUserOperationGasPrice
+description: Get recommended gas prices for user operations on Pimlico bundlers.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-description.mdx"
+
+# `pimlico_getUserOperationGasPrice`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/mantle/_pimlico_getuseroperationgasprice-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-response.mdx"
+
+
diff --git a/services/reference/mantle/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx b/services/reference/mantle/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx
new file mode 100644
index 00000000000..b55af88e8fc
--- /dev/null
+++ b/services/reference/mantle/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx
@@ -0,0 +1,44 @@
+---
+title: pimlico_getUserOperationStatus
+sidebar_label: pimlico_getUserOperationStatus
+description: Get the current status of a user operation by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-description.mdx"
+
+# `pimlico_getUserOperationStatus`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/mantle/_pimlico_getuseroperationstatus-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-response.mdx"
+
+
diff --git a/services/reference/mantle/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx b/services/reference/mantle/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx
new file mode 100644
index 00000000000..d37cd3ac324
--- /dev/null
+++ b/services/reference/mantle/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx
@@ -0,0 +1,50 @@
+---
+title: pimlico_simulateAssetChanges
+sidebar_label: pimlico_simulateAssetChanges
+description: Simulate a user operation and return predicted asset changes.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-description.mdx"
+
+# `pimlico_simulateAssetChanges`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/mantle/_pimlico_simulateassetchanges-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-response.mdx"
+
+
+
+## Errors
+
+import Errors from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-errors.mdx"
+
+
diff --git a/services/reference/opbnb/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx b/services/reference/opbnb/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx
new file mode 100644
index 00000000000..94ec23023aa
--- /dev/null
+++ b/services/reference/opbnb/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_estimateUserOperationGas
+sidebar_label: eth_estimateUserOperationGas
+description: Simulate and estimate gas limits for a user operation before submission.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-description.mdx"
+
+# `eth_estimateUserOperationGas`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/opbnb/_eth_estimateuseroperationgas-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-response.mdx"
+
+
diff --git a/services/reference/opbnb/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx b/services/reference/opbnb/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx
new file mode 100644
index 00000000000..ff36c2a56e7
--- /dev/null
+++ b/services/reference/opbnb/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_getUserOperationByHash
+sidebar_label: eth_getUserOperationByHash
+description: Fetch user operation details by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-description.mdx"
+
+# `eth_getUserOperationByHash`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/opbnb/_eth_getuseroperationbyhash-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-response.mdx"
+
+
diff --git a/services/reference/opbnb/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx b/services/reference/opbnb/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx
new file mode 100644
index 00000000000..b2ca73bc35a
--- /dev/null
+++ b/services/reference/opbnb/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_getUserOperationReceipt
+sidebar_label: eth_getUserOperationReceipt
+description: Fetch the receipt of a user operation by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-description.mdx"
+
+# `eth_getUserOperationReceipt`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/opbnb/_eth_getuseroperationreceipt-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-response.mdx"
+
+
diff --git a/services/reference/opbnb/json-rpc-methods/bundler/eth_senduseroperation.mdx b/services/reference/opbnb/json-rpc-methods/bundler/eth_senduseroperation.mdx
new file mode 100644
index 00000000000..ebb6fb5a818
--- /dev/null
+++ b/services/reference/opbnb/json-rpc-methods/bundler/eth_senduseroperation.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_sendUserOperation
+sidebar_label: eth_sendUserOperation
+description: Submit a user operation to the mempool for bundling and execution.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_senduseroperation-description.mdx"
+
+# `eth_sendUserOperation`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_senduseroperation-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_senduseroperation-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_senduseroperation-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/opbnb/_eth_senduseroperation-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_senduseroperation-response.mdx"
+
+
diff --git a/services/reference/opbnb/json-rpc-methods/bundler/eth_supportedentrypoints.mdx b/services/reference/opbnb/json-rpc-methods/bundler/eth_supportedentrypoints.mdx
new file mode 100644
index 00000000000..4d10d6af3b7
--- /dev/null
+++ b/services/reference/opbnb/json-rpc-methods/bundler/eth_supportedentrypoints.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_supportedEntryPoints
+sidebar_label: eth_supportedEntryPoints
+description: Get the list of EntryPoint addresses supported by the bundler.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_supportedentrypoints-description.mdx"
+
+# `eth_supportedEntryPoints`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_supportedentrypoints-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_supportedentrypoints-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_supportedentrypoints-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/opbnb/_eth_supportedentrypoints-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_supportedentrypoints-response.mdx"
+
+
diff --git a/services/reference/opbnb/json-rpc-methods/bundler/index.md b/services/reference/opbnb/json-rpc-methods/bundler/index.md
new file mode 100644
index 00000000000..80edf02ddfe
--- /dev/null
+++ b/services/reference/opbnb/json-rpc-methods/bundler/index.md
@@ -0,0 +1,27 @@
+---
+title: opBNB bundler methods
+sidebar_label: Bundler methods
+description: opBNB bundler methods
+---
+
+Infura integrates with the Pimlico account abstraction bundler infrastructure, enabling
+developers to access [ERC-4337](https://docs.erc4337.io/) smart account features.
+
+The following [bundler methods](../../../../concepts/bundler.md) are supported on opBNB mainnet:
+
+- [`eth_sendUserOperation`](./eth_senduseroperation):
+ Submits a user operation to be included onchain.
+- [`eth_estimateUserOperationGas`](./eth_estimateuseroperationgas):
+ Simulates the user operation and estimates the appropriate gas limits.
+- [`eth_getUserOperationReceipt`](./eth_getuseroperationreceipt):
+ Fetches the receipt of a user operation.
+- [`eth_getUserOperationByHash`](./eth_getuseroperationbyhash):
+ Fetches the user operation by hash.
+- [`eth_supportedEntryPoints`](./eth_supportedentrypoints):
+ Fetches the EntryPoint addresses supported by the bundler.
+- [`pimlico_getUserOperationGasPrice`](./pimlico_getuseroperationgasprice):
+ Returns the gas prices that must be used for the user operation.
+- [`pimlico_getUserOperationStatus`](./pimlico_getuseroperationstatus):
+ Returns the user operation status.
+- [`pimlico_simulateAssetChanges`](./pimlico_simulateassetchanges):
+ Simulates a user operation to predict the asset changes it will cause.
\ No newline at end of file
diff --git a/services/reference/opbnb/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx b/services/reference/opbnb/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx
new file mode 100644
index 00000000000..50a3d286fab
--- /dev/null
+++ b/services/reference/opbnb/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx
@@ -0,0 +1,44 @@
+---
+title: pimlico_getUserOperationGasPrice
+sidebar_label: pimlico_getUserOperationGasPrice
+description: Get recommended gas prices for user operations on Pimlico bundlers.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-description.mdx"
+
+# `pimlico_getUserOperationGasPrice`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/opbnb/_pimlico_getuseroperationgasprice-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-response.mdx"
+
+
diff --git a/services/reference/opbnb/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx b/services/reference/opbnb/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx
new file mode 100644
index 00000000000..4d439900625
--- /dev/null
+++ b/services/reference/opbnb/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx
@@ -0,0 +1,44 @@
+---
+title: pimlico_getUserOperationStatus
+sidebar_label: pimlico_getUserOperationStatus
+description: Get the current status of a user operation by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-description.mdx"
+
+# `pimlico_getUserOperationStatus`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/opbnb/_pimlico_getuseroperationstatus-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-response.mdx"
+
+
diff --git a/services/reference/opbnb/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx b/services/reference/opbnb/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx
new file mode 100644
index 00000000000..e541ec20151
--- /dev/null
+++ b/services/reference/opbnb/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx
@@ -0,0 +1,50 @@
+---
+title: pimlico_simulateAssetChanges
+sidebar_label: pimlico_simulateAssetChanges
+description: Simulate a user operation and return predicted asset changes.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-description.mdx"
+
+# `pimlico_simulateAssetChanges`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/opbnb/_pimlico_simulateassetchanges-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-response.mdx"
+
+
+
+## Errors
+
+import Errors from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-errors.mdx"
+
+
diff --git a/services/reference/optimism/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx b/services/reference/optimism/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx
new file mode 100644
index 00000000000..391e6fbb8fb
--- /dev/null
+++ b/services/reference/optimism/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_estimateUserOperationGas
+sidebar_label: eth_estimateUserOperationGas
+description: Simulate and estimate gas limits for a user operation before submission.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-description.mdx"
+
+# `eth_estimateUserOperationGas`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/optimism/_eth_estimateuseroperationgas-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-response.mdx"
+
+
diff --git a/services/reference/optimism/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx b/services/reference/optimism/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx
new file mode 100644
index 00000000000..7238ed1566c
--- /dev/null
+++ b/services/reference/optimism/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_getUserOperationByHash
+sidebar_label: eth_getUserOperationByHash
+description: Fetch user operation details by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-description.mdx"
+
+# `eth_getUserOperationByHash`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/optimism/_eth_getuseroperationbyhash-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-response.mdx"
+
+
diff --git a/services/reference/optimism/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx b/services/reference/optimism/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx
new file mode 100644
index 00000000000..2b43140699d
--- /dev/null
+++ b/services/reference/optimism/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_getUserOperationReceipt
+sidebar_label: eth_getUserOperationReceipt
+description: Fetch the receipt of a user operation by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-description.mdx"
+
+# `eth_getUserOperationReceipt`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/optimism/_eth_getuseroperationreceipt-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-response.mdx"
+
+
diff --git a/services/reference/optimism/json-rpc-methods/bundler/eth_senduseroperation.mdx b/services/reference/optimism/json-rpc-methods/bundler/eth_senduseroperation.mdx
new file mode 100644
index 00000000000..d1ddb6451b7
--- /dev/null
+++ b/services/reference/optimism/json-rpc-methods/bundler/eth_senduseroperation.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_sendUserOperation
+sidebar_label: eth_sendUserOperation
+description: Submit a user operation to the mempool for bundling and execution.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_senduseroperation-description.mdx"
+
+# `eth_sendUserOperation`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_senduseroperation-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_senduseroperation-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_senduseroperation-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/optimism/_eth_senduseroperation-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_senduseroperation-response.mdx"
+
+
diff --git a/services/reference/optimism/json-rpc-methods/bundler/eth_supportedentrypoints.mdx b/services/reference/optimism/json-rpc-methods/bundler/eth_supportedentrypoints.mdx
new file mode 100644
index 00000000000..5b86bc89f0d
--- /dev/null
+++ b/services/reference/optimism/json-rpc-methods/bundler/eth_supportedentrypoints.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_supportedEntryPoints
+sidebar_label: eth_supportedEntryPoints
+description: Get the list of EntryPoint addresses supported by the bundler.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_supportedentrypoints-description.mdx"
+
+# `eth_supportedEntryPoints`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_supportedentrypoints-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_supportedentrypoints-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_supportedentrypoints-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/optimism/_eth_supportedentrypoints-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_supportedentrypoints-response.mdx"
+
+
diff --git a/services/reference/optimism/json-rpc-methods/bundler/index.md b/services/reference/optimism/json-rpc-methods/bundler/index.md
new file mode 100644
index 00000000000..f15c4b0962f
--- /dev/null
+++ b/services/reference/optimism/json-rpc-methods/bundler/index.md
@@ -0,0 +1,28 @@
+---
+title: Optimism bundler methods
+sidebar_label: Bundler methods
+description: Optimism bundler methods
+---
+
+Infura integrates with the Pimlico account abstraction bundler infrastructure, enabling
+developers to access [ERC-4337](https://docs.erc4337.io/) smart account features.
+
+The following [bundler methods](../../../../concepts/bundler.md) are supported on Optimism mainnet
+and Sepolia:
+
+- [`eth_sendUserOperation`](./eth_senduseroperation):
+ Submits a user operation to be included onchain.
+- [`eth_estimateUserOperationGas`](./eth_estimateuseroperationgas):
+ Simulates the user operation and estimates the appropriate gas limits.
+- [`eth_getUserOperationReceipt`](./eth_getuseroperationreceipt):
+ Fetches the receipt of a user operation.
+- [`eth_getUserOperationByHash`](./eth_getuseroperationbyhash):
+ Fetches the user operation by hash.
+- [`eth_supportedEntryPoints`](./eth_supportedentrypoints):
+ Fetches the EntryPoint addresses supported by the bundler.
+- [`pimlico_getUserOperationGasPrice`](./pimlico_getuseroperationgasprice):
+ Returns the gas prices that must be used for the user operation.
+- [`pimlico_getUserOperationStatus`](./pimlico_getuseroperationstatus):
+ Returns the user operation status.
+- [`pimlico_simulateAssetChanges`](./pimlico_simulateassetchanges):
+ Simulates a user operation to predict the asset changes it will cause.
\ No newline at end of file
diff --git a/services/reference/optimism/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx b/services/reference/optimism/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx
new file mode 100644
index 00000000000..fd2b73e3659
--- /dev/null
+++ b/services/reference/optimism/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx
@@ -0,0 +1,44 @@
+---
+title: pimlico_getUserOperationGasPrice
+sidebar_label: pimlico_getUserOperationGasPrice
+description: Get recommended gas prices for user operations on Pimlico bundlers.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-description.mdx"
+
+# `pimlico_getUserOperationGasPrice`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/optimism/_pimlico_getuseroperationgasprice-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-response.mdx"
+
+
diff --git a/services/reference/optimism/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx b/services/reference/optimism/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx
new file mode 100644
index 00000000000..b3c0b3ed9f5
--- /dev/null
+++ b/services/reference/optimism/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx
@@ -0,0 +1,44 @@
+---
+title: pimlico_getUserOperationStatus
+sidebar_label: pimlico_getUserOperationStatus
+description: Get the current status of a user operation by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-description.mdx"
+
+# `pimlico_getUserOperationStatus`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/optimism/_pimlico_getuseroperationstatus-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-response.mdx"
+
+
diff --git a/services/reference/optimism/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx b/services/reference/optimism/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx
new file mode 100644
index 00000000000..6cfe789bfe6
--- /dev/null
+++ b/services/reference/optimism/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx
@@ -0,0 +1,50 @@
+---
+title: pimlico_simulateAssetChanges
+sidebar_label: pimlico_simulateAssetChanges
+description: Simulate a user operation and return predicted asset changes.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-description.mdx"
+
+# `pimlico_simulateAssetChanges`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/optimism/_pimlico_simulateassetchanges-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-response.mdx"
+
+
+
+## Errors
+
+import Errors from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-errors.mdx"
+
+
diff --git a/services/reference/polygon-pos/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx b/services/reference/polygon-pos/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx
new file mode 100644
index 00000000000..9bf38cb3839
--- /dev/null
+++ b/services/reference/polygon-pos/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_estimateUserOperationGas
+sidebar_label: eth_estimateUserOperationGas
+description: Simulate and estimate gas limits for a user operation before submission.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-description.mdx"
+
+# `eth_estimateUserOperationGas`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/polygon/_eth_estimateuseroperationgas-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-response.mdx"
+
+
diff --git a/services/reference/polygon-pos/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx b/services/reference/polygon-pos/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx
new file mode 100644
index 00000000000..35892bba0f1
--- /dev/null
+++ b/services/reference/polygon-pos/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_getUserOperationByHash
+sidebar_label: eth_getUserOperationByHash
+description: Fetch user operation details by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-description.mdx"
+
+# `eth_getUserOperationByHash`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/polygon/_eth_getuseroperationbyhash-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-response.mdx"
+
+
diff --git a/services/reference/polygon-pos/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx b/services/reference/polygon-pos/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx
new file mode 100644
index 00000000000..a3a011a1d6b
--- /dev/null
+++ b/services/reference/polygon-pos/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_getUserOperationReceipt
+sidebar_label: eth_getUserOperationReceipt
+description: Fetch the receipt of a user operation by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-description.mdx"
+
+# `eth_getUserOperationReceipt`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/polygon/_eth_getuseroperationreceipt-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-response.mdx"
+
+
diff --git a/services/reference/polygon-pos/json-rpc-methods/bundler/eth_senduseroperation.mdx b/services/reference/polygon-pos/json-rpc-methods/bundler/eth_senduseroperation.mdx
new file mode 100644
index 00000000000..657918342a7
--- /dev/null
+++ b/services/reference/polygon-pos/json-rpc-methods/bundler/eth_senduseroperation.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_sendUserOperation
+sidebar_label: eth_sendUserOperation
+description: Submit a user operation to the mempool for bundling and execution.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_senduseroperation-description.mdx"
+
+# `eth_sendUserOperation`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_senduseroperation-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_senduseroperation-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_senduseroperation-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/polygon/_eth_senduseroperation-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_senduseroperation-response.mdx"
+
+
diff --git a/services/reference/polygon-pos/json-rpc-methods/bundler/eth_supportedentrypoints.mdx b/services/reference/polygon-pos/json-rpc-methods/bundler/eth_supportedentrypoints.mdx
new file mode 100644
index 00000000000..aace96dbd2e
--- /dev/null
+++ b/services/reference/polygon-pos/json-rpc-methods/bundler/eth_supportedentrypoints.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_supportedEntryPoints
+sidebar_label: eth_supportedEntryPoints
+description: Get the list of EntryPoint addresses supported by the bundler.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_supportedentrypoints-description.mdx"
+
+# `eth_supportedEntryPoints`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_supportedentrypoints-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_supportedentrypoints-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_supportedentrypoints-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/polygon/_eth_supportedentrypoints-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_supportedentrypoints-response.mdx"
+
+
diff --git a/services/reference/polygon-pos/json-rpc-methods/bundler/index.md b/services/reference/polygon-pos/json-rpc-methods/bundler/index.md
new file mode 100644
index 00000000000..ea4d9b9eb07
--- /dev/null
+++ b/services/reference/polygon-pos/json-rpc-methods/bundler/index.md
@@ -0,0 +1,28 @@
+---
+title: Polygon bundler methods
+sidebar_label: Bundler methods
+description: Polygon bundler methods
+---
+
+Infura integrates with the Pimlico account abstraction bundler infrastructure, enabling
+developers to access [ERC-4337](https://docs.erc4337.io/) smart account features.
+
+The following [bundler methods](../../../../concepts/bundler.md) are supported on Polygon mainnet
+and Amoy:
+
+- [`eth_sendUserOperation`](./eth_senduseroperation):
+ Submits a user operation to be included onchain.
+- [`eth_estimateUserOperationGas`](./eth_estimateuseroperationgas):
+ Simulates the user operation and estimates the appropriate gas limits.
+- [`eth_getUserOperationReceipt`](./eth_getuseroperationreceipt):
+ Fetches the receipt of a user operation.
+- [`eth_getUserOperationByHash`](./eth_getuseroperationbyhash):
+ Fetches the user operation by hash.
+- [`eth_supportedEntryPoints`](./eth_supportedentrypoints):
+ Fetches the EntryPoint addresses supported by the bundler.
+- [`pimlico_getUserOperationGasPrice`](./pimlico_getuseroperationgasprice):
+ Returns the gas prices that must be used for the user operation.
+- [`pimlico_getUserOperationStatus`](./pimlico_getuseroperationstatus):
+ Returns the user operation status.
+- [`pimlico_simulateAssetChanges`](./pimlico_simulateassetchanges):
+ Simulates a user operation to predict the asset changes it will cause.
\ No newline at end of file
diff --git a/services/reference/polygon-pos/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx b/services/reference/polygon-pos/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx
new file mode 100644
index 00000000000..ba273ef15ef
--- /dev/null
+++ b/services/reference/polygon-pos/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx
@@ -0,0 +1,44 @@
+---
+title: pimlico_getUserOperationGasPrice
+sidebar_label: pimlico_getUserOperationGasPrice
+description: Get recommended gas prices for user operations on Pimlico bundlers.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-description.mdx"
+
+# `pimlico_getUserOperationGasPrice`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/polygon/_pimlico_getuseroperationgasprice-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-response.mdx"
+
+
diff --git a/services/reference/polygon-pos/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx b/services/reference/polygon-pos/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx
new file mode 100644
index 00000000000..a8cf2c4f628
--- /dev/null
+++ b/services/reference/polygon-pos/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx
@@ -0,0 +1,44 @@
+---
+title: pimlico_getUserOperationStatus
+sidebar_label: pimlico_getUserOperationStatus
+description: Get the current status of a user operation by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-description.mdx"
+
+# `pimlico_getUserOperationStatus`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/polygon/_pimlico_getuseroperationstatus-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-response.mdx"
+
+
diff --git a/services/reference/polygon-pos/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx b/services/reference/polygon-pos/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx
new file mode 100644
index 00000000000..0a284289696
--- /dev/null
+++ b/services/reference/polygon-pos/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx
@@ -0,0 +1,50 @@
+---
+title: pimlico_simulateAssetChanges
+sidebar_label: pimlico_simulateAssetChanges
+description: Simulate a user operation and return predicted asset changes.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-description.mdx"
+
+# `pimlico_simulateAssetChanges`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/polygon/_pimlico_simulateassetchanges-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-response.mdx"
+
+
+
+## Errors
+
+import Errors from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-errors.mdx"
+
+
diff --git a/services/reference/scroll/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx b/services/reference/scroll/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx
new file mode 100644
index 00000000000..07e9b537d8c
--- /dev/null
+++ b/services/reference/scroll/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_estimateUserOperationGas
+sidebar_label: eth_estimateUserOperationGas
+description: Simulate and estimate gas limits for a user operation before submission.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-description.mdx"
+
+# `eth_estimateUserOperationGas`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/scroll/_eth_estimateuseroperationgas-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-response.mdx"
+
+
diff --git a/services/reference/scroll/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx b/services/reference/scroll/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx
new file mode 100644
index 00000000000..38d7a51fecb
--- /dev/null
+++ b/services/reference/scroll/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_getUserOperationByHash
+sidebar_label: eth_getUserOperationByHash
+description: Fetch user operation details by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-description.mdx"
+
+# `eth_getUserOperationByHash`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/scroll/_eth_getuseroperationbyhash-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-response.mdx"
+
+
diff --git a/services/reference/scroll/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx b/services/reference/scroll/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx
new file mode 100644
index 00000000000..036395d49bc
--- /dev/null
+++ b/services/reference/scroll/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_getUserOperationReceipt
+sidebar_label: eth_getUserOperationReceipt
+description: Fetch the receipt of a user operation by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-description.mdx"
+
+# `eth_getUserOperationReceipt`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/scroll/_eth_getuseroperationreceipt-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-response.mdx"
+
+
diff --git a/services/reference/scroll/json-rpc-methods/bundler/eth_senduseroperation.mdx b/services/reference/scroll/json-rpc-methods/bundler/eth_senduseroperation.mdx
new file mode 100644
index 00000000000..bb87c425ff4
--- /dev/null
+++ b/services/reference/scroll/json-rpc-methods/bundler/eth_senduseroperation.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_sendUserOperation
+sidebar_label: eth_sendUserOperation
+description: Submit a user operation to the mempool for bundling and execution.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_senduseroperation-description.mdx"
+
+# `eth_sendUserOperation`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_senduseroperation-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_senduseroperation-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_senduseroperation-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/scroll/_eth_senduseroperation-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_senduseroperation-response.mdx"
+
+
diff --git a/services/reference/scroll/json-rpc-methods/bundler/eth_supportedentrypoints.mdx b/services/reference/scroll/json-rpc-methods/bundler/eth_supportedentrypoints.mdx
new file mode 100644
index 00000000000..7d3a7773575
--- /dev/null
+++ b/services/reference/scroll/json-rpc-methods/bundler/eth_supportedentrypoints.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_supportedEntryPoints
+sidebar_label: eth_supportedEntryPoints
+description: Get the list of EntryPoint addresses supported by the bundler.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_supportedentrypoints-description.mdx"
+
+# `eth_supportedEntryPoints`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_supportedentrypoints-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_supportedentrypoints-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_supportedentrypoints-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/scroll/_eth_supportedentrypoints-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_supportedentrypoints-response.mdx"
+
+
diff --git a/services/reference/scroll/json-rpc-methods/bundler/index.md b/services/reference/scroll/json-rpc-methods/bundler/index.md
new file mode 100644
index 00000000000..2be076c7d09
--- /dev/null
+++ b/services/reference/scroll/json-rpc-methods/bundler/index.md
@@ -0,0 +1,28 @@
+---
+title: Scroll bundler methods
+sidebar_label: Bundler methods
+description: Scroll bundler methods
+---
+
+Infura integrates with the Pimlico account abstraction bundler infrastructure, enabling
+developers to access [ERC-4337](https://docs.erc4337.io/) smart account features.
+
+The following [bundler methods](../../../../concepts/bundler.md) are supported on Scroll mainnet
+and Sepolia:
+
+- [`eth_sendUserOperation`](./eth_senduseroperation):
+ Submits a user operation to be included onchain.
+- [`eth_estimateUserOperationGas`](./eth_estimateuseroperationgas):
+ Simulates the user operation and estimates the appropriate gas limits.
+- [`eth_getUserOperationReceipt`](./eth_getuseroperationreceipt):
+ Fetches the receipt of a user operation.
+- [`eth_getUserOperationByHash`](./eth_getuseroperationbyhash):
+ Fetches the user operation by hash.
+- [`eth_supportedEntryPoints`](./eth_supportedentrypoints):
+ Fetches the EntryPoint addresses supported by the bundler.
+- [`pimlico_getUserOperationGasPrice`](./pimlico_getuseroperationgasprice):
+ Returns the gas prices that must be used for the user operation.
+- [`pimlico_getUserOperationStatus`](./pimlico_getuseroperationstatus):
+ Returns the user operation status.
+- [`pimlico_simulateAssetChanges`](./pimlico_simulateassetchanges):
+ Simulates a user operation to predict the asset changes it will cause.
\ No newline at end of file
diff --git a/services/reference/scroll/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx b/services/reference/scroll/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx
new file mode 100644
index 00000000000..a0d44319f0b
--- /dev/null
+++ b/services/reference/scroll/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx
@@ -0,0 +1,44 @@
+---
+title: pimlico_getUserOperationGasPrice
+sidebar_label: pimlico_getUserOperationGasPrice
+description: Get recommended gas prices for user operations on Pimlico bundlers.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-description.mdx"
+
+# `pimlico_getUserOperationGasPrice`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/scroll/_pimlico_getuseroperationgasprice-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-response.mdx"
+
+
diff --git a/services/reference/scroll/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx b/services/reference/scroll/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx
new file mode 100644
index 00000000000..323ba41e3bc
--- /dev/null
+++ b/services/reference/scroll/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx
@@ -0,0 +1,44 @@
+---
+title: pimlico_getUserOperationStatus
+sidebar_label: pimlico_getUserOperationStatus
+description: Get the current status of a user operation by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-description.mdx"
+
+# `pimlico_getUserOperationStatus`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/scroll/_pimlico_getuseroperationstatus-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-response.mdx"
+
+
diff --git a/services/reference/scroll/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx b/services/reference/scroll/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx
new file mode 100644
index 00000000000..6782f405385
--- /dev/null
+++ b/services/reference/scroll/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx
@@ -0,0 +1,50 @@
+---
+title: pimlico_simulateAssetChanges
+sidebar_label: pimlico_simulateAssetChanges
+description: Simulate a user operation and return predicted asset changes.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-description.mdx"
+
+# `pimlico_simulateAssetChanges`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/scroll/_pimlico_simulateassetchanges-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-response.mdx"
+
+
+
+## Errors
+
+import Errors from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-errors.mdx"
+
+
diff --git a/services/reference/sei/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx b/services/reference/sei/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx
new file mode 100644
index 00000000000..a9092f6db6f
--- /dev/null
+++ b/services/reference/sei/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_estimateUserOperationGas
+sidebar_label: eth_estimateUserOperationGas
+description: Simulate and estimate gas limits for a user operation before submission.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-description.mdx"
+
+# `eth_estimateUserOperationGas`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/sei/_eth_estimateuseroperationgas-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-response.mdx"
+
+
diff --git a/services/reference/sei/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx b/services/reference/sei/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx
new file mode 100644
index 00000000000..a3a3dc74c01
--- /dev/null
+++ b/services/reference/sei/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_getUserOperationByHash
+sidebar_label: eth_getUserOperationByHash
+description: Fetch user operation details by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-description.mdx"
+
+# `eth_getUserOperationByHash`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/sei/_eth_getuseroperationbyhash-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-response.mdx"
+
+
diff --git a/services/reference/sei/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx b/services/reference/sei/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx
new file mode 100644
index 00000000000..ddf14dc548f
--- /dev/null
+++ b/services/reference/sei/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_getUserOperationReceipt
+sidebar_label: eth_getUserOperationReceipt
+description: Fetch the receipt of a user operation by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-description.mdx"
+
+# `eth_getUserOperationReceipt`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/sei/_eth_getuseroperationreceipt-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-response.mdx"
+
+
diff --git a/services/reference/sei/json-rpc-methods/bundler/eth_senduseroperation.mdx b/services/reference/sei/json-rpc-methods/bundler/eth_senduseroperation.mdx
new file mode 100644
index 00000000000..558b421d839
--- /dev/null
+++ b/services/reference/sei/json-rpc-methods/bundler/eth_senduseroperation.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_sendUserOperation
+sidebar_label: eth_sendUserOperation
+description: Submit a user operation to the mempool for bundling and execution.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_senduseroperation-description.mdx"
+
+# `eth_sendUserOperation`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_senduseroperation-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_senduseroperation-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_senduseroperation-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/sei/_eth_senduseroperation-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_senduseroperation-response.mdx"
+
+
diff --git a/services/reference/sei/json-rpc-methods/bundler/eth_supportedentrypoints.mdx b/services/reference/sei/json-rpc-methods/bundler/eth_supportedentrypoints.mdx
new file mode 100644
index 00000000000..7a196996dd6
--- /dev/null
+++ b/services/reference/sei/json-rpc-methods/bundler/eth_supportedentrypoints.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_supportedEntryPoints
+sidebar_label: eth_supportedEntryPoints
+description: Get the list of EntryPoint addresses supported by the bundler.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_supportedentrypoints-description.mdx"
+
+# `eth_supportedEntryPoints`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_supportedentrypoints-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_supportedentrypoints-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_supportedentrypoints-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/sei/_eth_supportedentrypoints-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_supportedentrypoints-response.mdx"
+
+
diff --git a/services/reference/sei/json-rpc-methods/bundler/index.md b/services/reference/sei/json-rpc-methods/bundler/index.md
new file mode 100644
index 00000000000..2fdc73f614d
--- /dev/null
+++ b/services/reference/sei/json-rpc-methods/bundler/index.md
@@ -0,0 +1,28 @@
+---
+title: Sei bundler methods
+sidebar_label: Bundler methods
+description: Sei bundler methods
+---
+
+Infura integrates with the Pimlico account abstraction bundler infrastructure, enabling
+developers to access [ERC-4337](https://docs.erc4337.io/) smart account features.
+
+The following [bundler methods](../../../../concepts/bundler.md) are supported on Sei mainnet
+and testnet:
+
+- [`eth_sendUserOperation`](./eth_senduseroperation):
+ Submits a user operation to be included onchain.
+- [`eth_estimateUserOperationGas`](./eth_estimateuseroperationgas):
+ Simulates the user operation and estimates the appropriate gas limits.
+- [`eth_getUserOperationReceipt`](./eth_getuseroperationreceipt):
+ Fetches the receipt of a user operation.
+- [`eth_getUserOperationByHash`](./eth_getuseroperationbyhash):
+ Fetches the user operation by hash.
+- [`eth_supportedEntryPoints`](./eth_supportedentrypoints):
+ Fetches the EntryPoint addresses supported by the bundler.
+- [`pimlico_getUserOperationGasPrice`](./pimlico_getuseroperationgasprice):
+ Returns the gas prices that must be used for the user operation.
+- [`pimlico_getUserOperationStatus`](./pimlico_getuseroperationstatus):
+ Returns the user operation status.
+- [`pimlico_simulateAssetChanges`](./pimlico_simulateassetchanges):
+ Simulates a user operation to predict the asset changes it will cause.
\ No newline at end of file
diff --git a/services/reference/sei/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx b/services/reference/sei/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx
new file mode 100644
index 00000000000..552b41a33fc
--- /dev/null
+++ b/services/reference/sei/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx
@@ -0,0 +1,44 @@
+---
+title: pimlico_getUserOperationGasPrice
+sidebar_label: pimlico_getUserOperationGasPrice
+description: Get recommended gas prices for user operations on Pimlico bundlers.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-description.mdx"
+
+# `pimlico_getUserOperationGasPrice`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/sei/_pimlico_getuseroperationgasprice-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-response.mdx"
+
+
diff --git a/services/reference/sei/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx b/services/reference/sei/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx
new file mode 100644
index 00000000000..4eeecb1a398
--- /dev/null
+++ b/services/reference/sei/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx
@@ -0,0 +1,44 @@
+---
+title: pimlico_getUserOperationStatus
+sidebar_label: pimlico_getUserOperationStatus
+description: Get the current status of a user operation by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-description.mdx"
+
+# `pimlico_getUserOperationStatus`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/sei/_pimlico_getuseroperationstatus-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-response.mdx"
+
+
diff --git a/services/reference/sei/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx b/services/reference/sei/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx
new file mode 100644
index 00000000000..4f9c0b520f6
--- /dev/null
+++ b/services/reference/sei/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx
@@ -0,0 +1,50 @@
+---
+title: pimlico_simulateAssetChanges
+sidebar_label: pimlico_simulateAssetChanges
+description: Simulate a user operation and return predicted asset changes.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-description.mdx"
+
+# `pimlico_simulateAssetChanges`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/sei/_pimlico_simulateassetchanges-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-response.mdx"
+
+
+
+## Errors
+
+import Errors from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-errors.mdx"
+
+
diff --git a/services/reference/unichain/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx b/services/reference/unichain/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx
new file mode 100644
index 00000000000..1f83d5e6ba4
--- /dev/null
+++ b/services/reference/unichain/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_estimateUserOperationGas
+sidebar_label: eth_estimateUserOperationGas
+description: Simulate and estimate gas limits for a user operation before submission.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-description.mdx"
+
+# `eth_estimateUserOperationGas`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/unichain/_eth_estimateuseroperationgas-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-response.mdx"
+
+
diff --git a/services/reference/unichain/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx b/services/reference/unichain/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx
new file mode 100644
index 00000000000..f02afc17ff6
--- /dev/null
+++ b/services/reference/unichain/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_getUserOperationByHash
+sidebar_label: eth_getUserOperationByHash
+description: Fetch user operation details by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-description.mdx"
+
+# `eth_getUserOperationByHash`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/unichain/_eth_getuseroperationbyhash-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-response.mdx"
+
+
diff --git a/services/reference/unichain/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx b/services/reference/unichain/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx
new file mode 100644
index 00000000000..2503f8ae4c4
--- /dev/null
+++ b/services/reference/unichain/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_getUserOperationReceipt
+sidebar_label: eth_getUserOperationReceipt
+description: Fetch the receipt of a user operation by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-description.mdx"
+
+# `eth_getUserOperationReceipt`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/unichain/_eth_getuseroperationreceipt-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-response.mdx"
+
+
diff --git a/services/reference/unichain/json-rpc-methods/bundler/eth_senduseroperation.mdx b/services/reference/unichain/json-rpc-methods/bundler/eth_senduseroperation.mdx
new file mode 100644
index 00000000000..9843b646075
--- /dev/null
+++ b/services/reference/unichain/json-rpc-methods/bundler/eth_senduseroperation.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_sendUserOperation
+sidebar_label: eth_sendUserOperation
+description: Submit a user operation to the mempool for bundling and execution.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_senduseroperation-description.mdx"
+
+# `eth_sendUserOperation`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_senduseroperation-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_senduseroperation-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_senduseroperation-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/unichain/_eth_senduseroperation-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_senduseroperation-response.mdx"
+
+
diff --git a/services/reference/unichain/json-rpc-methods/bundler/eth_supportedentrypoints.mdx b/services/reference/unichain/json-rpc-methods/bundler/eth_supportedentrypoints.mdx
new file mode 100644
index 00000000000..03888c53c96
--- /dev/null
+++ b/services/reference/unichain/json-rpc-methods/bundler/eth_supportedentrypoints.mdx
@@ -0,0 +1,44 @@
+---
+title: eth_supportedEntryPoints
+sidebar_label: eth_supportedEntryPoints
+description: Get the list of EntryPoint addresses supported by the bundler.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_eth_supportedentrypoints-description.mdx"
+
+# `eth_supportedEntryPoints`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_eth_supportedentrypoints-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_eth_supportedentrypoints-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_eth_supportedentrypoints-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/unichain/_eth_supportedentrypoints-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_eth_supportedentrypoints-response.mdx"
+
+
diff --git a/services/reference/unichain/json-rpc-methods/bundler/index.md b/services/reference/unichain/json-rpc-methods/bundler/index.md
new file mode 100644
index 00000000000..b2e2d2e20f3
--- /dev/null
+++ b/services/reference/unichain/json-rpc-methods/bundler/index.md
@@ -0,0 +1,28 @@
+---
+title: Unichain bundler methods
+sidebar_label: Bundler methods
+description: Unichain bundler methods
+---
+
+Infura integrates with the Pimlico account abstraction bundler infrastructure, enabling
+developers to access [ERC-4337](https://docs.erc4337.io/) smart account features.
+
+The following [bundler methods](../../../../concepts/bundler.md) are supported on Unichain mainnet
+and Sepolia:
+
+- [`eth_sendUserOperation`](./eth_senduseroperation):
+ Submits a user operation to be included onchain.
+- [`eth_estimateUserOperationGas`](./eth_estimateuseroperationgas):
+ Simulates the user operation and estimates the appropriate gas limits.
+- [`eth_getUserOperationReceipt`](./eth_getuseroperationreceipt):
+ Fetches the receipt of a user operation.
+- [`eth_getUserOperationByHash`](./eth_getuseroperationbyhash):
+ Fetches the user operation by hash.
+- [`eth_supportedEntryPoints`](./eth_supportedentrypoints):
+ Fetches the EntryPoint addresses supported by the bundler.
+- [`pimlico_getUserOperationGasPrice`](./pimlico_getuseroperationgasprice):
+ Returns the gas prices that must be used for the user operation.
+- [`pimlico_getUserOperationStatus`](./pimlico_getuseroperationstatus):
+ Returns the user operation status.
+- [`pimlico_simulateAssetChanges`](./pimlico_simulateassetchanges):
+ Simulates a user operation to predict the asset changes it will cause.
\ No newline at end of file
diff --git a/services/reference/unichain/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx b/services/reference/unichain/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx
new file mode 100644
index 00000000000..30f5bde30ba
--- /dev/null
+++ b/services/reference/unichain/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx
@@ -0,0 +1,44 @@
+---
+title: pimlico_getUserOperationGasPrice
+sidebar_label: pimlico_getUserOperationGasPrice
+description: Get recommended gas prices for user operations on Pimlico bundlers.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-description.mdx"
+
+# `pimlico_getUserOperationGasPrice`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/unichain/_pimlico_getuseroperationgasprice-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-response.mdx"
+
+
diff --git a/services/reference/unichain/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx b/services/reference/unichain/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx
new file mode 100644
index 00000000000..ff81719cbbd
--- /dev/null
+++ b/services/reference/unichain/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx
@@ -0,0 +1,44 @@
+---
+title: pimlico_getUserOperationStatus
+sidebar_label: pimlico_getUserOperationStatus
+description: Get the current status of a user operation by its hash.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-description.mdx"
+
+# `pimlico_getUserOperationStatus`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/unichain/_pimlico_getuseroperationstatus-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-response.mdx"
+
+
diff --git a/services/reference/unichain/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx b/services/reference/unichain/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx
new file mode 100644
index 00000000000..be844f9c47b
--- /dev/null
+++ b/services/reference/unichain/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx
@@ -0,0 +1,50 @@
+---
+title: pimlico_simulateAssetChanges
+sidebar_label: pimlico_simulateAssetChanges
+description: Simulate a user operation and return predicted asset changes.
+---
+
+import Tabs from "@theme/Tabs"
+import TabItem from "@theme/TabItem"
+
+import Description from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-description.mdx"
+
+# `pimlico_simulateAssetChanges`
+
+
+
+## Parameters
+
+import Params from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-parameters.mdx"
+
+
+
+## Returns
+
+import Returns from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-returns.mdx"
+
+
+
+## Example
+
+import Example from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-example.mdx"
+
+
+
+### Request
+
+import Request from "/services/reference/_partials/bundler/unichain/_pimlico_simulateassetchanges-request.mdx"
+
+
+
+### Response
+
+import Response from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-response.mdx"
+
+
+
+## Errors
+
+import Errors from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-errors.mdx"
+
+
diff --git a/src/lib/data.js b/src/lib/data.js
index 88acb63a93f..997745e31ca 100644
--- a/src/lib/data.js
+++ b/src/lib/data.js
@@ -357,4 +357,14 @@ export const API_COSTS = {
busyThreshold: 80,
suggestedGasFees: 80,
},
+ bundler: {
+ eth_estimateUserOperationGas: 1980,
+ eth_getUserOperationByHash: 100,
+ eth_getUserOperationReceipt: 100,
+ eth_sendUserOperation: 4950,
+ eth_supportedEntryPoints: 10,
+ pimlico_getUserOperationGasPrice: 100,
+ pimlico_getUserOperationStatus: 50,
+ pimlico_simulateAssetChanges: 4950,
+ },
}
diff --git a/src/theme/Tabs/styles.module.scss b/src/theme/Tabs/styles.module.scss
index d5e3c1c98c5..24d1888b052 100644
--- a/src/theme/Tabs/styles.module.scss
+++ b/src/theme/Tabs/styles.module.scss
@@ -36,6 +36,38 @@
p {
padding: 1.6rem;
}
+
+ // Required for tabs that include bullet lists (e.g., bundler method parameters)
+ // Without this, L1 bullets are not visible and spacing is inconsistent
+ ul,
+ ol {
+ margin: 1.6rem 0 1.6rem 2rem;
+
+ li {
+ margin-bottom: 1rem;
+
+ // Handle list items that contain paragraphs (L1 bullets from markdown parsing)
+ p {
+ padding: 0; // Remove padding for paragraphs inside list items
+ margin: 0; // Remove margin to prevent double spacing
+ }
+ }
+ }
+
+ ul {
+ list-style-type: disc;
+ list-style-position: outside;
+ }
+
+ ul ul {
+ list-style-type: circle;
+ margin-left: 1.6rem;
+ margin-top: 1rem;
+ }
+
+ ul ul ul {
+ list-style-type: square;
+ }
}
.flaskOnly::after {