Documentation Index Fetch the complete documentation index at: https://docs.zbdpay.com/llms.txt
Use this file to discover all available pages before exploring further.
API Overview
Base URL
All API requests should be made to:
Authentication
All ZBD endpoints are protected by an API Key. To make requests against these endpoints you must pass a header property called apikey with your ZBD Project API Key .
apikey: "your-api-key-here"
SSL / HTTPS Access
ZBD only provides a secure interface over HTTPS with SSL certificate support . Any requests that attempt to reach the ZBD API in an insecure fashion (plain-text over HTTP requests) will be rejected.
Description
This endpoint creates a session token and widget URL that can be used to embed the ZBD Ramp widget in your game or application.
Usage
The ramp widget allows your users to purchase Bitcoin using their preferred fiat currency. The session creation process involves:
First Create a session with user details and configuration options
Second Receive a widget URL and session token to embed in your application
Configuration
Body Parameters
Email address of the user launching the Ramp
URL to receive webhook notifications
Existing user session token (for returning users)
Currency to convert from (e.g., USD)
Currency to convert to (e.g., BTC)
Destination address for the funds (Lightning Address or onchain address)
Your internal reference ID for this transaction
Additional metadata for the transaction
curl -X POST https://api.zbdpay.com/api/v1/ramp-widget \
-H "Content-Type: application/json" \
-H "apikey: YOUR_API_KEY" \
-d '{
"email": "user@example.com",
"webhook_url": "https://yourapp.com/webhooks/zbd"
}'
{
"success" : true ,
"data" : {
"session_token" : "eyJraWQiOiJzLWE1OWNkMjc4..." ,
"widget_url" : "https://ramp.zbdpay.com/?session=eyJraWQiOiJzLWE1OWNkMjc4..." ,
"session_id" : "ses_9n3f7h2u4b" ,
"expires_at" : "2025-06-09T12:00:00Z"
}
}
Error Responses
{
"success" : false ,
"error" : {
"code" : "INVALID_EMAIL" ,
"message" : "Please provide a valid email address"
}
}
Common error codes:
INVALID_EMAIL - Email format is invalid
INVALID_WEBHOOK_URL - Webhook URL is not accessible
UNAUTHORIZED - Invalid API key
RATE_LIMITED - Too many requests
Webhook Events
Webhooks are sent as POST requests to your specified webhook_url.
Event Structure
All webhook events follow this structure:
{
"id" : "evt_2n4f8gu3nf" ,
"type" : "ramp.purchase.completed" ,
"created_at" : "2025-06-09T10:30:00Z" ,
"livemode" : true ,
"data" : {
// Event-specific data
}
}