---
title: "Create a quote"
method: POST
path: "/v1/quotes"
tags: ["Quotes"]
---

# Create a quote

`POST /v1/quotes`

Create a quote. Use the Idempotency-Key header to prevent duplicate creation.

## Headers

- `Idempotency-Key` string
- `X-API-Key` string

## Request body

- CreateQuoteDto
  - `sourceAmount` MoneyInputDto
    - `currency` string, required — Currency code (ISO 4217 for fiat, symbol for crypto)
    - `rawValue` string, required — Amount in smallest unit as a string (cents for USD, satoshi for BTC, etc.)
  - `destinationAmount` MoneyInputDto
    - `currency` string, required — Currency code (ISO 4217 for fiat, symbol for crypto)
    - `rawValue` string, required — Amount in smallest unit as a string (cents for USD, satoshi for BTC, etc.)
  - `sourceCurrency` 'USD' | 'EUR' | 'GBP' | 'CAD' | 'JPY' | 'PHP' | 'AUD' | 'MXN' | 'BRL' | 'AED' | 'ARS' | 'BDT' | 'BHD' | 'BOB' | 'CHF' | 'CLP' | 'CNY' | 'CNH' | 'COP' | 'CRC' | 'CZK' | 'DKK' | 'DOP' | 'EGP' | 'GHS' | 'GTQ' | 'HKD' | 'HNL' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'JMD' | 'JOD' | 'KES' | 'KRW' | 'KWD' | 'LKR' | 'MYR' | 'NGN' | 'NOK' | 'NZD' | 'PEN' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'SAR' | 'SEK' | 'SGD' | 'THB' | 'TRY' | 'TWD' | 'TZS' | 'VND' | 'ZAR' | 'USDC' | 'USDT' | 'DAI' | 'ETH' | 'BTC' | 'SOL' | 'TRX' | 'EURC' | 'USDB' | 'PYUSD' | 'USDP' | 'CASH' | 'USDS' — Source currency code (required when using destinationAmount for receive-exact mode)
  - `destinationCurrency` 'USD' | 'EUR' | 'GBP' | 'CAD' | 'JPY' | 'PHP' | 'AUD' | 'MXN' | 'BRL' | 'AED' | 'ARS' | 'BDT' | 'BHD' | 'BOB' | 'CHF' | 'CLP' | 'CNY' | 'CNH' | 'COP' | 'CRC' | 'CZK' | 'DKK' | 'DOP' | 'EGP' | 'GHS' | 'GTQ' | 'HKD' | 'HNL' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'JMD' | 'JOD' | 'KES' | 'KRW' | 'KWD' | 'LKR' | 'MYR' | 'NGN' | 'NOK' | 'NZD' | 'PEN' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'SAR' | 'SEK' | 'SGD' | 'THB' | 'TRY' | 'TWD' | 'TZS' | 'VND' | 'ZAR' | 'USDC' | 'USDT' | 'DAI' | 'ETH' | 'BTC' | 'SOL' | 'TRX' | 'EURC' | 'USDB' | 'PYUSD' | 'USDP' | 'CASH' | 'USDS' — Destination currency code (required when using sourceAmount, derived from destinationAmount when provided)
  - `destinationCountry` string — Destination country code (ISO 3166-1 alpha-2)
  - `holdQuote` boolean — Whether to hold the quote and create a DB entry
  - `payinMethod` 'ACH' | 'ACH_SAME_DAY' | 'WIRE' | 'FED_NOW' | 'RTP' | 'EREBOR' | 'EREBOR_RAIL' | 'BALANCE' | 'SWIFT' | 'SEPA' | 'SEPA_INSTANT' | 'TIPS' | 'FASTER_PAYMENTS' | 'BACS' | 'CHAPS' | 'ELIXIR' | 'NICS' | 'EFT' | 'INTERAC' | 'NPP' | 'BECS' | 'UPI' | 'IMPS' | 'IMPS_WITH_FIRC' | 'NEFT' | 'RTGS' | 'BI_FAST' | 'ARTAJASA' | 'PIX' | 'TED' | 'TEF' | 'SPEI' | 'COELSA' | 'SINPE' | 'CIPS' | 'CFXPS' | 'CHATS' | 'ZENGIN' | 'KFTC' | 'FAST_SG' | 'MEPS' | 'DUITNOW' | 'PROMPTPAY' | 'INSTAPAY' | 'PESONET' | 'NAPAS' | 'BEFTN' | 'SLIPS' | 'ZAHAV' | 'GHIPSS' | 'NIBSS' | 'PESALINK' | 'RTC_ZA' | 'TZS_RTGS' | 'EGP_ACH' | 'JOD_ACH' | 'NPSS' | 'MADA' | 'QPS' | 'DOP_ACH' | 'GTQ_ACH' | 'HNL_ACH' | 'PEN_ACH' | 'JMD_ACH' | 'USD_ACH_SV' | 'USD_ACH_EC' | 'CLP_TEF' | 'PSE' | 'COP_ACH' | 'BOB_RTGS' | 'PYG_ACH' | 'CERTIS' | 'DKK_TIPS' | 'SENT' | 'NKS' | 'BANKGIROT' | 'HKD_FPS' | 'IBFT' | 'TRY_FAST' | 'ETHEREUM' | 'BASE' | 'POLYGON' | 'SOLANA' | 'TRON' | 'BITCOIN' | 'ARBITRUM' — Payment rail for source funds. For crypto, specify chain (ethereum, base, polygon, solana, tron). For fiat, specify network (ach, sepa, fast_sg).
  - `payoutMethod` 'ACH' | 'ACH_SAME_DAY' | 'WIRE' | 'FED_NOW' | 'RTP' | 'EREBOR' | 'EREBOR_RAIL' | 'BALANCE' | 'SWIFT' | 'SEPA' | 'SEPA_INSTANT' | 'TIPS' | 'FASTER_PAYMENTS' | 'BACS' | 'CHAPS' | 'ELIXIR' | 'NICS' | 'EFT' | 'INTERAC' | 'NPP' | 'BECS' | 'UPI' | 'IMPS' | 'IMPS_WITH_FIRC' | 'NEFT' | 'RTGS' | 'BI_FAST' | 'ARTAJASA' | 'PIX' | 'TED' | 'TEF' | 'SPEI' | 'COELSA' | 'SINPE' | 'CIPS' | 'CFXPS' | 'CHATS' | 'ZENGIN' | 'KFTC' | 'FAST_SG' | 'MEPS' | 'DUITNOW' | 'PROMPTPAY' | 'INSTAPAY' | 'PESONET' | 'NAPAS' | 'BEFTN' | 'SLIPS' | 'ZAHAV' | 'GHIPSS' | 'NIBSS' | 'PESALINK' | 'RTC_ZA' | 'TZS_RTGS' | 'EGP_ACH' | 'JOD_ACH' | 'NPSS' | 'MADA' | 'QPS' | 'DOP_ACH' | 'GTQ_ACH' | 'HNL_ACH' | 'PEN_ACH' | 'JMD_ACH' | 'USD_ACH_SV' | 'USD_ACH_EC' | 'CLP_TEF' | 'PSE' | 'COP_ACH' | 'BOB_RTGS' | 'PYG_ACH' | 'CERTIS' | 'DKK_TIPS' | 'SENT' | 'NKS' | 'BANKGIROT' | 'HKD_FPS' | 'IBFT' | 'TRY_FAST' | 'ETHEREUM' | 'BASE' | 'POLYGON' | 'SOLANA' | 'TRON' | 'BITCOIN' | 'ARBITRUM' — Payment rail for destination funds. For crypto, specify chain (ethereum, base, polygon, solana, tron). For fiat, specify network (ach, sepa, fast_sg).
  - `stablecoinParity` boolean — Treat stablecoin/fiat pairs as 1:1 (e.g., 1 USDT = 1 USD). Only applicable to stablecoin/fiat conversions. Any market difference is settled via postpaid billing. Defaults to true for eligible pairs.
  - `onBehalfOf` string — Customer the quote is for. Some customers are configured for customer-specific pricing on stablecoin pairs; pass the customer the eventual transfer will execute for so the quoted rate matches it. Omitted: standard pricing.

