Skip to main content
Starts a card payment for a buyer who has already been quoted. Returns either a purchase to redirect into, or a signal that identity verification is not finished yet - handle both shapes.
Identity verification happens in the on-ramp’s own flow, not ours. Get an access token from /card/kyc-token and mount their widget; we never see the buyer’s documents.

Request

string
required
The buyer’s email. This is the key the on-ramp uses to identify them across the purchase and its verification.
string
required
The EVM address the crypto is delivered to. In the non-custodial flow this is the buyer’s own wallet.
string
required
ISO 4217 code of the currency being charged (e.g. "EUR").
string
required
Total to charge, as a decimal string, matching what was quoted.
object
required
Card billing address. Required by the on-ramp before a purchase can proceed.
string
required
Buyer’s date of birth, as required by the on-ramp’s compliance checks.

Response

Two shapes. Branch on status.

Verification still pending

string
"pending" - the buyer must finish identity verification before a purchase can start.
string
incomplete, pending (submitted, under review) or unknown. Keep polling on pending; it is not terminal.

Ready to pay

string
Your reference for this purchase. Pass it to /card/status.
string
The hosted card page. Send the buyer here to enter card details, Apple Pay, and pass 3DS. Payment never touches your page or ours.

Errors