Skip to main content
GET
/
2
/
bridge
/
status
/
{id}
[Alpha Preview] Get bridge intent status
curl --request GET \
  --url https://demo-api.mobula.io/api/2/bridge/status/{id}
{
  "data": {
    "intentId": "<string>",
    "status": "pending",
    "originChainId": "<string>",
    "destinationChainId": "<string>",
    "sender": "<string>",
    "recipient": "<string>",
    "amountIn": "<string>",
    "amountOut": "<string>",
    "depositTxHash": "<string>",
    "fillTxHash": "<string>",
    "settleTxHash": "<string>",
    "latencyMs": 123,
    "timestamps": {
      "depositDetected": "2023-11-07T05:31:56Z",
      "fillSent": "2023-11-07T05:31:56Z",
      "fillConfirmed": "2023-11-07T05:31:56Z",
      "settled": "2023-11-07T05:31:56Z"
    },
    "createdAt": "2023-11-07T05:31:56Z",
    "message": "<string>"
  }
}
Alpha Preview — This endpoint is in alpha and may change without notice.

Overview

Query the lifecycle status of a bridge intent. You can look up by:
  • Intent ID — the bytes32 identifier generated on-chain (starts with 0x, 66 chars)
  • Deposit TX hash — the transaction hash of the deposit on the origin chain

Status Lifecycle

pending -> deposited -> filling -> filled -> settled
                          |
                          v
                       retrying -> refunded
                                      |
                                      v
                                    failed
StatusDescription
pendingIntent not yet detected — deposit may still be processing
depositedDeposit detected by chain listener
fillingFill transaction sent to destination chain
filledFill confirmed on destination — user has received funds
settledSettlement complete, solver has withdrawn deposited funds
retryingFill failed, retrying with backoff (up to 3 attempts)
refundedAll retries exhausted, user refunded on origin chain
failedRefund also failed — requires manual intervention

SDK Usage

import { Mobula } from "@mobula/sdk";

const mobula = new Mobula({ apiKey: "YOUR_API_KEY" });

// Poll by deposit TX hash
const status = await mobula.rest.fetchBridgeStatus({
  id: "0xYourDepositTxHash...",
});

console.log(status.data.status);      // "filled"
console.log(status.data.fillTxHash);  // destination chain TX hash
console.log(status.data.latencyMs);   // e.g. 487

Path Parameters

id
string
required

Intent ID (0x + 64 hex chars) or deposit transaction hash

Response

200 - application/json

Bridge intent status

data
object
required