We’ve introduced UI Logs for Gelato Bundler endpoints!
  • You can now track all your requests directly in the dashboard, and easily debug failed requests using built-in Tenderly simulations.
  • Additionally, you can get info such as response time, request body, response body, and more.

Debugging Failed Requests Using UI Logs

You can use the UI logs to debug failed requests directly from the Gelato app. These logs are available in the Paymaster & Bundler section of the dashboard. Paymaster & Bundler Logs
This debug feature is currently available only for eth_estimateUserOperationGas endpoint of Gelato Bundler.

Steps to Debug

  1. Go to the logs section and locate your failed eth_estimateUserOperationGas request.
  2. On the right side of the log entry, click the Debug button.
  3. A new option, View Debug, will appear. Click it.
  4. This will open a Tenderly simulation, which you can use to analyze and debug the failed request.

Using Status API

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
}