Skip to main content
POST

Authorizations

Authorization
string
header
required

JWT bearer token. Include as Authorization: Bearer <token>. See the Authentication guide for how to obtain one.

Headers

X-Idempotency-Key
string<uuid>
required

Unique key to ensure idempotent request processing. Required on all POST, PUT, and PATCH requests.

X-Trace-Version
string

API version. Omit to use the default version.

Example:

"1"

Body

application/json

Quotes lock an FX rate (or a 1:1 spot for same-asset) for a short window and are required by every operation creation endpoint. A quote is bound to a specific account and can be consumed by exactly one operation on that account.

Provide exactly one of sourceAmount or targetAmount:

  • sourceAmount — fix the amount you'll spend; the target side is computed.
  • targetAmount — fix the amount the beneficiary receives; the source side is computed.

Same-asset quotes (sourceAsset == targetAsset) are valid and return a 1:1 spot with zero spread.

accountId
string<uuid>
required

Account the quote is bound to. The consuming operation must reference the same account.

Example:

"a1b2c3d4-5e6f-7890-abcd-ef1234567890"

sourceAsset
enum<string>
required

ISO 4217 currency code or stablecoin ticker. The maximum decimal scale of an AmountValue paired with this asset depends on the asset:

Available options:
BRL,
USDT,
USDC
Example:

"BRL"

targetAsset
enum<string>
required

ISO 4217 currency code or stablecoin ticker. The maximum decimal scale of an AmountValue paired with this asset depends on the asset:

Available options:
BRL,
USDT,
USDC
Example:

"BRL"

sourceAmount
string

Decimal monetary amount in the associated asset. The number of fractional digits must not exceed the asset's precision — see Asset for the per-asset table. Exceeding the precision fails with INVALID_AMOUNT_PRECISION.

Pattern: ^-?\d+(\.\d+)?$
Example:

"500.00"

targetAmount
string

Decimal monetary amount in the associated asset. The number of fractional digits must not exceed the asset's precision — see Asset for the per-asset table. Exceeding the precision fails with INVALID_AMOUNT_PRECISION.

Pattern: ^-?\d+(\.\d+)?$
Example:

"500.00"

Response

Quote created.

A quote that can be consumed by an operation. Expires after a short window.

id
string<uuid>
required
read-only
customerId
string<uuid>
required
account
object
required

Reference to a customer account, including the registered owner name.

sourceAmount
object
required

Monetary amount expressed as a decimal string in the asset's canonical scale. Use a decimal-precision library (BigDecimal, Decimal) for arithmetic — never JavaScript Number. Request bodies use the scalar AmountValue instead.

targetAmount
object
required

Monetary amount expressed as a decimal string in the asset's canonical scale. Use a decimal-precision library (BigDecimal, Decimal) for arithmetic — never JavaScript Number. Request bodies use the scalar AmountValue instead.

effectiveRate
object
required

Exchange rate between two currencies.

expiresAt
string<date-time>
required

Time at which the quote expires. Operations referencing the quote after this fail with QUOTE_EXPIRED.