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