Quotes are valid for 3 minutes from creation. After that, they expire and transfers can no longer be created from them.
Create the transfer before the quote expires. The quoted rate is honoured for the remainder of the same 3-minute quote validity window; creating a transfer does not restart it.
For transfers involving deposits, ensure the deposit is received within the same quote validity window. Deposits received outside that window are settled at the market rate.
Check the quote’s
expires_at before creating the transfer. The transfer does not start a new quote validity window.Use Cases
- Charging service fees on transactions
- Adding profit margins to conversions
How Markups Work
To add your own fees, use a two-step approach:- Customer Deposit: Create a quote for the total amount (base + markup) with a
pay_inobject - Actual Conversion: After funds are received, create a second quote for only the base amount with a
pay_outobject
Example: Markup on USDT Purchase
A customer wants to buy USDT worth 5,000 NGN. You want to charge a 10% markup (500 NGN profit).1
Create Quote for Customer Deposit
Charge the customer 5,500 NGN (5,000 NGN + 500 NGN markup):Response:
2
Finalize Deposit Transfer
Generate the temporary bank account for customer deposit:Response:Customer deposits 5,500 NGN to this bank account.
3
Monitor Transfer Status
If webhooks is setup, you’ll receive a notification when the deposit is complete. The customer’s funds are now in your balance and ready for conversion.Your balance now has 5,500 NGN.
4
Create Quote for Actual Conversion
Convert only 5,000 NGN to USDT (keeping 500 NGN as profit):Response:
5
Execute Conversion Transfer
Finalize the conversion:Result:
- Customer receives 3.12 USDT
- You spent 5,000 NGN from your balance
- 500 NGN remains in your balance as profit
Example: Sell USDT for NGN with Markup
A customer wants to sell 50 USDT for NGN. You want to charge a 5% markup.1
Get a Quote
Create a quote to see how much NGN the customer will receive:Response:Calculate your markup:
- Base amount: ₦74,487
- 5% markup: ₦3,724
- Customer receives: ₦70,763 (₦74,487 - ₦3,724)
- You keep: ₦3,724 as profit
2
Execute the Sale
Use the quote ID to finalize the conversion:Response:
3
Apply Your Markup
Your transaction breakdown:
- 50 USDT converted to ₦74,487 (from Busha)
- Customer paid: ₦70,763 (after your 5% markup)
- Your profit: ₦3,724
Example: Crypto Payout with Markup
A customer wants to withdraw 100 USDT to their external wallet. You want to charge a 2% markup (withdrawal fee).1
Calculate Markup and Net Amount
Customer request: Withdraw 100 USDTYour calculation:
- Gross amount: 100 USDT
- 2% markup: 2 USDT
- Net payout: 98 USDT (amount customer actually receives)
- You keep: 2 USDT as profit
2
Create Recipient for Customer's Wallet
Create a crypto recipient for the customer’s external wallet address:Response:
3
Create Quote for Net Payout
Create a quote for the net amount (98 USDT) that the customer will actually receive:Response:
4
Execute Payout Transfer
Finalize the payout:Response:Result:
- Customer receives: 98 USDT in their external wallet
- You spent: 98 USDT from your balance
- You keep: 2 USDT as profit (from the original 100 USDT customer paid you)
5
Monitor Payout Status
If webhooks are set up, you’ll receive notifications as the payout progresses:
- Customer paid you: 100 USDT
- Customer received: 98 USDT
- Your markup profit: 2 USDT
- Network fee: Covered by Busha
Example: Bank Payout with Markup
A customer wants to withdraw 50,000 NGN to their bank account. You charge a 1% markup (500 NGN).1
Calculate Markup
Customer request: Withdraw 50,000 NGNYour calculation:
- Gross amount: 50,000 NGN
- 1% markup: 500 NGN
- Net payout: 49,500 NGN
- You keep: 500 NGN as profit
2
Create Bank Recipient
Create a recipient for the customer’s bank account:Response:
3
Create Quote for Net Payout
Create a quote for 49,500 NGN (after your 1% markup):Response:
4
Execute Bank Payout
Finalize the bank transfer:Response:Result:
- Customer receives: ₦49,500 in their bank account
- You spent: ₦49,607.50 from your balance (₦49,500 + ₦107.50 transfer fee)
- Your markup profit: ₦500 (before transfer fee)
- Net profit: ₦392.50 (after ₦107.50 transfer fee)
Learn More
- Customer Deposits - Accept fiat and crypto deposits
- Sell Crypto for Fiat - Sell cryptocurrency for fiat
- Webhooks Setup - Monitor transaction status
- Understanding Quotes - How quotes work