Skip to main content

Services documentation

Use high performance APIs provided by Infura to scale your dapp or Snap.

pimlico_getUserOperationStatus

Returns the user operation status and, optionally, the transaction hash that the bundler is using to bundle the user operation onchain. This method uses 80 credits from your daily balance.

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.

Parameters

  • userOpHash: (string) - The 32-byte hash of the user operation to check the status for.

Returns

An object containing the status information:

  • status: (string) - The current status of the user operation. Possible values:

    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 onchain.
    failedtrueThe operation hash is known to the bundler and the transaction bundling it has been included onchain but the bundle transaction reverted.
    queuedfalseThe 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.

Example

Replace <YOUR-API-KEY> with an API key from your MetaMask Developer dashboard.

Request

curl https://mainnet.infura.io/v3/<YOUR-API-KEY> \
-X POST \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "pimlico_getUserOperationStatus",
"params": ["0x9bd004b8240da8eba3a02190a72be8a70ade8ef4c581b6e59789643c5e642ac3"],
"id": 1
}'

Response

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