v1
latestOpenAPI 3.1.02026-07-241653251.3 MBRequest a payin quote
Retrieves a quote for a pay event for a given participant code and asset. The response includes a deposit address and rate at which a subsequent on-chain deposit will be honored.
The quote has an expiry timestamp (price_expire_ts) — for volatile assets, the platform must execute the deposit before this time, or a new quote can be requested for the same payment to refresh the price. For stablecoins, price_expire_ts will be null.
The request_id you send (via the X-Request-Id header) is the idempotency key for this endpoint: re-submitting the same request_id returns the existing active quote — same transaction_id, deposit address, and rate — instead of creating a new one.
Use the returned transaction_id as the path parameter when calling POST /pay/{id}/rfq to refresh a quote.
After the on-chain deposit settles or fails, a crypto_pay_status_changed webhook reports the outcome (success + status_reason_code).
Headers
HMAC-SHA256 signature of the request, base64-encoded. See the Authentication guide for the exact signing formula.
Current Unix timestamp in seconds. Must be within 60 seconds of server time or the request is rejected.
Request body
Example request
{
"participant_code": "ABCDEF",
"pay_asset": "BTC",
"quoted_total": "100.00",
"quoted_currency": "USD",
"account_label": "pay",
"client_reference_id": "order-12345",
"merchant_participant_code": "MERCH01"
}Response
Pay quote created successfully
Example response
{
"message": {
"request_id": "14f8ebb8-7530-4aa4-bef9-9d73d56313f3",
"participant_code": "ABCDEF",
"pay_asset": "BTC",
"quoted_currency": "USD",
"quoted_total": "100.00",
"underlying_quantity": "0.00152307",
"rate": "65658.42",
"price_expire_ts": 1712757000000,
"deposit_address": "bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh",
"transaction_id": "550e8400-e29b-41d4-a716-446655440000",
"client_reference_id": "order-12345",
"merchant_participant_code": "MERCH01"
}
}