Skip to main content
POST
Create a binding quote for a fiat ↔ crypto order.
1

Create quote

POST with corridor, customer, and payment method details.
2

Show pricing

Display returned amounts and payment instructions to the user (OnRamp).
3

Accept

Discovery before quote

Payment method by rail

mobile_money
  • payment_method.type=mobile_money
  • payment_method.phone_number (E.164)
  • payment_method.network_id (UUID from catalog providers[].id)
bank
  • payment_method.type=bank
  • account_number, account_name
  • payment_method.network_id (from GET /partner/banks or catalog)
provider is optional — when omitted, ElementPay auto-routes by corridor.

Quote IDs

  • OnRamp: yc_receive_<id>
  • OffRamp: yc_send_<id>
The quote expires at data.expires_at.

Authorizations

X-API-Key
string
header
required

Body

application/json

Generic partner quote request for the quote -> accept -> webhook flow. provider is optional. When omitted, the partner order router selects the route from country, currency, order type, payment method, asset, and amount. New partner integrations should use the canonical asset, customer, and payment_method blocks. For local fiat rail momo/bank, payment_method.network_id is required (catalog or GET /banks). For mobile money MSISDN, use payment_method.phone_number only — do not fall back to customer.phone. Legacy provider-specific blocks (destination, etc.) are still accepted and mapped to the canonical request fields.

order_type
any
required

OnRamp/0 = fiat to crypto. OffRamp/1 = crypto to fiat.

Available options:
OnRamp,
OffRamp,
onramp,
offramp,
0,
1
provider
enum<string> | null

Optional route override. Omit for ElementPay auto-routing. Use elementpay for native on-chain routes; local fiat rail and international bank for ramp providers.

Available options:
local fiat rail,
international bank,
elementpay,
native
token
string | null

Token contract address or route token hint. local fiat rail currently requires Base USDC or Polygon USDT address.

channel_id
string | null
Minimum string length: 1
channel_type
string | null
sequence_id
string | null
currency
string | null
Required string length: 3
country
string | null
Required string length: 2
reason
string
default:other
customer_uid
string | null
customer_type
enum<string>
default:retail
Available options:
retail,
institution
asset
Asset · object | null

Canonical crypto asset block. Use token for contract-address based routes and currency + network for provider currency routes.

subject_type
enum<string> | null

Stable subject type for providers that require pre-approved PSP customer links (for example international bank USD/EUR IBAN payins).

Available options:
user,
organization
subject_id
string | null

Stable subject id used to resolve provider approval/onboarding state.

Maximum string length: 64
crypto_currency
string | null

Provider crypto currency hint, e.g. USDC or USDC_TEST for international bank.

crypto_network
string | null

Provider network hint, e.g. Base or PolygonTestAmoy for international bank.

amount
local_amount
integer | null
Required range: x >= 1
fiat_amount
integer | null
Required range: x >= 1
crypto_amount
Required range: x > 0
customer
Customer · object | null

Provider-neutral customer details. Retail: personal KYC fields (name, dob, id_number, …). Institution (type: institution with top-level customer_type: institution): uid, business_name, business_id (legal registration/tax id of the paying business), and email — no DOB / national ID / personal name. Used to derive provider party details when provider-specific fields are omitted.

payment_method
Payment Method · object | null

Provider-neutral fiat rail. For type: mobile_money use phone_number (MSISDN) and network_id (institution UUID from catalog providers[].id). For type: bank use account_number, account_name, and network_id (UUID from GET /banks or catalog). Do not use top-level legacy fields.

recipient
Recipient · object | null
source
Source · object | null
sender
Sender · object | null
destination
Destination · object | null
wallet_address
string | null
wallet_tag
string | null
refund_address
string | null
sender_address
string | null
refund_to_source_address
boolean
default:false
redirect_url
string | null

Response

Partner order quote created