Skip to main content
POST
Create a quote

Authorizations

Authorization
string
header
required

Enter Auth0 JWT token

Headers

Idempotency-Key
string

Client-generated idempotency key

Body

application/json

The intent field discriminates the body, and exactly one of fromAmount / toAmount fixes a leg of the pair: a payout quote requires toAmount (the beneficiary amount); a convert quote requires fromAmount (the source debit). The opposite side is rejected with a stable not-yet-supported code. The runtime body is a single CreateQuoteDto validated per-intent.

fromCurrency
string
required

Source currency (debited from the client)

Example:

"NGN"

intent
enum<string>
required

Must be 'payout' for this variant.

Available options:
payout
Example:

"payout"

toAmount
string
required

Amount the beneficiary receives, in toCurrency (required). Fixes the delivered leg; the pair takes exactly one of fromAmount / toAmount.

Example:

"100"

toCurrency
string
required

Target currency (received by the beneficiary)

Example:

"GBP"

rail
enum<string>

The rail the payout will use. A plan's rate row for that rail prices the quote, falling back to its rail-agnostic row. Required whenever the plan prices the pair on any specific rail: omitting it there is refused with RAIL_REQUIRED. The payout consuming the quote must run on the same rail, or it is refused with QUOTE_RAIL_MISMATCH.

Available options:
sepa_inst,
sepa_credit,
bank_transfer,
ach,
fedwire,
swift,
crypto,
mobile_money

Response

The minted quote. Every intent returns the same shape.

expiresAt
string
required

Quote expiry timestamp (ISO 8601)

Example:

"2026-04-13T12:00:30Z"

fromCurrency
string
required

Source currency (debited from the caller)

Example:

"NGN"

id
string
required

Quote identifier

Example:

"uuid-here"

rate
string
required

All-in rate: fromCurrency per 1 toCurrency. Always present; a same-currency or stablecoin-par quote (no FX leg) reports "1.00000000".

Example:

"2524.47560000"

targetAmount
string
required

Amount received in toCurrency

Example:

"100"

toCurrency
string
required

Target currency (received by the beneficiary, or credited to the caller's own balance for a convert quote)

Example:

"GBP"

totalDebitAmount
string
required

Total amount debited from the caller in fromCurrency. The quote prices FX + markup only, so this is the FX base; a payout's per-transaction fee (a flat amount, or basis points of the debit floored at that amount) is added at payout creation.

Example:

"252447.5600"

status
enum<string>

Quote status (only included on GET)

Available options:
active,
used,
expired