> ## Documentation Index
> Fetch the complete documentation index at: https://docs.delora.build/llms.txt
> Use this file to discover all available pages before exploring further.

# List tracked transactions

> Returns an asynchronously materialized transaction-tracking page. The API key determines the integrator scope; the optional integrator parameter is only a same-scope assertion.

List tracking records for the integrator associated with `x-api-key`.

<Note>
  The API key determines the integrator scope. Omit `integrator` in normal requests. If you send it, it must exactly match the integrator associated with the key.
</Note>

## Filters

All supplied filters combine with `AND`.

| Parameter       | Notes                                                                                         |
| --------------- | --------------------------------------------------------------------------------------------- |
| `cursor`        | Opaque pagination cursor returned by a prior response. Do not construct, decode, or alter it. |
| `limit`         | Number of records: `1`–`200`; defaults to `50`.                                               |
| `status`        | One of the documented tracking statuses.                                                      |
| `routeType`     | `bridge`, `swap`, `bridge_swap`, or `unknown`.                                                |
| `sourceChainId` | Canonical source chain ID.                                                                    |
| `destChainId`   | Canonical destination chain ID.                                                               |
| `integrator`    | Optional same-scope assertion only. A different integrator returns `403`.                     |

Results are ordered newest first by source timestamp. `nextCursor` is `null` when there are no more results. The API does not return a total count or provide a snapshot guarantee while new transactions are being ingested.

## Response data