## Response `201`

Quote created successfully

- QuoteResponseDto
  - `id` string — Quote ID (only present for held quotes)
  - `sourceAmount` 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
  - `destinationAmount` 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
  - `exchangeRate` string, required — Exchange rate (inclusive of all fees)
  - `infiniteFee` FeeBreakdownDto, required
    - `fixed` number, nullable, required — Fixed fee amount
    - `variable` number, nullable, required — Variable fee rate
  - `developerFee` DeveloperFeeDto
    - `fixed` number, nullable, required — Fixed fee amount
    - `variable` number, nullable, required — Variable fee rate
  - `sourceRail` string — Source payment rail
  - `destinationRail` string — Destination payment rail
  - `expiresAt` string, date-time — Quote expiration timestamp (only present for held quotes)
  - `createdAt` string, date-time, required — Quote creation timestamp
  - `lockable` boolean, required — Whether the exchange rate can be locked for 24 hours
  - `route` RouteInfoDto
    - `supported` boolean, required — Whether this route is supported
    - `flow` string — Transfer flow type
    - `summary` string — Human-readable route summary
    - `totalFeeBps` number — Total fee in basis points
    - `estimate` RouteEstimateDto
      - `estimatedReceiveAt` string, date-time, required — Estimated time when funds will be received
      - `estimatedMinutes` number, required — Estimated duration in minutes
      - `nextCutoff` string, date-time — Next wire cutoff time (if applicable)
      - `cutoffTimezone` string — Timezone for the cutoff time
    - `minimumAmount` MoneyOutputDto
      - `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
    - `legs` RouteLegDto[] — Individual legs of the transfer
      - `type` string, required — Type of leg
      - `inputCurrency` string, required — Input currency for this leg
      - `outputCurrency` string, required — Output currency for this leg
      - `inputRail` string, required — Input rail for this leg
      - `outputRail` string, required — Output rail for this leg
      - `feeBps` number, required — Fee in basis points for this leg
      - `settlementType` string, required — Settlement type for this leg

## Other responses

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

---

[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/5426f2706725/schema)
