Gelato Network

Tracking your Relay Request

Learn how to check the status of your relay request
For the initial rollout of Gelato Relay, we have a basic way to keep track of your relay requests. This status tracking system is currently undergoing a lot of upgrades so expect the system to be a lot more informative, flexible and robust in the near future.

Task Status URL
For example, if your taskId returned from your relay response is:
taskId: 0x93a3defc618ff97c32a37bdd567b15c50748a5c3e8e858bca67f0c967b74a7fe
then the URL to go to is:
For this taskId, here is the returned task information:
The first thing to look at is the "taskState" key:

Task states:

For the taskState key, these are the possible values:
  • WaitingForConfirmation: the relay request has been received by Gelato Relay and it is waiting to be confirmed as a task in the relay task queue. This state usually lasts only a few seconds.
  • ExecPending: the relay task has been successfully submitted to the queue and its execution is pending.
  • ExecSuccess : the task has been successfully executed.
  • Cancelled: the task has been cancelled
    • In the case of Cancelled : the error message will be shown in the lastChecked object as a value for the key message.

What if my task is cancelled?

If your task is cancelled, you can find your error message under the "message" key, for example:
{"task":["chainId":"1","taskId":"0xca24714a3b1742cc8ed7f10b335c8a6c49e466facbb17fb3fb7943e8df7f68","taskState":"Cancelled","lastTransactionHash":"","created_at":"2022-10-11T07:49:37.578Z","lastCheck":{"taskState":"Cancelled","message":"Task Expired: LibExecAccess.execContractCall:GelatoRelay.callWithSyncFee: UnexpectedReturnData"]}
The error message in this case refers to the target contract reverting when being called by Gelato Relay's callWithSyncFee function and returning unexpected data. This is a low level fault, and could be something as simple as an out of gas error. If you get something similar and you are stuck on troubleshooting, please get in touch with us via Discord and ask in the relay channel! We will be sure to figure out what's going on.

Example: tracking a ready made task

Let's use a script to get a task to track without coding ourselves.
  1. 1.
    Clone the repo and enter the directory:
git clone && cd relay-docs-examples
2. Install dependencies
npm install && npm install -g ts-node
yarn install && yarn global add ts-node
3. Run an example script - in this case, we are running a script which submits a relay request which triggers the emitBalance event on the MyDummyWallet contract on Goerli.
ts-node src/examples/relayWithSyncFee/emitBalance.ts goerli
4. Read the terminal logs
Sending Gelato Relay request with parameters:
* Requested network: goerli
* Target contract: 0xA045eb75e78f4988d42c3cd201365bDD5D76D406
* Data: 0xa9cc0927
* FeeToken: 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE
🎉 Request sent successfully 🎉, your relay task ID is 0x93a3defc618ff97c32a37bdd567b15c50748a5c3e8e858bca67f0c967b74a7fe
Click here to see more details from our status API:
Click here to see your relayed message on-chain!:
Command + double click on the links above if you are on MacOS!