Alto Bundler Endpoints

For the list of the standard bundler methods, see the ERC-4337 (opens in a new tab) specification.

Additional Methods

pimlico_getUserOperationGasPrice

This method returns recommended gas prices that can be used for the User Operation you are bundling.

Request:

{
    "jsonrpc": "2.0",
    "method": "pimlico_getUserOperationGasPrice",
    "params": [],
    "id": 1
}

Response:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "slow": {
      "maxFeePerGas": "0x829b42b5",
      "maxPriorityFeePerGas": "0x829b42b5"
    },
    "standard": {
      "maxFeePerGas": "0x88d36a75",
      "maxPriorityFeePerGas": "0x88d36a75"
    },
    "fast": {
      "maxFeePerGas": "0x8f0b9234",
      "maxPriorityFeePerGas": "0x8f0b9234"
    }
  }
}

pimlico_getUserOperationStatus

This method takes in a user operation hash and returns the status of the operation and, optionally, the transaction hash the bundler is using to bundle the user operation on-chain. The status can be one of the following:

resultresponse includes transaction hashdescription
not_foundfalsethe operation hash is not known to the bundler or has been rejected during validation and has never entered the mempool
not_submittedfalsethe operation hash is known to the bundler but is sitting in the mempool and has not been bundled into a transaction yet
submittedtruethe operation hash is known to the bundler, has been bundled into a transaction which is currently pending in the mempool
rejectedfalsethe 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
includedtruethe operation hash is known to the bundler and has been included on-chain
failedtruethe operation hash is known to the bundler and the transaction bundling it has been included on-chain but the bundle transaction reverted

Note: 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.

Request:

{
    "jsonrpc": "2.0",
    "method": "pimlico_getUserOperationStatus",
    "params": ["0x9bd004b8240da8eba3a02190a72be8a70ade8ef4c581b6e59789643c5e642ac3"],
    "id": 1
}

Response:

{
    "jsonrpc": "2.0",
    "id": 1,
    "result": {
        "status": "not_found",
        "transactionHash": null
    }
}