v1

latestOpenAPI 3.0.32026-07-2650226215.9 KB
Quote

Create a payment quote

Creates a payment quote with a locked exchange rate and fee breakdown for a prospective transfer. Quotes expire after a short window; reference the returned quote ID when executing the transaction. Pass an Idempotency-Key header to safely retry.

post/quotes

Headers

Idempotency-Keystring required

Required on POST and PUT requests. Use a unique value per logical mutation attempt, for example a UUID.

Request body

customerIdstring required

The customer this quote is for (cst_ prefix).

sponsorGasboolean

When true, OMS absorbs the on-chain gas cost for the destination delivery. Only true is currently supported. Ignored for non-crypto destinations (no on-chain leg).

settlementType'internal' | 'external'

Card rail only: INTERNAL (OMS custodies the crypto) or EXTERNAL (on-chain wallet). Defaults: card buy -> external, card sell -> internal. Ignored for non-card rails.

metadataobject

Free-form key-value pairs stored on the quote and copied to the resulting transaction.

Example request

{
  "customerId": "cst_vfa0nxw6zvyws9g237jrxn4y7k",
  "source": {
    "type": "walletOms",
    "details": {
      "id": "wlt_5h4jzzpr9xre3bamd9ca7qyghn",
      "asset": "usdc",
      "network": "polygon"
    },
    "amount": "100.00"
  },
  "destination": {
    "type": "bankUs",
    "details": {
      "id": "ext_fky491gakzj0dd46qb6whsr2vq",
      "asset": "usd",
      "network": "ach",
      "accountHolder": "customer"
    }
  },
  "sponsorGas": true,
  "metadata": {
    "orderId": "order_12345"
  }
}

Response

The request has succeeded and a new resource has been created as a result.

idstring required

Public TypeID, e.g. txn_01h455vb4pex5vsknk084sn02q; legacy UUID suffixes are accepted until non-v7 rows are retired.

object'quote' required

Resource type discriminator. Always "quote".

status'open' | 'accepted' | 'expired' required

Status of a quote. open: pricing locked, awaiting acceptance. accepted: a transaction has been created from it. expired: the pricing window elapsed.

sourceToDestination'cryptoToCrypto' | 'cryptoToCash' | 'cryptoToFiatAccount' | 'cashToCrypto' | 'fiatAccountToCrypto' | 'fiatAccountToFiatAccount'

Composite of source and destination instrument categories, inferred from each side. The cash corridors (cryptoToCash, cashToCrypto) are derived from a cash-pickup destination / cash-in source respectively; the rest map straight from the internal corridor type.

customerIdstring required

Public TypeID, e.g. txn_01h455vb4pex5vsknk084sn02q; legacy UUID suffixes are accepted until non-v7 rows are retired.

expiresAtstring date-time

When the locked pricing expires.

createdAtstring date-time

When the quote was created.

metadataobject

Free-form key-value pairs supplied at creation or update.

Example response

{
  "id": "qt_0gq9aesz4wb5etdv88z1j61qcm",
  "object": "quote",
  "status": "open",
  "sourceToDestination": "cryptoToFiatAccount",
  "customerId": "cst_vfa0nxw6zvyws9g237jrxn4y7k",
  "source": {
    "party": {
      "relationship": "customer",
      "customerId": "cst_vfa0nxw6zvyws9g237jrxn4y7k",
      "entityType": "individual"
    },
    "type": "walletOms",
    "category": "crypto",
    "details": {
      "id": "wlt_5h4jzzpr9xre3bamd9ca7qyghn",
      "asset": "usdc",
      "network": "polygon",
      "blockchainAddress": "0x7B3a9F2c4D1eA8bF6390cE5d2B7fA104C8e3D9b1",
      "custodyType": "custodial"
    }
  },
  "destination": {
    "party": {
      "relationship": "externalRegistered",
      "counterpartyId": "ctp_yp5z8m7n22svc0vh6edqgcfdat",
      "entityType": "individual",
      "name": "Alice Smith",
      "address": {
        "line1": "500 Market St",
        "city": "San Francisco",
        "state": "CA",
        "country": "US",
        "zipCode": "94105"
      }
    },
    "type": "bankUs",
    "category": "fiatAccount",
    "details": {
      "id": "ext_fky491gakzj0dd46qb6whsr2vq",
      "asset": "usd",
      "network": "ach",
      "accountNumberLast4": "1234",
      "routingNumber": "021000021",
      "bankName": "Chase",
      "accountType": "checking"
    },
    "payoutOrigin": {
      "type": "bank",
      "details": {
        "accountHolder": "customer",
        "accountHolderName": "Jane Smith"
      }
    }
  },
  "pricing": {
    "source": {
      "asset": "usdc",
      "amountGross": "100.00",
      "amountNet": "100.00",
      "feesDeducted": {
        "total": "0.00",
        "developer": "0.00",
        "oms": "0.00",
        "gas": "0.00"
      }
    },
    "destination": {
      "asset": "usd",
      "amountGross": "100.00",
      "amountNet": "100.00",
      "feesDeducted": {
        "total": "0.00",
        "developer": "0.00",
        "oms": "0.00",
        "gas": "0.00"
      }
    },
    "pair": "usdc/usd",
    "exchangeRate": "1.0000",
    "effectiveRate": "1.0000",
    "fixedAmountSide": "source",
    "sponsorGas": true,
    "sponsorGasCost": "0.00"
  },
  "expiresAt": "2026-03-14T19:15:00Z",
  "createdAt": "2026-03-14T19:00:00Z"
}