eth_getUserOperationReceipt
Get the UserOperationReceipt based on the userOpHash.
This method retrieves and decodes userOperations from the logs of mined transactions by querying the node. The number of blocks scanned in a single request is limited. Use blockOption to position a bounded lookup window when searching historical blocks.
The maximum number of blocks a single request may scan for the operation's UserOperationEvent depends on the chain and your plan tier. This limits the width of the scan, not the age of the operation. A blockOption may position the scan at historical blocks, provided the resulting range does not exceed this width:
| Chain | Free | Pay As You Go | Enterprise |
|---|---|---|---|
| Arbitrum Mainnet, Arbitrum Sepolia, Arc Mainnet, Base Mainnet, Base Sepolia, Ethereum Mainnet, Ethereum Sepolia, OP Mainnet, OP Sepolia, Polygon PoS Amoy, Polygon PoS Mainnet, Robinhood Chain Mainnet, World Chain Mainnet, World Chain Sepolia | 150 | unlimited | unlimited |
| BNB Smart Chain Testnet | 50 | 50 | 50 |
| Hyperliquid Mainnet | 150 | 2,000 | 2,000 |
| Monad Mainnet | 150 | 1,000 | 1,000 |
| Robinhood Chain Testnet | 150 | 5,000 | 5,000 |
Chains not listed here use a 150-block limit on every tier.
Path Parameters
docs-demoFor higher throughput, create your own API key
Request
format: "^0x[0-9a-fA-F]*$"requiredThe userOpHash of the UserOperation to get the receipt for (as returned by eth_sendUserOperation).
The block scope for checking the UO status: the legacy "pending" or "latest" tag, a { fromBlock, toBlock } range, or a single block hash. Defaults to "latest".
Responses
200
UserOperationReceipt object representing the outcome of a UserOperation, or null if no receipt is found.