Each item is the full tracking record. Amounts and fees use decimal strings in raw token units, and enrichment fields may be `null` when unavailable rather than zero. Use canonical chain IDs for filters, preserve `nextCursor` unchanged, and treat provider diagnostics as supplementary data. See [Transaction Tracking API](/api-reference/transaction-tracking/overview#chain-ids-and-data-quality) for the complete field contract.

```bash theme={null}
curl --get 'https://api.delora.build/v1/transactions' \
  --data-urlencode 'limit=50' \
  --data-urlencode 'status=bridge_pending' \
  --data-urlencode 'destChainId=42161' \
  --header 'x-api-key: YOUR_API_KEY'
```

Use returned raw amounts and fees as strings. See [Transaction Tracking API](/api-reference/transaction-tracking/overview) for status, chain-ID, and nullable-field semantics.


## OpenAPI

````yaml GET /v1/transactions
openapi: 3.1.1
info:
  title: Delora API
  description: Delora API
  version: 1.0.0
servers:
  - url: https://api.delora.build
security: []
tags:
  - name: Health
    description: Service health endpoints.
  - name: V1
    description: Routing and metadata endpoints.
  - name: Transaction Tracking
    description: Read-only, integrator-scoped transaction tracking.
paths:
  /v1/transactions:
    get:
      tags:
        - Transaction Tracking
      summary: List tracked transactions for the authenticated integrator
      description: >-
        Returns an asynchronously materialized transaction-tracking page. The
        API key determines the integrator scope; the optional integrator
        parameter is only a same-scope assertion.
      operationId: listTransactions
      parameters:
        - name: x-api-key
          in: header
          required: true
          description: Customer API key. Required for Transaction Tracking endpoints.
          schema:
            type: string
        - name: cursor
          in: query
          required: false
          description: >-
            Opaque cursor returned by a prior response. Pass it through
            unchanged.
          schema:
            type: string
        - name: limit
          in: query
          required: false
          description: Maximum number of records to return.
          schema:
            type: integer
            minimum: 1
            maximum: 200
            default: 50
            example: 50
        - name: integrator
          in: query
          required: false
          description: >-
            Optional assertion of the integrator associated with the API key. It
            cannot be used to select another integrator.
          schema:
            type: string
        - name: status
          in: query
          required: false
          description: Filter by current tracking status.
          schema:
            $ref: '#/components/schemas/ScannerStatus'
        - name: routeType
          in: query
          required: false
          description: Filter by route type.
          schema:
            $ref: '#/components/schemas/ScannerRouteType'
        - name: sourceChainId
          in: query
          required: false
          description: Filter by canonical source chain ID.
          schema:
            type: integer
            example: 8453
        - name: destChainId
          in: query
          required: false
          description: Filter by canonical destination chain ID.
          schema:
            type: integer
            example: 42161
      responses:
        '200':
          description: A page of transactions ordered newest first by source timestamp.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScannerTransactionListResponseDto'
        '400':
          description: Invalid list parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardErrorResponseDto'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardErrorResponseDto'
        '403':
          description: The optional integrator parameter is outside the API key scope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardErrorResponseDto'
        '429':
          description: Rate limit exceeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardErrorResponseDto'
        '503':
          description: Transaction Tracking service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardErrorResponseDto'
      security:
        - api-key: []
components:
  schemas:
    ScannerStatus:
      type: string
      enum:
        - success
        - recovered
        - bridge_pending
        - refund_pending
        - refunded
        - bridge_failed
        - unknown
      description: Current asynchronous tracking status.
    ScannerRouteType:
      type: string
      enum:
        - bridge
        - swap
        - bridge_swap
        - unknown
      description: Delora route classification.
    ScannerTransactionListResponseDto:
      type: object
      properties:
        transactions:
          type: array
          items:
            $ref: '#/components/schemas/ScannerTransactionResponseDto'
        nextCursor:
          type:
            - string
            - 'null'
          description: >-
            Opaque cursor for the next page, or null when there are no more
            records.
      required:
        - transactions
        - nextCursor
    StandardErrorResponseDto:
      type: object
      properties:
        statusCode:
          type: number
          example: 400
        code:
          enum:
            - NO_AVAILABLE_QUOTES
            - AMOUNT_TOO_LOW
            - WRONG_ADDRESS
            - RATE_LIMIT
            - SLIPPAGE_EXCEEDED
            - ADAPTER_BAD_REQUEST
            - ADAPTER_UNAUTHORIZED
            - ADAPTER_INTERNAL
            - VALIDATION_ERROR
            - NOT_FOUND
            - UNKNOWN
          type: string
          description: >-
            Machine-readable Delora error code.

            - NO_AVAILABLE_QUOTES: No bridge or exchange adapter returned an
            executable quote for the requested transfer.

            - AMOUNT_TOO_LOW: The requested input amount is below the minimum
            supported by the available bridge route.

            - WRONG_ADDRESS: A wallet address is missing, malformed, or
            incompatible with the requested chain type.

            - RATE_LIMIT: The request exceeded the configured rate limit.

            - SLIPPAGE_EXCEEDED: The expected output amount fell below the
            route's permitted minimum.

            - ADAPTER_BAD_REQUEST: An upstream bridge or exchange adapter
            rejected the request as invalid.

            - ADAPTER_UNAUTHORIZED: An upstream bridge or exchange adapter
            rejected the request because credentials are missing or invalid.

            - ADAPTER_INTERNAL: An upstream bridge or exchange adapter failed
            with an internal error.

            - VALIDATION_ERROR: The request failed Delora API validation,
            including invalid query parameters, body fields, or address formats.

            - NOT_FOUND: The requested chain, token, or resource was not found.

            - UNKNOWN: The request failed with an unexpected error that does not
            map to a more specific code.
          x-enumDescriptions:
            - >-
              No bridge or exchange adapter returned an executable quote for the
              requested transfer.
            - >-
              The requested input amount is below the minimum supported by the
              available bridge route.
            - >-
              A wallet address is missing, malformed, or incompatible with the
              requested chain type.
            - The request exceeded the configured rate limit.
            - >-
              The expected output amount fell below the route's permitted
              minimum.
            - >-
              An upstream bridge or exchange adapter rejected the request as
              invalid.
            - >-
              An upstream bridge or exchange adapter rejected the request
              because credentials are missing or invalid.
            - >-
              An upstream bridge or exchange adapter failed with an internal
              error.
            - >-
              The request failed Delora API validation, including invalid query
              parameters, body fields, or address formats.
            - The requested chain, token, or resource was not found.
            - >-
              The request failed with an unexpected error that does not map to a
              more specific code.
          example: VALIDATION_ERROR
        message:
          type: string
          example: Invalid request parameters
        details:
          description: >-
            Optional error details. When details is an object, `message` can be
            either a string or an array of strings.
          oneOf:
            - type: object
              additionalProperties: true
              properties:
                message:
                  oneOf:
                    - type: string
                    - type: array
                      items:
                        type: string
                  description: >-
                    Human-readable details. Validation errors may return
                    multiple messages.
                errorCode:
                  type: string
                code:
                  oneOf:
                    - type: string
                    - type: number
                status:
                  oneOf:
                    - type: string
                    - type: number
            - type: string
            - type: array
              items:
                type: string
          example:
            message:
              - One or more request parameters are invalid.
        timestamp:
          type: string
          example: '2026-05-13T18:00:00.000Z'
        path:
          type: string
          example: /v1/...
      required:
        - statusCode
        - code
        - message
        - timestamp
    ScannerTransactionResponseDto:
      type: object
      description: >-
        A read-only transaction-tracking record. Nullable enrichment fields mean
        unavailable or not yet enriched, not zero.
      properties:
        id:
          type: string
          description: Delora tracking record ID.
          example: '123'
        transactionId:
          type:
            - string
            - 'null'
          description: Delora transaction identifier when available.
        sourceTxHash:
          type: string
        destTxHash:
          type:
            - string
            - 'null'
        sourceBlockNumber:
          type:
            - integer
            - 'null'
        sourceLogIndex:
          type:
            - integer
            - 'null'
        sourceChainId:
          type: integer
          description: Source chain ID stored for the transaction.
        destChainId:
          type:
            - integer
            - 'null'
          description: Normalized destination chain ID when available.
        canonicalSourceChainId:
          type: integer
          description: Canonical source chain ID used for filtering.
        canonicalDestChainId:
          type:
            - integer
            - 'null'
          description: Canonical destination chain ID used for filtering.
        protocolRawSourceChainId:
          $ref: '#/components/schemas/ScannerProtocolRawChainId'
        protocolRawDestChainId:
          $ref: '#/components/schemas/ScannerProtocolRawChainId'
        sourceNetwork:
          type: string
        destNetwork:
          type:
            - string
            - 'null'
        date:
          type: string
          format: date-time
          description: Legacy alias of sourceBlockTimestamp.
        sourceBlockTimestamp:
          type: string
          format: date-time
        destinationBlockTimestamp:
          type:
            - string
            - 'null'
          format: date-time
        sender:
          type:
            - string
            - 'null'
        receiver:
          type:
            - string
            - 'null'
        integrator:
          type:
            - string
            - 'null'
        protocol:
          type: string
          description: >-
            Normalized bridge adapter or GENERIC_SWAP. Treat unknown values as
            forward-compatible.
          example: RELAY
        routeType:
          $ref: '#/components/schemas/ScannerRouteType'
        hasDestCall:
          type: boolean
        inputToken:
          oneOf:
            - $ref: '#/components/schemas/ScannerTokenAmountDto'
            - type: 'null'
        outputToken:
          oneOf:
            - $ref: '#/components/schemas/ScannerTokenAmountDto'
            - type: 'null'
        sourceGasFee:
          oneOf:
            - $ref: '#/components/schemas/ScannerFeeAmountDto'
            - type: 'null'
        destinationGasFee:
          oneOf:
            - $ref: '#/components/schemas/ScannerFeeAmountDto'
            - type: 'null'
        integratorFee:
          oneOf:
            - $ref: '#/components/schemas/ScannerFeeAmountDto'
            - type: 'null'
        deloraFee:
          oneOf:
            - $ref: '#/components/schemas/ScannerFeeAmountDto'
            - type: 'null'
        status:
          $ref: '#/components/schemas/ScannerStatus'
        substatus:
          type:
            - string
            - 'null'
          description: Provider-specific supplementary status. Not a stable enum.
        statusSource:
          $ref: '#/components/schemas/ScannerStatusSource'
        bridgeScanUrl:
          type:
            - string
            - 'null'
          format: uri
        rawBridgeStatus:
          $ref: '#/components/schemas/ScannerProviderDiagnosticDto'
        lastReceiptCheckedAt:
          type:
            - string
            - 'null'
          format: date-time
          description: >-
            Timestamp of the scanner's most recent receipt-check attempt.
            Diagnostic only; it does not prove settlement or finality.
        lastBridgeCheckedAt:
          type:
            - string
            - 'null'
          format: date-time
          description: >-
            Timestamp of the scanner's most recent bridge-status check attempt.
            Diagnostic only; it does not prove settlement or finality.
        lastBridgeSuccessCheckedAt:
          type:
            - string
            - 'null'
          format: date-time
          description: >-
            Timestamp of a non-unknown bridge-provider result. Despite its name,
            it does not by itself mean the bridge settled successfully.
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
      required:
        - id
        - transactionId
        - sourceTxHash
        - destTxHash
        - sourceBlockNumber
        - sourceLogIndex
        - sourceChainId
        - destChainId
        - canonicalSourceChainId
        - canonicalDestChainId
        - protocolRawSourceChainId
        - protocolRawDestChainId
        - sourceNetwork
        - destNetwork
        - date
        - sourceBlockTimestamp
        - destinationBlockTimestamp
        - sender
        - receiver
        - integrator
        - protocol
        - routeType
        - hasDestCall
        - inputToken
        - outputToken
        - sourceGasFee
        - destinationGasFee
        - integratorFee
        - deloraFee
        - status
        - substatus
        - statusSource
        - bridgeScanUrl
        - rawBridgeStatus
        - lastReceiptCheckedAt
        - lastBridgeCheckedAt
        - lastBridgeSuccessCheckedAt
        - createdAt
        - updatedAt
    ScannerProtocolRawChainId:
      oneOf:
        - type: integer
        - type: string
        - type: 'null'
      description: Provider-specific chain identifier preserved for diagnostics.
    ScannerTokenAmountDto:
      type: object
      properties:
        chainId:
          type:
            - integer
            - 'null'
          description: Canonical token chain ID when available.
        address:
          type:
            - string
            - 'null'
        symbol:
          type:
            - string
            - 'null'
        amountRaw:
          type: string
          description: Token amount in base units, represented as a decimal string.
          example: '1000000'
        amountFormatted:
          type:
            - string
            - 'null'
          description: Human-readable token amount when decimals are available.
        decimals:
          type:
            - integer
            - 'null'
        amountUsd:
          type:
            - string
            - 'null'
          description: Best-effort USD value as a decimal string.
      required:
        - chainId
        - address
        - symbol
        - amountRaw
        - amountFormatted
        - decimals
        - amountUsd
    ScannerFeeAmountDto:
      type: object
      properties:
        token:
          type:
            - string
            - 'null'
        amountRaw:
          type: string
          description: Fee amount in base units, represented as a decimal string.
          example: '21000000000000'
        amountFormatted:
          type:
            - string
            - 'null'
        decimals:
          type:
            - integer
            - 'null'
        amountUsd:
          type:
            - string
            - 'null'
          description: Best-effort USD value as a decimal string.
      required:
        - token
        - amountRaw
        - amountFormatted
        - decimals
        - amountUsd
    ScannerStatusSource:
      type: string
      enum:
        - analytics
        - receipt
        - bridge_api
        - mixed
        - unknown
      description: Source or combination of sources used for the current status.
    ScannerProviderDiagnosticDto:
      description: >-
        Provider-specific diagnostic payload. Its shape is not a stable public
        contract.
      oneOf:
        - type: object
          additionalProperties: true
        - type: array
          items: {}
        - type: string
        - type: number
        - type: boolean
        - type: 'null'
  securitySchemes:
    api-key:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Delora API key. Required by Transaction Tracking endpoints and optional
        for most routing endpoints.

````