---
title: "Confirm a transfer quote"
method: POST
path: "/v1/transfers/quotes/{confirmationReference}/confirm"
tags: ["Transfers"]
---

# Confirm a transfer quote

`POST /v1/transfers/quotes/{confirmationReference}/confirm`

## Path parameters

- `confirmationReference` string, required

## Headers

- `X-API-Key` string
- `Idempotency-Key` string, required

## Response `200`

Transfer created from the quoted intent.

- TransferIntentResultResponseDto
  - `transferId` string, required
  - `flow` string, required — Customer-facing transfer flow.
  - `status` string, required — Current customer-facing transfer status.
  - `fundingRequired` boolean, required — Whether customer funding is required.
  - `depositInstructions` union — Deposit instructions when customer funding is required.
    - CryptoDepositInstructionsDto
      - `type` string, required — Instruction type
      - `paymentRail` string, required — Payment rail (blockchain)
      - `toAddress` string, required — Destination wallet address
      - `amount` MoneyOutputDto, required
        - `currency` string, required — Currency code
        - `exponent` number, required — Number of decimal places for this currency (e.g., 2 for USD, 6 for USDC)
        - `value` string, required — Amount in smallest unit as a string
        - `displayValue` string, required — Human-readable decimal value
      - `blockchainMemo` string, nullable — Blockchain memo (for chains that require it)
      - `accountId` string, nullable — Account ID for the deposit destination
    - FiatDepositInstructionsDto
      - `type` string, required — Instruction type
      - `paymentRail` string, required — Payment rail
      - `direction` 'CREDIT' | 'DEBIT', nullable — ACH direction when the funding instructions are ACH-specific
      - `amount` MoneyOutputDto, required
        - `currency` string, required — Currency code
        - `exponent` number, required — Number of decimal places for this currency (e.g., 2 for USD, 6 for USDC)
        - `value` string, required — Amount in smallest unit as a string
        - `displayValue` string, required — Human-readable decimal value
      - `bankName` string, nullable — Bank name
      - `bankAddress` BankAddressDto
        - `addressLine1` string — Address line 1 (optional for bank addresses)
        - `addressLine2` string — Address line 2 (apartment, suite, etc.)
        - `city` string — City
        - `state` string — State / Province
        - `postalCode` string — Postal code / ZIP code (optional for bank addresses)
        - `country` string — Country code (ISO 3166-2)
      - `accountNumber` string, nullable — Account number
      - `routingNumber` string, nullable — Routing number (US)
      - `beneficiaryName` string, nullable — Beneficiary name
      - `beneficiaryAddress` BankAddressDto
        - `addressLine1` string — Address line 1 (optional for bank addresses)
        - `addressLine2` string — Address line 2 (apartment, suite, etc.)
        - `city` string — City
        - `state` string — State / Province
        - `postalCode` string — Postal code / ZIP code (optional for bank addresses)
        - `country` string — Country code (ISO 3166-2)
      - `iban` string, nullable — IBAN (international)
      - `swiftBic` string, nullable — SWIFT/BIC code
      - `depositMessage` string, nullable — Deposit message/reference to include in the transfer
      - `clabe` string, nullable — CLABE (Mexico)
      - `accountId` string, nullable — Account ID for the deposit destination
  - `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).
  - `fundingDeadline` string, date-time — Customer funding deadline when funding is required.

## Other responses

- `401` — Unauthorized - Invalid or missing authentication credentials

## Changes

- **2026-09-11** `722cdfabcdeb` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/infinite/apis/infinite-api/changes/v1/transfers/quotes/:confirmationReference/confirm/post.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.dev/infinite/apis/infinite-api/revisions/c5a90949ca59?raw)
