ccip

Check CCIP bridge transaction status

Changed on

Returns comprehensive information about a cross-chain CCIP bridge transaction, including CCIP message parameters, on-chain events, and transaction data from Enso.

get/api/v1/ccip/bridge/check

Request

  • Base URL
    https://api.enso.finance
  • URL
    https://api.enso.finance/api/v1/ccip/bridge/check
  • Auth
    HTTP bearer

Query parameters

chainIdnumber required
Example:56

Chain ID of the source transaction

txHashstring required
Example:0x80f1faf0652a5618ea1de0fc5142418e380676b3c6c74d482cfac1237638d6d4

Transaction hash of the CCIP bridge transaction on source chain

Response

Bridge transaction status and details

sourceChainIdnumber required

Source chain ID where the CCIP message was sent from

sourceTxHashstring required

Source chain transaction hash

sourceChainIdFinalitynumber required

CCIP finality time in seconds for the source chain (time required for CCIP to achieve finality)

sourceChainEstimatedTimeForFinalitySecondsnumber

Estimated seconds remaining until source chain finality is achieved

destinationChainIdnumber

Destination chain ID where the CCIP message was delivered

destinationTxHashstring

Destination chain transaction hash (if message was delivered)

status'pending' | 'inflight' | 'delivered' | 'failed' | 'ready_for_manual_execution' | 'unknown' required

Overall bridge status. ready_for_manual_execution means destination execution failed/stalled but is recoverable — anyone can (re)trigger manual execution once the underlying cause is resolved.

readyForManualExecutionboolean

True if the CCIP message is awaiting (or can be retried via) manual execution on the destination chain. A failed message that is ready for manual execution can be re-triggered by anyone once the underlying cause (e.g. token pool liquidity) is resolved.

destinationExecutionTxHashstring

The keeper's intent execution transaction on the destination chain, once executed - the transaction that performed the Enso swap. destinationTxHash is only the bridge delivery that funded the executor.

errorstring

Error message if the API request failed (e.g., transaction not found, invalid chain selector, API errors)

Example response

{
  "sourceChainId": 56,
  "sourceTxHash": "0x80f1faf0652a5618ea1de0fc5142418e380676b3c6c74d482cfac1237638d6d4",
  "sourceChainIdFinality": 5,
  "ccipSendParams": {
    "destinationChainSelector": "15971525489660198786"
  },
  "ccipSendParamsDecoded": {
    "destinationChainId": 8453,
    "data": {
      "receiver": "0x1234567890123456789012345678901234567890",
      "error": "Could not decode message.data as (address,bytes)"
    },
    "tokenAmounts": [
      {
        "token": {
          "address": "0x55d398326f99059fF775485246999027B3197955",
          "symbol": "USDT",
          "name": "Tether USD",
          "decimals": 18
        },
        "amount": "1000000000000000000"
      }
    ],
    "fee": {
      "token": {
        "address": "0x55d398326f99059fF775485246999027B3197955",
        "symbol": "USDT",
        "name": "Tether USD",
        "decimals": 18
      },
      "amount": "5000000000000000"
    },
    "extraArgs": {
      "gasLimit": "2000000"
    }
  },
  "destinationChainId": 8453,
  "destinationTxHash": "0x9a3e6a8a52b82a1f4b523b0d50be133df0ad9407814b32e42d67119e1ae1947d",
  "readyForManualExecution": true,
  "error": "Transaction receipt not found for 0x..."
}

Changes

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status