cctp

Check CCTP bridge transaction status

Changed on

Returns information about a cross-chain CCTP bridge transaction, including attestation status, amount, fee, and destination transaction. Rate limited to 1 request per 10 seconds.

get/api/v1/cctp/bridge/check

Request

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

Query parameters

chainIdnumber required
Example:143

Chain ID of the source transaction

txHashstring required
Example:0x4ac72089eef92b827702281bb2668b416ee6d3e9d953600dc363842e473a157c

Transaction hash of the CCTP bridge transaction on source chain

Response

Bridge transaction status and details

sourceChainIdnumber required

Source chain ID where the CCTP burn was initiated

sourceTxHashstring required

Source chain transaction hash

destinationChainIdnumber

Destination chain ID where the mint occurs

destinationTxHashstring

Destination chain transaction hash (if mint has completed)

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

Overall bridge status. ready_for_manual_execution: the burn is attested but the destination mint has not been executed — claim it via /api/v1/cctp/bridge/claim.

transferType'fast' | 'standard'

CCTP transfer type based on finalityThresholdExecuted: "fast" (<= 1000) or "standard" (>= 2000)

delayReasonstring

Reason Circle reports for delayed message processing (insufficient_fee, amount_above_max, insufficient_allowance_available).

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 check failed

Example response

{
  "sourceChainId": 143,
  "sourceTxHash": "0x4ac72089eef92b827702281bb2668b416ee6d3e9d953600dc363842e473a157c",
  "destinationChainId": 1,
  "delayReason": "insufficient_fee",
  "forward": {
    "state": "FAILED",
    "errorCode": "INSUFFICIENT_FEE",
    "errorDetails": "Fee provided insufficient for forwarding"
  },
  "depositForBurn": {
    "amount": "100000",
    "mintRecipient": "0x00000000000000000000000042d023187acedd3306e3dce2f1b9e4a81d636503",
    "burnToken": "0x754704bc059f8c67012fed69bc8a327a5aafb603",
    "destinationCaller": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "maxFee": "0",
    "minFinalityThreshold": 1000
  },
  "depositForBurnDecoded": {
    "burnToken": {
      "token": {
        "address": "0x55d398326f99059fF775485246999027B3197955",
        "symbol": "USDT",
        "name": "Tether USD",
        "decimals": 18
      },
      "amount": "1000000000000000000"
    },
    "destinationChainId": 1,
    "mintRecipient": "0x42d023187acedd3306e3dce2f1b9e4a81d636503",
    "destinationCaller": "0x0000000000000000000000000000000000000000",
    "maxFee": {
      "token": {
        "address": "0x55d398326f99059fF775485246999027B3197955",
        "symbol": "USDT",
        "name": "Tether USD",
        "decimals": 18
      },
      "amount": "1000000000000000000"
    },
    "minFinalityThreshold": {
      "value": 1000,
      "type": "fast"
    },
    "finalityThresholdExecuted": {
      "value": 1000,
      "type": "fast"
    },
    "feeExecuted": {
      "token": {
        "address": "0x55d398326f99059fF775485246999027B3197955",
        "symbol": "USDT",
        "name": "Tether USD",
        "decimals": 18
      },
      "amount": "1000000000000000000"
    }
  },
  "depositForBurnWithHook": {
    "amount": "100000",
    "mintRecipient": "0x00000000000000000000000042d023187acedd3306e3dce2f1b9e4a81d636503",
    "burnToken": "0x754704bc059f8c67012fed69bc8a327a5aafb603",
    "destinationCaller": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "maxFee": "0",
    "minFinalityThreshold": 1000,
    "hookData": "0x636374702d666f72776172640000000000000000000000000000000000000000"
  },
  "depositForBurnWithHookDecoded": {
    "burnToken": {
      "token": {
        "address": "0x55d398326f99059fF775485246999027B3197955",
        "symbol": "USDT",
        "name": "Tether USD",
        "decimals": 18
      },
      "amount": "1000000000000000000"
    },
    "destinationChainId": 1,
    "mintRecipient": "0x42d023187acedd3306e3dce2f1b9e4a81d636503",
    "destinationCaller": "0x0000000000000000000000000000000000000000",
    "maxFee": {
      "token": {
        "address": "0x55d398326f99059fF775485246999027B3197955",
        "symbol": "USDT",
        "name": "Tether USD",
        "decimals": 18
      },
      "amount": "1000000000000000000"
    },
    "minFinalityThreshold": {
      "value": 1000,
      "type": "fast"
    },
    "finalityThresholdExecuted": {
      "value": 1000,
      "type": "fast"
    },
    "feeExecuted": {
      "token": {
        "address": "0x55d398326f99059fF775485246999027B3197955",
        "symbol": "USDT",
        "name": "Tether USD",
        "decimals": 18
      },
      "amount": "1000000000000000000"
    },
    "hookData": {
      "raw": "0x636374702d666f72776172640000000000000000000000000000000000000000",
      "forwardingService": true,
      "hyperCoreTransfer": true,
      "hyperCoreRecipient": "0x42d023187acedd3306e3dce2f1b9e4a81d636503",
      "hyperCoreDestinationDex": 4294967295,
      "hyperCoreDestinationDexType": "spot"
    }
  }
}

Changes

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status