---
title: "Check bridge transaction status"
method: GET
path: "/api/v1/stargate/bridge/check"
tags: ["layerzero"]
---

# Check bridge transaction status

`GET /api/v1/stargate/bridge/check`

## Request

- Base URL: `https://api.enso.finance`
- URL: `https://api.enso.finance/api/v1/stargate/bridge/check`
- Auth: HTTP bearer

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

## Query parameters

- `chainId` number, required
- `txHash` string, required

## Response `200`

Bridge transaction status and details

- BridgeTransactionResponse
  - `sourceChainId` number, required: Source chain ID
  - `sourceTxHash` string, required: Source transaction hash
  - `destinationChainId` number: Destination chain ID (if known)
  - `destinationTxHash` string: Destination transaction hash (if completed)
  - `status` 'pending' | 'inflight' | 'delivered' | 'failed' | 'ready_for_manual_execution' | 'unknown', required: Overall bridge status
  - `isMultiBridge` boolean: Whether this transaction involves multiple sequential bridges. Only present when true.
  - `hops` BridgeHop[]: Array of individual bridge hops. Only present for multi-bridge transactions.
    - `sourceChainId` number, required: Source chain ID for this hop
    - `sourceTxHash` string, required: Source transaction hash for this hop
    - `destinationChainId` number: Destination chain ID (if known)
    - `destinationTxHash` string: Destination transaction hash (if completed)
    - `status` 'pending' | 'inflight' | 'delivered' | 'failed' | 'ready_for_manual_execution' | 'unknown', required: Status of this hop
    - `layerZeroMessage` LayerZeroMessageStatus
      - `srcEid` number, required: Source chain endpoint ID
      - `dstEid` number, required: Destination chain endpoint ID
      - `srcChainId` number: Source chain ID (EVM)
      - `dstChainId` number: Destination chain ID (EVM)
      - `status` string, required: Message status from LayerZero
      - `srcTxHash` string: Source transaction hash
      - `dstTxHash` string: Destination transaction hash (if delivered)
      - `srcBlockNumber` number: Source block number
      - `dstBlockNumber` number: Destination block number (if delivered)
      - `srcTimestamp` string: Source timestamp
      - `dstTimestamp` string: Destination timestamp (if delivered)
      - `sender` string: Sender address
      - `receiver` string: Receiver address
    - `ensoSourceEvent` EnsoEvent
      - `accountId` string: Account ID from ShortcutExecuted event
      - `requestId` string: Request ID from ShortcutExecuted event
      - `blockNumber` number, required: Block number where the event was emitted
      - `transactionHash` string, required: Transaction hash
      - `chainId` number, required: Chain ID where the event was emitted
      - `success` boolean, required: Whether the shortcut execution was successful
      - `error` string: Error data if execution failed
      - `refundDetails` RefundDetails
        - `token` string, required: Token address (0xeee... for native token)
        - `amount` string, required: Amount refunded
        - `recipient` string, required: Recipient address
        - `isNative` boolean, required: Whether the refund is in native token
    - `ensoDestinationEvent` EnsoEvent
      - `accountId` string: Account ID from ShortcutExecuted event
      - `requestId` string: Request ID from ShortcutExecuted event
      - `blockNumber` number, required: Block number where the event was emitted
      - `transactionHash` string, required: Transaction hash
      - `chainId` number, required: Chain ID where the event was emitted
      - `success` boolean, required: Whether the shortcut execution was successful
      - `error` string: Error data if execution failed
      - `refundDetails` RefundDetails
        - `token` string, required: Token address (0xeee... for native token)
        - `amount` string, required: Amount refunded
        - `recipient` string, required: Recipient address
        - `isNative` boolean, required: Whether the refund is in native token
  - `layerZeroMessage` LayerZeroMessageStatus
    - `srcEid` number, required: Source chain endpoint ID
    - `dstEid` number, required: Destination chain endpoint ID
    - `srcChainId` number: Source chain ID (EVM)
    - `dstChainId` number: Destination chain ID (EVM)
    - `status` string, required: Message status from LayerZero
    - `srcTxHash` string: Source transaction hash
    - `dstTxHash` string: Destination transaction hash (if delivered)
    - `srcBlockNumber` number: Source block number
    - `dstBlockNumber` number: Destination block number (if delivered)
    - `srcTimestamp` string: Source timestamp
    - `dstTimestamp` string: Destination timestamp (if delivered)
    - `sender` string: Sender address
    - `receiver` string: Receiver address
  - `ensoSourceEvent` EnsoEvent
    - `accountId` string: Account ID from ShortcutExecuted event
    - `requestId` string: Request ID from ShortcutExecuted event
    - `blockNumber` number, required: Block number where the event was emitted
    - `transactionHash` string, required: Transaction hash
    - `chainId` number, required: Chain ID where the event was emitted
    - `success` boolean, required: Whether the shortcut execution was successful
    - `error` string: Error data if execution failed
    - `refundDetails` RefundDetails
      - `token` string, required: Token address (0xeee... for native token)
      - `amount` string, required: Amount refunded
      - `recipient` string, required: Recipient address
      - `isNative` boolean, required: Whether the refund is in native token
  - `ensoDestinationEvent` EnsoEvent
    - `accountId` string: Account ID from ShortcutExecuted event
    - `requestId` string: Request ID from ShortcutExecuted event
    - `blockNumber` number, required: Block number where the event was emitted
    - `transactionHash` string, required: Transaction hash
    - `chainId` number, required: Chain ID where the event was emitted
    - `success` boolean, required: Whether the shortcut execution was successful
    - `error` string: Error data if execution failed
    - `refundDetails` RefundDetails
      - `token` string, required: Token address (0xeee... for native token)
      - `amount` string, required: Amount refunded
      - `recipient` string, required: Recipient address
      - `isNative` boolean, required: Whether the refund is in native token
  - `ensoMetadata` EnsoMetadata
    - `tokenIn` string: Token in address
    - `tokenOut` string: Token out address
    - `amountIn` string: Amount in
    - `chainId` number: Chain ID from the request
    - `timestamp` number: Timestamp of the request
  - `intent` BridgeRouteIntent
    - `requestId` string, required: Intent request id (bytes32) published by the source transaction
    - `executor` string, required: Ephemeral executor address the bridge delivers to on the execution chain (lowercase)
    - `executionChainId` number: Chain the intent executes (and refunds) on
    - `phase` 'awaiting_funds' | 'executing' | 'executed' | 'refunding' | 'refunded' | 'failed' | 'unknown', required: Coarse lifecycle phase of the destination stage
    - `status` string, required: The keeper's own lifecycle status (pending | waiting_funds | inflight | executed | failed | failed_permanent | expired | refund_pending | refund_inflight | refunded | refund_skipped | refund_failed), or unknown
    - `statusDescription` string: Human-readable status explanation
    - `source` 'keeper' | 'onchain', required: Where the stage was read from: the intent keeper, or only the chain itself
    - `deadline` string: Intent deadline (ISO 8601). Past it the executor can only refund.
    - `executionTxHash` string: The keeper's execution transaction
    - `executionExplorerUrl` string: Block-explorer link for the execution transaction
    - `executedAt` string: When the execution mined (ISO 8601)
    - `refundTxHash` string: The repayment transaction, when funds were swept back
    - `refundExplorerUrl` string: Block-explorer link for the repayment transaction
    - `refundedAt` string: When the repayment mined (ISO 8601)
    - `error` string: Last error the keeper recorded for this intent, if any
  - `destinationExecutionTxHash` string: 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.
  - `error` string: Error message if something went wrong

## Other responses

- `429`: Rate limit exceeded

## Changes

- **2026-09-05** `2abd1596c900`: 2 info
  - added the optional property `destinationExecutionTxHash` to the response with the `200` status
  - added the optional property `intent` to the response with the `200` status

[Operation history](https://skmtc.dev/enso/apis/enso-api-2/changes/api/v1/stargate/bridge/check/get.md)

---

[API](https://skmtc.dev/enso/apis/enso-api-2.md) - [All operations](https://skmtc.dev/enso/apis/enso-api-2/llms.txt) - [OpenAPI document](https://skmtc.dev/enso/apis/enso-api-2/revisions/d43e21a824af?raw)
