When submitting a request via Gelato Bundler, the identifier you receive depends on the operation type:
  • For ERC-4337 UserOperations submitted through our bundler or SDK, you’ll receive a userOpHash.
  • For non-ERC-4337 operations, a taskId (also referred to as id in the response object) will be returned.
In both cases, these identifiers (userOpHash or taskId) can be used to access additional features such as tracking requests and status updates via websocket subscriptions.
In any of the payment methods, when using Gelato Bundler, if you call the eth_sendUserOperation API endpoint, the returned userOpHash can also be used to track the status of the UserOperation through Gelato’s infrastructure like this:
curl -X GET https://api.gelato.digital/tasks/status/{userOpHash}
Additionally, you can debug the UserOperation using the status API on Tenderly like this: You can make use of the debug endpoint by adding the following parameters:
  • tenderlyUsername
  • tenderlyProjectName
The request URL should look like this:
curl -X GET https://api.gelato.digital/tasks/status/{userOpHash}/debug?tenderlyUsername={yourUserName}&tenderlyProjectName={yourProjectName}
After running the above command, you can use the link of tenderly simulation in the response to debug the UserOperation.

Using WebSocket API

Additionally, you can also use the WebSocket API to subscribe to the status updates of the UserOperation like this: You can interact with the websocket API directly by connecting to this endpoint:
wss://api.gelato.digital/tasks/ws/status
Once connected, you can subscribe to updates using userOpHash of your submitted userOperations by sending messages like this:
{
    "action": "subscribe",
    "taskId": "0x..." // paste your userOpHash here
}
To unsubscribe from updates:
{
    "action": "unsubscribe",
    "taskId": "0x..." // paste your userOpHash here
}