Skip to main content

Create Sell Checkout

Create a checkout intent to execute an off-ramp (crypto to fiat) transaction. Pass the onramp value from a sell quote response.

POSThttps://api.zenpays.com/payment/api/v1/off-ramp/checkout
Bearer · API key

Request​

Headers​

HeaderDescription
Content-Type
REQUIRED
application/json
x-request-id
OPTIONAL
Custom request ID for tracing
Public Endpoint

This endpoint does not require authentication headers.

Body Parameters​

ParameterTypeDescription
onramp
REQUIRED
stringIdentifier from sell quote response
source
REQUIRED
stringCrypto ID (e.g. btc_bitcoin)
destination
REQUIRED
stringFiat currency (e.g. usd)
amount
REQUIRED
numberCrypto amount to sell
type
REQUIRED
stringsell
paymentMethod
REQUIRED
stringPayout method (e.g. bank_transfer)
walletAddress
OPTIONAL
stringSource wallet address. See Wallet Addresses
walletMemo
OPTIONAL
stringMemo/tag for XRP, XLM, etc.
network
OPTIONAL
stringBlockchain network
country
OPTIONAL
stringISO country code
sessionId
OPTIONAL
stringCheckout session ID for tracking
walletAddresses
OPTIONAL
objectNetwork-to-address mappings

Response​

Success (200 OK)​

{
"success": true,
"data": {
"transactionId": "txn_def456",
"redirectUrl": "https://checkout.example.com/...",
"status": "pending"
},
"message": "Sell checkout intent created"
}

Response Fields​

ParameterTypeDescription
transactionId
OPTIONAL
stringUnique transaction identifier
redirectUrl
OPTIONAL
stringURL to redirect the user to complete the sell
status
OPTIONAL
stringInitial status (pending)

Error Responses​

CodeHTTPMessage
VALIDATION_ERROR400Invalid request body
OFFRAMP_CHECKOUT_FAILED500Failed to create sell checkout

Examples​

curl -X POST https://api.zenpays.com/payment/api/v1/off-ramp/checkout \
-H "Content-Type: application/json" \
-d '{
"onramp": "moonpay",
"source": "btc_bitcoin",
"destination": "usd",
"amount": 0.01,
"type": "sell",
"paymentMethod": "bank_transfer",
"walletAddress": "bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh"
}'

Next Steps​