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.zenpayz.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.zenpayz.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