Overview
Distributing Bitcoin rewards involves creating a quote that converts your fiat balance (typically USD) to Bitcoin and sends it to the customer’s wallet. You have flexibility in how you lock amounts, register destinations, and execute transfers.Basic Flow
- Create a quote - Specify source account, destination, and amount
- Execute the quote - Either immediately or after review
- Monitor completion - Track via webhooks
Finding your platform’s internal account
In this guide, we’ll use the platform’s USD internal account as the funding source for the rewards. You can find your platform’s internal account by listing all internal accounts for your platform.Creating a Quote
The core request specifies your platform’s internal account as the source and the customer’s wallet as the destination. First, create an external account for the destination wallet:Locking Amount: Sending vs. Receiving
When creating a quote, you can choose to either lock the amount you’re sending (fiat) or the amount the customer receives (Bitcoin).Lock Sending Amount
Use this when you want to send a fixed dollar amount (e.g., $1.00 reward).Lock Receiving Amount
Use this when you want the receiver to receive a specific Bitcoin amount (e.g., 1000 sats).Execution Options
Immediate Execution (Market Order)
SetimmediatelyExecute: true to create and execute the quote in one step. This is ideal for automated reward distribution where you accept the current market rate.
transactionId in the response.
Two-Step Execution (Review Before Sending)
OmitimmediatelyExecute or set it to false to review the quote before executing.
PENDING and you’ll have until the quote’s expiresAt timestamp to execute the quote.
After reviewing the quote’s exchange rate and fees, execute it:
Quotes expire after a short time (typically 5 minutes). You must execute
before expiration.
Destination Options
Pre-Registered External Account
Create the external account first, then reference it by ID in the quote. First, create the external account:/quotes:
Tracking Delivery
Webhook Notification
When the Bitcoin transfer completes, you’ll receive a webhook:Common Patterns
Fixed Dollar Rewards (e.g., $1.00 per action)
Fixed Satoshi Rewards (e.g., 1000 sats per action)
Review Before Sending
Best Practices
Use
immediatelyExecute: true for automated, small-dollar rewards where you
accept market rates.Pre-register external accounts for customers receiving recurring rewards to
improve performance.
Set up webhook handlers to track completion status and update your reward
records.
Related Resources
- Quick Start Guide - End-to-end Bitcoin rewards walkthrough
- Configuring Customers - Customer creation and management
- API Reference: Quotes - Complete quote API documentation
- Handling Webhooks - Webhook security and implementation