---
title: "Read an FX trade"
method: GET
path: "/v1/fx/trades/{tradeId}"
tags: ["FX"]
---

# Read an FX trade

`GET /v1/fx/trades/{tradeId}`

## Path parameters

- `tradeId` string, required

## Headers

- `X-API-Key` string

## Response `200`

Trade detail. Shape varies by `status` — `PENDING_WALLET_APPROVAL` omits `depositInstructions` and returns `screeningDeadline`; `AWAITING_DEPOSIT` returns `depositInstructions` and `depositDeadline`; terminal states return only `status`.

- FxTradeResponseDto
  - `tradeId` string, required
  - `referenceRate` string — Independent reference rate used to price this trade, expressed as destination major units per source major unit. Present for benchmark-priced trades.
  - `referenceRateAsOf` string — Timestamp of the independent reference rate used to price this trade (ISO 8601).
  - `status` 'PENDING_WALLET_APPROVAL' | 'AWAITING_DEPOSIT' | 'PROCESSING' | 'COMPLETED' | 'FAILED' | 'CANCELLED' | 'AUTO_CANCELLED' | 'REFUNDED', required — Lifecycle status. `PENDING_WALLET_APPROVAL` means accept succeeded but the source wallet is still being verified — `depositInstructions` is omitted until verification clears and the trade transitions to `AWAITING_DEPOSIT` (delivered via the `fx_trade.deposit_instructions_ready` webhook).
  - `depositInstructions` FxTradeDepositInstructionsDto
    - `address` string, required — Address the customer must send `grossSource` to within the deposit window.
    - `network` string, required
    - `amount` string, required — Amount the customer must deposit, in source-currency minor units.
    - `expiresAt` string, required — Customer-facing deposit deadline (ISO 8601). Late deposits are not honored.
  - `fundingInstructions` FxTradeFundingInstructionsDto
    - `reference` string, required — Reference the customer must include on their outbound wire so the funds can be attributed to this trade. Customer-visible; renders verbatim in their banking app.
    - `currency` string, required — ISO 4217.
    - `amount` string, required — Amount the customer must wire, in source-currency minor units.
    - `supportedRails` string[], required — Rails accepted for the inbound wire — the customer picks one in their banking app and matches it to the account variant in `accounts` carrying the right identifiers for that rail.
    - `bank` FxTradeFundingInstructionsBankDto, required
      - `name` string
      - `address` string
      - `country` string — ISO 3166-2.
    - `accounts` FxTradeFundingInstructionsAccountDto[], required — One entry per rail-variant receiving account. Pick the entry matching the rail used to initiate the wire.
      - `supportedRails` string[], required — Rails this account accepts inbound wires on. Pick the account whose rails include the one used to initiate the wire.
      - `accountHolderName` string
      - `accountNumber` string
      - `iban` string
      - `bic` string
      - `sortCode` string
      - `routingNumber` string — ABA routing number (US ACH / Fedwire).
    - `swiftRoutingBanks` FxTradeFundingInstructionsSwiftBankDto[] — Correspondent / intermediary banks required when routing via SWIFT. Omitted when the route has no SWIFT correspondents.
      - `role` 'INTERMEDIARY' | 'CORRESPONDENT', required
      - `bankName` string, required
      - `bic` string, required
      - `abaRoutingNumber` string
    - `expiresAt` string, required — Wire-by deadline (ISO 8601).
  - `depositDeadline` string — Customer-facing deposit deadline (ISO 8601). Present when either `depositInstructions` or `fundingInstructions` is present.
  - `screeningDeadline` string — Deadline by which source-wallet verification must complete (ISO 8601). Present only when `status=PENDING_WALLET_APPROVAL`. If verification has not cleared by this point the trade transitions to `FAILED`.

## Other responses

- `401` — Unauthorized - Invalid or missing authentication credentials
- `404` — Trade does not exist for the calling organization.

## Changes

- **2026-09-03** `382abbca8b01` — 2 info
  - added the optional property `referenceRate` to the response with the `200` status
  - added the optional property `referenceRateAsOf` to the response with the `200` status

[Change history](https://skmtc.dev/infinite/apis/infinite-api/changes/v1/fx/trades/:tradeId/get.md)

---

[API](https://skmtc.dev/infinite/apis/infinite-api.md) · [All operations](https://skmtc.dev/infinite/apis/infinite-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/infinite/infinite-api/revisions/7d6487f295d7/schema)
