Bridge transfer status
GET/v1/data/bridge/status
Tracks a bridge transfer started via /v1/actions/swap/x-chain by polling the bridge's own tracking API. status is one of PENDING, DONE, FAILED, TRANSFER_REFUNDED, INVALID, NOT_FOUND, PARTIAL_SUCCESS. NOT_FOUND is normal in the first seconds after submission (indexer lag) — keep polling. toHash is the destination-chain transaction when the tracker exposes it. Responses are not cached.
Plain-text reference — GET /v1/data/bridge/status
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
bridge | query | string | yes | The bridge value from the executed quote |
fromChainId | query | string | yes | Source chain ID of the transfer |
toChainId | query | string | yes | Destination chain ID |
txHash | query | string | no | Source-chain transaction hash of the executed bridge transaction (required unless orderId) |
tokenIn | query | string | no | Bridged input token address — REQUIRED for Stargate (pool-keyed tracker), ignored by most bridges |
tokenOut | query | string | no | Bridged output token address — REQUIRED for Stargate |
orderId | query | string | no | Intent order id for order-based bridges (Mayan) |
Response 200
| Field | Type | Description |
|---|---|---|
success | boolean | |
data | object | Informational payload. null when the endpoint only builds calldata. |
data.bridge | string | |
data.status | PENDING, DONE, FAILED, TRANSFER_REFUNDED, INVALID, NOT_FOUND, … (7 values) | |
data.message | string | |
data.fromHash | string | |
data.toHash | string | Destination-chain tx hash when known |
data.details | object | The tracker's raw response payload |
Example response
{
"success": true,
"data": {
"bridge": "string",
"status": "PENDING",
"message": "string",
"fromHash": "string",
"toHash": "string"
}
}
Request
Responses
- 200
- 400
- 429
- 500
- 502
Transfer status
Validation error
Rate limited. Unauthenticated callers share a per-IP budget; send an x-api-key header to lift it. Retry with exponential backoff.
Unexpected server error. Safe to retry with backoff.
An upstream data source or protocol origin failed (error.code is ORIGIN_FAILED). error.details carries the per-origin status. This is also what a missing or malformed required parameter currently returns, rather than a 400.