Skip to main content
GET
/
v1
/
status
Check swap status
curl --request GET \
  --url https://api.hypermid.io/v1/status \
  --header 'X-API-Key: <api-key>'
{
  "data": {
    "status": "DONE",
    "subStatus": "COMPLETED",
    "sending": {
      "txHash": "0xSourceTransactionHash",
      "chainId": 1,
      "amount": "1000000000000000000",
      "token": {
        "symbol": "ETH",
        "address": "0x0000000000000000000000000000000000000000"
      },
      "gasUsed": "150000",
      "gasPrice": "20000000000",
      "timestamp": 1711234500
    },
    "receiving": {
      "txHash": "0xDestinationTransactionHash",
      "chainId": 42161,
      "amount": "3237500000",
      "token": {
        "symbol": "USDC",
        "address": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831"
      },
      "timestamp": 1711234620
    },
    "tool": "stargate",
    "fromAddress": "0xSenderAddress",
    "toAddress": "0xReceiverAddress"
  },
  "error": null,
  "meta": {
    "requestId": "i9d0e1f2-a3b4-5678-2345-789012345678",
    "timestamp": 1711234625,
    "rateLimit": {
      "limit": 2000,
      "remaining": 1991,
      "reset": 1711234627
    }
  }
}
Returns the current status of a cross-chain swap transaction. Use this to track the progress of swaps after the user has signed and submitted the transaction.
txHash
string
required
The transaction hash on the source chain.
fromChain
number
required
Source chain ID.
toChain
number
required
Destination chain ID.
bridge
string
The bridge/tool used. If not provided, Hypermid will auto-detect.
{
  "data": {
    "status": "DONE",
    "subStatus": "COMPLETED",
    "sending": {
      "txHash": "0xSourceTransactionHash",
      "chainId": 1,
      "amount": "1000000000000000000",
      "token": {
        "symbol": "ETH",
        "address": "0x0000000000000000000000000000000000000000"
      },
      "gasUsed": "150000",
      "gasPrice": "20000000000",
      "timestamp": 1711234500
    },
    "receiving": {
      "txHash": "0xDestinationTransactionHash",
      "chainId": 42161,
      "amount": "3237500000",
      "token": {
        "symbol": "USDC",
        "address": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831"
      },
      "timestamp": 1711234620
    },
    "tool": "stargate",
    "fromAddress": "0xSenderAddress",
    "toAddress": "0xReceiverAddress"
  },
  "error": null,
  "meta": {
    "requestId": "i9d0e1f2-a3b4-5678-2345-789012345678",
    "timestamp": 1711234625,
    "rateLimit": {
      "limit": 2000,
      "remaining": 1991,
      "reset": 1711234627
    }
  }
}

Status Values

StatusDescription
NOT_FOUNDTransaction not found or not yet indexed
PENDINGTransaction is being processed
DONESwap completed successfully
FAILEDSwap failed

Sub-Status Values

Sub-StatusDescription
WAIT_SOURCE_CONFIRMATIONSWaiting for source chain confirmations
BRIDGE_IN_PROGRESSBridge transfer is in progress
WAIT_DESTINATION_TRANSACTIONWaiting for destination chain transaction
COMPLETEDFully completed
PARTIALPartially completed (refund may follow)
REFUNDEDTransaction was refunded

SuperSwap Sub-Status Values

For SuperSwap routes (provider superswap), additional sub-statuses are available:
Sub-StatusDescription
SWAP_IN_PROGRESSDEX swap executing on the destination chain
FALLBACK_SENTSwap unavailable — stablecoin returned to user
Add provider=superswap to the query when tracking SuperSwap transactions.
const status = await client.getStatus({
  txHash: "0xSourceTransactionHash",
  fromChain: 1,
  toChain: 42161,
});

switch (status.data.status) {
  case "DONE":
    console.log("Complete! Received:", status.data.receiving.amount);
    break;
  case "PENDING":
    console.log("In progress:", status.data.subStatus);
    break;
  case "FAILED":
    console.log("Failed");
    break;
  case "NOT_FOUND":
    console.log("Not found yet — try again shortly");
    break;
}
For manual deposit routes, use GET /v1/execute/deposit/status instead.

Authorizations

X-API-Key
string
header
required

Partner API key. Optional for public endpoints, required for /v1/partner/*.

Query Parameters

txHash
string

Transaction hash (required for LI.FI swaps)

bridge
string

Bridge name (LI.FI swaps)

fromChain
integer

Source chain ID (LI.FI swaps)

toChain
integer

Destination chain ID (LI.FI swaps)

provider
enum<string>

Set to 'near-intents' for NI status checks

Available options:
near-intents
correlationId
string

Correlation ID (required when provider=near-intents)

Response

Status retrieved

data
any
required

Response payload (null on error)

error
object
required
meta
object
required