Bundler RPC

Fully compatible with EIP-4337 standard

Powered by Particle Network's Bundler server, we provide a fast and stable bundler server. Fully compatible with EIP-4337 standard. And a lot of outstanding features:

  1. UserOp Persistence

  2. UserOp Concurrent Handling

  3. Built-in gas price oracle

  4. Multi Bundler Signers Manager

  5. Auto fulfill bundler singers’ balance

  6. Auto Retry for failed transaction from bundler signer account

  7. Returns the correct Transaction even when affected by MEV

  8. ...

For details please check our open-source bundler implementation: https://github.com/Particle-Network/particle-bundler-server

RPC Standard: https://eips.ethereum.org/EIPS/eip-4337#rpc-methods-eth-namespace\

Supported Chains

  1. Ethereum Mainnet, Goerli & Sepolia

  2. Polygon Mainnet & Mumbai Testnet

  3. Optimism Mainnet & Optimism Goerli Testnet

  4. Arbitrum One & Nova & Goerli Testnet

  5. Scroll Mainnet & Sepolia Testnet

  6. Linea Mainnet & Testnet

  7. Base Mainnet & Testnet

  8. Mantle Mainnet & Testnet

  9. Manta Mainnet & Testnet

  10. Taiko Jolnir Testnet

  11. Avalanche Mainnet & Fuji Testnet

  12. BNB Chain Mainnet & Testnet

  13. opBNB Mainnet & Testnet

  14. Combo Testnet

  15. ... more chains are coming

Endpoint

Base URL: https://bundler.particle.network

Add chainId to the URL: https://bundler.particle.network?chainId=137

Or you can add chainId in the request body

eth_supportedEntryPoints

Request

{
  "chainId": 80001,
  "jsonrpc": "2.0",
  "id": 1,
  "method": "eth_supportedEntryPoints",
  "params": []
}

Response

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": [
    // we only support this right now
    "0x5ff137d4b0fdcd49dca30c7cf57e578a026d2789"
  ]
}

eth_estimateUserOperationGas

Request

{
  "method": "eth_estimateUserOperationGas",
  "params": [
    // partial user operation
    {
      "sender": "0x8fb859e944561678be40cdd2db16551396c0b074",
      "nonce": "0x0152",
      "initCode": "0x",
      "callData": "0x9e5d4c49000000000000000000000000329a7f8b91ce7479035cb1b5d62ab41845830ce8000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000",
      "signature": "0x73c3ac716c487ca34bb858247b5ccf1dc354fbaabdd089af3b2ac8e78ba85a4959a2d76250325bd67c11771c31fccda87c33ceec17cc0de912690521bb95ffcb1b"
    },
    "0x5ff137d4b0fdcd49dca30c7cf57e578a026d2789"
  ],
  "id": 1695717515,
  "jsonrpc": "2.0",
  "chainId": 80001
}

Response

