Skip to main content
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.
This example shows you how to add custom markup fees on top of Busha’s infrastructure costs.

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:
  1. Customer Deposit: Create a quote for the total amount (base + markup) with a pay_in object
  2. Actual Conversion: After funds are received, create a second quote for only the base amount with a pay_out object
The difference between what the customer pays and what you spend on the conversion remains in your balance as profit.

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
You would then send ₦70,763 to the customer via bank transfer or their preferred payout method, keeping ₦3,724 as your service fee.

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:
Transaction Summary:
  • 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