---
title: "Get one tracked transaction by transaction ID or hash"
method: GET
path: "/v1/transactions/{lookupKey}"
tags: ["Transaction Tracking"]
---

# Get one tracked transaction by transaction ID or hash

`GET /v1/transactions/{lookupKey}`

Finds a transaction by Delora transactionId, source hash, or destination hash within the integrator associated with the API key.

## Path parameters

- `lookupKey` string, required

## Headers

- `x-api-key` string, required

## Response `200`

Tracked transaction.

- ScannerTransactionResponseDto — A read-only transaction-tracking record. Nullable enrichment fields mean unavailable or not yet enriched, not zero.
  - `id` string, required — Delora tracking record ID.
  - `transactionId` string, nullable, required — Delora transaction identifier when available.
  - `sourceTxHash` string, required
  - `destTxHash` string, nullable, required
  - `sourceBlockNumber` integer, nullable, required
  - `sourceLogIndex` integer, nullable, required
  - `sourceChainId` integer, required — Source chain ID stored for the transaction.
  - `destChainId` integer, nullable, required — Normalized destination chain ID when available.
  - `canonicalSourceChainId` integer, required — Canonical source chain ID used for filtering.
  - `canonicalDestChainId` integer, nullable, required — Canonical destination chain ID used for filtering.
  - `protocolRawSourceChainId` union, required — Provider-specific chain identifier preserved for diagnostics.
    - integer
    - string
  - `protocolRawDestChainId` union, required — Provider-specific chain identifier preserved for diagnostics.
    - integer
    - string
  - `sourceNetwork` string, required
  - `destNetwork` string, nullable, required
  - `date` string, date-time, required — Legacy alias of sourceBlockTimestamp.
  - `sourceBlockTimestamp` string, date-time, required
  - `destinationBlockTimestamp` string, date-time, nullable, required
  - `sender` string, nullable, required
  - `receiver` string, nullable, required
  - `integrator` string, nullable, required
  - `protocol` string, required — Normalized bridge adapter or GENERIC_SWAP. Treat unknown values as forward-compatible.
  - `routeType` 'bridge' | 'swap' | 'bridge_swap' | 'unknown', required — Delora route classification.
  - `hasDestCall` boolean, required
  - `inputToken` ScannerTokenAmountDto, required
    - `chainId` integer, nullable, required — Canonical token chain ID when available.
    - `address` string, nullable, required
    - `symbol` string, nullable, required
    - `amountRaw` string, required — Token amount in base units, represented as a decimal string.
    - `amountFormatted` string, nullable, required — Human-readable token amount when decimals are available.
    - `decimals` integer, nullable, required
    - `amountUsd` string, nullable, required — Best-effort USD value as a decimal string.
  - `outputToken` ScannerTokenAmountDto, required
    - `chainId` integer, nullable, required — Canonical token chain ID when available.
    - `address` string, nullable, required
    - `symbol` string, nullable, required
    - `amountRaw` string, required — Token amount in base units, represented as a decimal string.
    - `amountFormatted` string, nullable, required — Human-readable token amount when decimals are available.
    - `decimals` integer, nullable, required
    - `amountUsd` string, nullable, required — Best-effort USD value as a decimal string.
  - `sourceGasFee` ScannerFeeAmountDto, required
    - `token` string, nullable, required
    - `amountRaw` string, required — Fee amount in base units, represented as a decimal string.
    - `amountFormatted` string, nullable, required
    - `decimals` integer, nullable, required
    - `amountUsd` string, nullable, required — Best-effort USD value as a decimal string.
  - `destinationGasFee` ScannerFeeAmountDto, required
    - `token` string, nullable, required
    - `amountRaw` string, required — Fee amount in base units, represented as a decimal string.
    - `amountFormatted` string, nullable, required
    - `decimals` integer, nullable, required
    - `amountUsd` string, nullable, required — Best-effort USD value as a decimal string.
  - `integratorFee` ScannerFeeAmountDto, required
    - `token` string, nullable, required
    - `amountRaw` string, required — Fee amount in base units, represented as a decimal string.
    - `amountFormatted` string, nullable, required
    - `decimals` integer, nullable, required
    - `amountUsd` string, nullable, required — Best-effort USD value as a decimal string.
  - `deloraFee` ScannerFeeAmountDto, required
    - `token` string, nullable, required
    - `amountRaw` string, required — Fee amount in base units, represented as a decimal string.
    - `amountFormatted` string, nullable, required
    - `decimals` integer, nullable, required
    - `amountUsd` string, nullable, required — Best-effort USD value as a decimal string.
  - `status` 'success' | 'recovered' | 'bridge_pending' | 'refund_pending' | 'refunded' | 'bridge_failed' | 'unknown', required — Current asynchronous tracking status.
  - `substatus` string, nullable, required — Provider-specific supplementary status. Not a stable enum.
  - `statusSource` 'analytics' | 'receipt' | 'bridge_api' | 'mixed' | 'unknown', required — Source or combination of sources used for the current status.
  - `bridgeScanUrl` string, uri, nullable, required
  - `rawBridgeStatus` union, required — Provider-specific diagnostic payload. Its shape is not a stable public contract.
    - object
    - unknown[]
      - unknown
    - string
    - number
    - boolean
  - `lastReceiptCheckedAt` string, date-time, nullable, required — Timestamp of the scanner's most recent receipt-check attempt. Diagnostic only; it does not prove settlement or finality.
  - `lastBridgeCheckedAt` string, date-time, nullable, required — Timestamp of the scanner's most recent bridge-status check attempt. Diagnostic only; it does not prove settlement or finality.
  - `lastBridgeSuccessCheckedAt` string, date-time, nullable, required — Timestamp of a non-unknown bridge-provider result. Despite its name, it does not by itself mean the bridge settled successfully.
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required

## Other responses

- `401` — Missing or invalid API key.
- `404` — No transaction is available for the lookup key in the current integrator scope.
- `429` — Rate limit exceeded.
- `503` — Transaction Tracking service is temporarily unavailable.

---

[API](https://skmtc.net/deloraprotocol/apis/delora-api.md) · [All operations](https://skmtc.net/deloraprotocol/apis/delora-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/deloraprotocol/delora-api/revisions/99a03dcc3e3b/schema)