{
  "jsonrpc": "2.0",
  "id": 43,
  "result": {
    "maxFeePerGas": "0x2718",
    "maxPriorityFeePerGas": "0x2718",
    "preVerificationGas": "0xb4ac",
    "verificationGas": "0x0123b5",
    "verificationGasLimit": "0x0123b5",
    "callGasLimit": "0x01c097"
}

eth_sendUserOperation

Request

{
  "method": "eth_sendUserOperation",
  "params": [
    // user opearation
    {
      "sender": "0x8Fb859E944561678be40Cdd2dB16551396c0b074",
      "nonce": "0x0150",
      "initCode": "0x",
      "callData": "0x9e5d4c49000000000000000000000000329a7f8b91ce7479035cb1b5d62ab41845830ce8000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000",
      "callGasLimit": "0xa13c",
      "verificationGasLimit": "0xe2d8",
      "maxFeePerGas": "0x7ca702cd",
      "maxPriorityFeePerGas": "0x7ca702b0",
      "paymasterAndData": "0x000031dd6d9d3a133e663660b959162870d755d4000000000000000000000000329a7f8b91ce7479035cb1b5d62ab41845830ce8000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000416665636080709b968ebec098bf71fb0e79b3b480cc9ff809f192afb478c84ec50ad2de74b93a67860542099b11a1b5dbfa9bc21a2790c58e10015ce992a02f411b00000000000000000000000000000000000000000000000000000000000000",
      "preVerificationGas": "0x011120",
      "signature": "0x7cc0a2ae350b79c5b189bd36d55ab6a2756097d6d37537e3ec2c26daaa82c6d909fed87ff9d79a6fa127bd798126259ee72fa9395ecbeb1f70ed22ca35983aea1c"
    },
    // entrypoint contract address
    "0x5ff137d4b0fdcd49dca30c7cf57e578a026d2789"
  ],
  "id": 1695717470,
  "jsonrpc": "2.0",
  "chainId": 80001
}

Response

{
  "jsonrpc": "2.0",
  "id": 1695717492,
  // user operation hash
  "result": "0xc876024995480fd19ddf0e72533267db7f3f20dcc1e54d27ffdd45902d954dfa"
}

eth_getUserOperationByHash

Request

{
    "method": "eth_getUserOperationByHash",
    "params": [
      // user operation hash
      "0x1ee478a6e967c407e8dfb5e3f2eb1131a7418c36396147fce1f7e81a871102a3"
    ],
    "id": 1695717473,
    "jsonrpc": "2.0",
    "chainId": 80001
}

Response

{
  "jsonrpc": "2.0",
  "id": 49,
  "result": {
    "userOperation": {
      "sender": "0x7038b737a81932f4fc4245A0B3453c91DE4f9FAB",
      "nonce": "0x18",
      "initCode": "0x",
      "callData": "0xb61d27f6000000000000000000000000c1c4aa02f5b65d1a885ec5cc03b39598047390eb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002440d097c30000000000000000000000007038b737a81932f4fc4245a0b3453c91de4f9fab00000000000000000000000000000000000000000000000000000000",
      "callGasLimit": "0x01c097",
      "verificationGasLimit": "0x0123b5",
      "preVerificationGas": "0xb4ac",
      "maxFeePerGas": "0x2718",
      "maxPriorityFeePerGas": "0x2718",
      "paymasterAndData": "0x52e9605391f43197b0ca1e6ae5f969a65091fe150000000000000000000000000000000000000000000000000000000065129d050000000000000000000000000000000000000000000000000000000000000000e74ded93d8e83f0b58df25fb7aeb21a63918595a936c2288b4424919b349b3265164bb43fa1c142b83970d8aa4a64b86be1a5a8b84d5bf929209b8587c1272c21b",
      "signature": "0xd8e4170b3f3782b88af7114d3db4b5b6813eafd74572d0683fa8eff7e065172243088d99f68be71b42a4228f6cb936a34acc457e02aa3ea0f5b8f43aca38207f1b",
      "verificationGas": "0x0123b5"
    },
    "entryPoint": "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789",
    "transactionHash": "0x931a2363ac66b23ef09a54a130145bc6f61b656b21cfcad07c132cd0f6d4f029",
    "blockHash": "0x06a9dde92113aff80329e10993880733d471f1d5fa2e87fd0ac12ac16e0fe733",
    "blockNumber": "0x3c7dc6"
  }
}

eth_getUserOperationReceipt

Request

{
  "method": "eth_getUserOperationReceipt",
  "params": [
    // user operation hash
    "0x1ee478a6e967c407e8dfb5e3f2eb1131a7418c36396147fce1f7e81a871102a3"
  ],
  "id": 1695717473,
  "jsonrpc": "2.0",
  "chainId": 80001
}

Response

{
  "jsonrpc": "2.0",
  "id": 49,
  "result": {
    "userOpHash": "0xb2cc73236ea69e45de6fed082d426de4076bc8d904d3e3f2f3447db60f4eb45b",
    "sender": "0x7038b737a81932f4fc4245A0B3453c91DE4f9FAB",
    "nonce": "0x18",
    "actualGasCost": "0x53788d58",
    "actualGasUsed": "0x022299",
    "success": true,
    "logs": [
      {
        "address": "0x5ff137d4b0fdcd49dca30c7cf57e578a026d2789",
        "topics": [
          "0x49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f",
          "0xb2cc73236ea69e45de6fed082d426de4076bc8d904d3e3f2f3447db60f4eb45b",
          "0x0000000000000000000000007038b737a81932f4fc4245a0b3453c91de4f9fab",
          "0x00000000000000000000000052e9605391f43197b0ca1e6ae5f969a65091fe15"
        ],
        "data": "0x000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000053788d580000000000000000000000000000000000000000000000000000000000022299",
        "blockNumber": "0x3c7dc6",
        "transactionHash": "0x931a2363ac66b23ef09a54a130145bc6f61b656b21cfcad07c132cd0f6d4f029",
        "transactionIndex": "0x4",
        "blockHash": "0x06a9dde92113aff80329e10993880733d471f1d5fa2e87fd0ac12ac16e0fe733",
        "logIndex": "0xb",
        "removed": false
      }
    ],
    "receipt": {
      "type": "0x2",
      "from": "0x9e375d31a8d0ed88d0ede9c7a3f775965d9442f2",
      "to": "0x5ff137d4b0fdcd49dca30c7cf57e578a026d2789",
      "status": "0x1",
      "cumulativeGasUsed": "0xd890b",
      "logsBloom": "0x000000000000000000002000000000000000000000000000000000000000000000080000000000000002000100000000001000000000000000000200000000000000000000000000000000080040000000000000000001010000000000000000000000000a0000000000000000010810000000000000200000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000100000000000000000000000000002040000000000000002000000000001000000020000000000000000000000000000000030000000000000000002000000000002000000000000000000000002000020000000",
      "logs": [
        {
          "address": "0x5ff137d4b0fdcd49dca30c7cf57e578a026d2789",
          "topics": [
            "0xbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f972"
          ],
          "data": "0x",
          "blockNumber": "0x3c7dc6",
          "transactionHash": "0x931a2363ac66b23ef09a54a130145bc6f61b656b21cfcad07c132cd0f6d4f029",
          "transactionIndex": "0x4",
          "blockHash": "0x06a9dde92113aff80329e10993880733d471f1d5fa2e87fd0ac12ac16e0fe733",
          "logIndex": "0x9",
          "removed": false
        },
        {
          "address": "0xc1c4aa02f5b65d1a885ec5cc03b39598047390eb",
          "topics": [
            "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
            "0x0000000000000000000000000000000000000000000000000000000000000000",
            "0x0000000000000000000000007038b737a81932f4fc4245a0b3453c91de4f9fab",
            "0x0000000000000000000000000000000000000000000000000000000000013232"
          ],
          "data": "0x",
          "blockNumber": "0x3c7dc6",
          "transactionHash": "0x931a2363ac66b23ef09a54a130145bc6f61b656b21cfcad07c132cd0f6d4f029",
          "transactionIndex": "0x4",
          "blockHash": "0x06a9dde92113aff80329e10993880733d471f1d5fa2e87fd0ac12ac16e0fe733",
          "logIndex": "0xa",
          "removed": false
        },
        {
          "address": "0x5ff137d4b0fdcd49dca30c7cf57e578a026d2789",
          "topics": [
            "0x49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f",
            "0xb2cc73236ea69e45de6fed082d426de4076bc8d904d3e3f2f3447db60f4eb45b",
            "0x0000000000000000000000007038b737a81932f4fc4245a0b3453c91de4f9fab",
            "0x00000000000000000000000052e9605391f43197b0ca1e6ae5f969a65091fe15"
          ],
          "data": "0x000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000053788d580000000000000000000000000000000000000000000000000000000000022299",
          "blockNumber": "0x3c7dc6",
          "transactionHash": "0x931a2363ac66b23ef09a54a130145bc6f61b656b21cfcad07c132cd0f6d4f029",
          "transactionIndex": "0x4",
          "blockHash": "0x06a9dde92113aff80329e10993880733d471f1d5fa2e87fd0ac12ac16e0fe733",
          "logIndex": "0xb",
          "removed": false
        }
      ],
      "transactionHash": "0x931a2363ac66b23ef09a54a130145bc6f61b656b21cfcad07c132cd0f6d4f029",
      "contractAddress": null,
      "gasUsed": "0x22a80",
      "blockHash": "0x06a9dde92113aff80329e10993880733d471f1d5fa2e87fd0ac12ac16e0fe733",
      "blockNumber": "0x3c7dc6",
      "transactionIndex": "0x4",
      "effectiveGasPrice": "0x3e9",
      "l1GasPrice": "0xe66d67b9",
      "l1GasUsed": "0x2d28",
      "l1Fee": "0x28a53c53b9e8",
      "l1FeeScalar": "1"
    },
    "isPending": true
  }
}

JSON-RPC Errors

Error CodeMessage

-32000

System error

-32001

Unsupported chainId

-32002

Arrays are not currently supported

-32003

Not supported entry point

-32004

The UserOP is already processed

-32005

Estimate gas failed

-32600

Invalid Request

-32602

Invalid params

-32603

Not supported entry point

-32604

Send user operation failed

-32605

Validate user operation failed

-32606

Simulate user operation failed

Demos

Live Demos

Last updated