Transaction Tracking
Track the status of a cross-chain swap with GET /transaction/{requestId}.
Obtaining the requestId
The requestId is emitted in the ComplexOpProcessed event on the source chain after the transaction is confirmed. You can extract it from the transaction receipt.
Response structure
{
"status": "inProgress",
"inconsistency": false,
"source": {
"chainId": 11155111,
"transactionHash": "0x...",
"from": "0x...",
"events": [],
"status": "completed"
},
"oracle": {
"relayChainId": 11155111,
"requestId": "0x...",
"status": "inProgress",
"height": null,
"epoch": null,
"time": null
},
"destination": {
"chainId": 64165,
"transactionHash": null,
"events": [],
"emergency": false,
"status": "inProgress",
"bridgeState": {},
"error": null
},
"data": null
}The response contains three sub-objects representing each phase of the cross-chain operation:
source
Status on the originating chain
oracle
Validator confirmation status
destination
Status on the target chain
destination.emergency becomes true if over 30 minutes pass without completion.
Top-level status values
inProgress
No
Transaction is being processed
completed
Yes
Successfully completed
failed
Yes
An error occurred
reverted
Yes
Reverted (emergency completion is available)
retry
No
Delivery is being retried
canceled
Yes
Transaction was canceled
Polling recommendations
Poll every 10-15 seconds.
Set a 15 minute timeout.
Stop polling when the top-level
statusreaches a final state (completed,failed,reverted, orcanceled).
Last updated

