Held FX Rates – Integration Guide

This guide explains how to integrate Held FX Rates, which enable you to lock in an FX rate for a defined period and execute a conversion at that guaranteed rate.

Held FX Rates are intended for payment journeys where there is a delay between pricing and execution, such as checkout flows, beneficiary setup, or invoice payments.

Overview

Held FX Rates follow a two-step process:

  • Create a held FX quote
  • Create a conversion using the held quote

Key Concepts

Before integrating, it’s important to understand the following:

  • Held quotes lock an FX rate for a predefined hold period
  • Hold periods must be pre‑provisioned for your account (contact your Account Manager or our support team)
  • Quotes are currently single‑use only
  • Quotes are amount‑specific — the conversion amount must match the quoted amount
  • Pricing includes risk‑based markups, delivered as an all‑in rate
  • Not all currency pairs are available initially (contact us for coverage)

Integration Flow

Step 1: Create a Held FX Quote

Use the POST /v2/quotes/create endpoint to request a held FX rate.

This request is similar to creating a conversion, with the addition of the hold_period field.

Endpoint Detail

POST /v2/quotes/create

Headers
FieldTypeDescription
X-Auth-TokenstringAuthentication token
Form Parameters
FieldTypeDescription
buy_currencystringISO currency code being bought
sell_currencystringISO currency code being sold
fixed_sidestringCurrency to fix (buy or sell)
amountstringAmount of the fixed currency
hold_periodstringDuration the quote is valid for. Must be pre-configured for your account and be provided using one of the supported units - seconds (s) or minutes (m), e.g. 30s, 3m
conversion_datestringEarliest delivery date (YYYY-MM-DD)
conversion_date_preferencestringdefault, earliest, next_day, or optimize_liquidity
on_behalf_ofstringSub-account contact UUID

Note: The hold_period value must be enabled on your account before use.

Quote Response

The response mirrors the existing conversion response with the addition of quote‑specific fields:

FieldDescription
quote_idUnique identifier for the held quote
created_atTimestamp indicating when the quote was created
expires_atTimestamp indicating when the quote expires
core_rateAll‑in FX rate (includes risk markup)

Step 2: Book a Conversion Using the Held Quote

To execute a trade at the held rate, call the existing conversion creation endpoint with the quote_id.

Endpoint

POST /v2/conversions/create

Headers
FieldTypeDescription
X-Auth-TokenstringAuthentication token
Form Parameters
FieldTypeDescription
buy_currencystringMust match the currency specified in the held quote
sell_currencystringMust match the currency specified in the held quote
fixed_sidestringMust match the fixed side specified in the held quote
amountstringMust match the amount specified in the held quote
quote_idstringID returned by the /v2/quotes/create endpoint
conversion_datestringEarliest delivery date (YYYY-MM-DD)
conversion_date_preferencestringdefault, earliest, next_day, or optimize_liquidity
term_agreementbooleanIndicates acceptance of the Terms and Conditions
reasonstringFree‑form reason for the conversion
unique_request_idstringIdempotency key
on_behalf_ofstringSub-account contact UUID