We’ve introduced UI Logs for Smart Wallet SDK requests!
  • You can now track all your requests directly in the dashboard, and easily debug failed requests using built-in Tenderly simulations.
  • Additionally, you can view details 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. Smart Wallet SDK Logs
This debug feature is currently available only for wallet_preparedCalls endpoint of Smart Wallet SDK.

Steps to Debug

  1. Go to the logs section and locate your failed wallet_preparedCalls 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 Smart Wallet SDK, if you call the wallet_sendPreparedCalls API endpoint, the returned Id can also be used to track the status of the request through Gelato’s infrastructure like this:
curl -X GET https://api.gelato.digital/tasks/status/{Id}
Additionally, you can debug the request 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/{Id}/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 request 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 Id of your submitted requests by sending messages like this:
{
    "action": "subscribe",
    "taskId": "0x..." // paste your Id here
}
To unsubscribe from updates:
{
    "action": "unsubscribe",
    "taskId": "0x..." // paste your Id here
}