Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.busha.io/llms.txt

Use this file to discover all available pages before exploring further.

This example shows you how to buy and sell USD with either fiat currency or cryptocurrency using Busha’s API.

Use Cases

  • Convert local currency to USD
  • Convert stablecoins to USD
  • Convert USD to local currency
  • International payments
  • USD savings and liquidity management

Buy USD

Buy USD with Fiat

Buy USD with 50,000 NGN via Bank Transfer

1

Get a Quote

Create a quote with temporary bank account funding:
        curl -X POST https://api.sandbox.busha.so/v1/quotes \
          -H "Authorization: Bearer YOUR_SECRET_KEY" \
          -H "Content-Type: application/json" \
          -d '{
            "source_currency": "NGN",
            "target_currency": "USD",
            "source_amount": "50000",
            "pay_in": {
              "type": "temporary_bank_account"
            }
          }'
{
  "status": "success",
  "message": "Created quote successfully",
  "data": {
    "id": "QUO_gCcLjJ0P0uEc",
    "profile_id": "BUS_CQr0jPzGGzmn1uW5W7OVs",
    "source_currency": "NGN",
    "target_currency": "USD",
    "source_amount": "50000",
    "target_amount": "33.48543819",
    "rate": {
      "product": "USDNGN",
      "rate": "1490.2",
      "side": "buy",
      "type": "FIXED",
      "source_currency": "NGN",
      "target_currency": "USD"
    },
    "fees": [
      {
        "amount": {
          "amount": "100",
          "currency": "NGN"
        },
        "name": "payment gateway fee",
        "type": "FIXED"
      }
    ],
    "pay_in": {
      "type": "temporary_bank_account"
    },
    "pay_out": {
      "type": "balance"
    },
    "reference": "QUO_gCcLjJ0P0uEc",
    "status": "pending",
    "expires_at": "2026-01-23T11:34:17.175170741Z",
    "created_at": "2026-01-23T11:04:17.175146315Z",
    "updated_at": "2026-01-23T11:04:17.175146315Z"
  }
}
2

Create the Transfer

Use the quote ID to get temporary bank details:
        curl -X POST https://api.sandbox.busha.so/v1/transfers \
          -H "Authorization: Bearer YOUR_SECRET_KEY" \
          -H "Content-Type: application/json" \
          -d '{
            "quote_id": "QUO_gCcLjJ0P0uEc"
          }'
{
  "status": "success",
  "message": "Created transfer successfully",
  "data": {
    "id": "TRF_JSaOYnl7Sla0",
    "profile_id": "BUS_CQr0jPzGGzmn1uW5W7OVs",
    "quote_id": "QUO_gCcLjJ0P0uEc",
    "description": "Bought USD",
    "sub_description": "With NGN",
    "source_currency": "NGN",
    "target_currency": "USD",
    "source_amount": "50000",
    "target_amount": "33.48543819",
    "trade": "buy",
    "rate": {
      "product": "USDNGN",
      "rate": "1490.2",
      "side": "buy",
      "type": "FIXED",
      "source_currency": "NGN",
      "target_currency": "USD"
    },
    "fees": [
      {
        "amount": {
          "amount": "100",
          "currency": "NGN"
        },
        "name": "payment gateway fee",
        "type": "FIXED"
      }
    ],
    "pay_in": {
      "expires_at": "2026-01-23T11:37:32.289498887Z",
      "recipient_details": {
        "account_name": "BIBAGE TECHNOLOGIES LTD || Liverppol Business",
        "account_number": "0327318166",
        "bank_code": "090614",
        "bank_name": "Aella Microfinance Bank",
        "email": "ajibola@busha.co"
      },
      "type": "temporary_bank_account"
    },
    "pay_out": {
      "type": "balance"
    },
    "status": "pending",
    "timeline": {
      "total_steps": 0,
      "current_step": 0,
      "transfer_status": "",
      "events": []
    },
    "created_at": "2026-01-23T11:07:31.197428968Z",
    "updated_at": "2026-01-23T11:07:31.197429043Z"
  }
}
Important: Transfer exactly ₦50,000 to the provided bank account before the expiration time. The USD will be credited to your balance once payment is confirmed.
3

Check Transfer Status

Monitor the transfer to confirm the purchase completed successfully:
        curl -X GET https://api.sandbox.busha.so/v1/transfers/TRF_JSaOYnl7Sla0 \
          -H "Authorization: Bearer YOUR_SECRET_KEY"
{
  "status": "success",
  "message": "Fetched transfer successfully",
  "data": {
    "id": "TRF_JSaOYnl7Sla0",
    "profile_id": "BUS_CQr0jPzGGzmn1uW5W7OVs",
    "quote_id": "QUO_gCcLjJ0P0uEc",
    "description": "Bought USD",
    "sub_description": "With NGN",
    "source_currency": "NGN",
    "target_currency": "USD",
    "source_amount": "50000",
    "target_amount": "33.48543819",
    "trade": "buy",
    "rate": {
      "product": "USDNGN",
      "rate": "1490.2",
      "side": "buy",
      "type": "FIXED",
      "source_currency": "NGN",
      "target_currency": "USD"
    },
    "fees": [
      {
        "amount": {
          "amount": "100",
          "currency": "NGN"
        },
        "name": "payment gateway fee",
        "type": "FIXED"
      }
    ],
    "pay_in": {
      "expires_at": "2026-01-23T11:37:32.289498887Z",
      "recipient_details": {
        "account_name": "BIBAGE TECHNOLOGIES LTD || Liverppol Business",
        "account_number": "0327318166",
        "bank_code": "090614",
        "bank_name": "Aella Microfinance Bank",
        "email": "ajibola@busha.co"
      },
      "type": "temporary_bank_account"
    },
    "pay_out": {
      "type": "balance"
    },
    "status": "funds_converted",
    "timeline": {
      "total_steps": 3,
      "current_step": 3,
      "transfer_status": "funds_converted",
      "events": [
        {
          "step": 1,
          "done": true,
          "status": "pending",
          "title": "Transfer Started",
          "description": "Waiting for your NGN payment",
          "timestamp": "2026-01-23T11:07:34.553579Z"
        },
        {
          "step": 2,
          "done": true,
          "status": "funds_received",
          "title": "Payment Received",
          "description": "We received your NGN Payment",
          "timestamp": "2026-01-23T11:07:34.553579Z"
        },
        {
          "step": 3,
          "done": true,
          "status": "funds_converted",
          "title": "Funds Converted",
          "description": "Your USD has been added to your wallet.",
          "timestamp": "2026-01-23T11:07:34.65765Z"
        }
      ]
    },
    "created_at": "2026-01-23T11:07:31.197428Z",
    "updated_at": "2026-01-23T11:07:35.404245Z"
  }
}

Other Examples

Buy USD with NGN from Balance
curl -X POST https://api.sandbox.busha.so/v1/quotes \
  -H "Authorization: Bearer YOUR_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "source_currency": "NGN",
    "target_currency": "USD",
    "source_amount": "50000",
    "pay_in": {
      "type": "balance"
    }
  }'

Buy USD with Crypto

Convert 100 USDT to USD from Balance

1

Get a Quote

Create a quote to see the exchange rate:
        curl -X POST https://api.sandbox.busha.so/v1/quotes \
          -H "Authorization: Bearer YOUR_SECRET_KEY" \
          -H "Content-Type: application/json" \
          -d '{
            "source_currency": "USDT",
            "target_currency": "USD",
            "source_amount": "100",
            "pay_in": {
              "type": "balance"
            }
          }'
{
  "status": "success",
  "message": "Created quote successfully",
  "data": {
    "id": "QUO_zqGjq5VI4Dyu",
    "profile_id": "BUS_CQr0jPzGGzmn1uW5W7OVs",
    "source_currency": "USDT",
    "target_currency": "USD",
    "source_amount": "100",
    "target_amount": "99.6",
    "rate": {
      "product": "USDTUSD",
      "rate": "0.996",
      "side": "sell",
      "type": "FIXED",
      "source_currency": "USDT",
      "target_currency": "USD"
    },
    "fees": [],
    "pay_in": {
      "type": "balance"
    },
    "pay_out": {
      "type": "balance"
    },
    "reference": "QUO_zqGjq5VI4Dyu",
    "status": "pending",
    "expires_at": "2026-01-20T09:48:40.822804422Z",
    "created_at": "2026-01-20T09:18:40.822779472Z",
    "updated_at": "2026-01-20T09:18:40.822779472Z"
  }
}
2

Create the Transfer

Use the quote ID to finalize the conversion:
        curl -X POST https://api.sandbox.busha.so/v1/transfers \
          -H "Authorization: Bearer YOUR_SECRET_KEY" \
          -H "Content-Type: application/json" \
          -d '{
            "quote_id": "QUO_zqGjq5VI4Dyu"
          }'
{
  "status": "success",
  "message": "Created transfer successfully",
  "data": {
    "id": "TRF_O7MHNJocNQaN",
    "profile_id": "BUS_CQr0jPzGGzmn1uW5W7OVs",
    "quote_id": "QUO_zqGjq5VI4Dyu",
    "description": "Sold USDT",
    "sub_description": "For USD",
    "source_currency": "USDT",
    "target_currency": "USD",
    "source_amount": "100",
    "target_amount": "99.6",
    "trade": "sell",
    "rate": {
      "product": "USDTUSD",
      "rate": "0.996",
      "side": "sell",
      "type": "FIXED",
      "source_currency": "USDT",
      "target_currency": "USD"
    },
    "fees": [],
    "pay_in": {
      "type": "balance"
    },
    "pay_out": {
      "type": "balance"
    },
    "status": "pending",
    "timeline": {
      "total_steps": 0,
      "current_step": 0,
      "transfer_status": "",
      "events": []
    },
    "created_at": "2026-01-20T09:33:01.915628818Z",
    "updated_at": "2026-01-20T09:33:01.915628873Z"
  }
}
3

Check Transfer Status

Monitor the transfer to confirm completion:
        curl -X GET https://api.sandbox.busha.so/v1/transfers/TRF_O7MHNJocNQaN \
          -H "Authorization: Bearer YOUR_SECRET_KEY"
{
  "status": "success",
  "message": "Fetched transfer successfully",
  "data": {
    "id": "TRF_O7MHNJocNQaN",
    "profile_id": "BUS_CQr0jPzGGzmn1uW5W7OVs",
    "quote_id": "QUO_zqGjq5VI4Dyu",
    "description": "Sold USDT",
    "sub_description": "For USD",
    "source_currency": "USDT",
    "target_currency": "USD",
    "source_amount": "100",
    "target_amount": "99.6",
    "trade": "sell",
    "rate": {
      "product": "USDTUSD",
      "rate": "0.996",
      "side": "sell",
      "type": "FIXED",
      "source_currency": "USDT",
      "target_currency": "USD"
    },
    "fees": [],
    "pay_in": {
      "type": "balance"
    },
    "pay_out": {
      "type": "balance"
    },
    "status": "funds_converted",
    "timeline": {
      "total_steps": 2,
      "current_step": 2,
      "transfer_status": "funds_converted",
      "events": [
        {
          "step": 1,
          "done": true,
          "status": "funds_received",
          "title": "Crypto Received",
          "description": "Funded from Balance"
        },
        {
          "step": 2,
          "done": true,
          "status": "funds_converted",
          "title": "Funds Converted",
          "description": "Your USD has been added to your wallet."
        }
      ]
    },
    "created_at": "2026-01-20T09:33:01.915628Z",
    "updated_at": "2026-01-20T09:33:02.456789Z"
  }
}

Other Examples

Buy USD with USDC from Balance
curl -X POST https://api.sandbox.busha.so/v1/quotes \
  -H "Authorization: Bearer YOUR_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "source_currency": "USDC",
    "target_currency": "USD",
    "source_amount": "100",
    "pay_in": {
      "type": "balance"
    }
  }'

Sell USD

Sell USD for Fiat

Convert 50 USD to NGN

1

Get a Quote

Create a quote to see the exchange rate:
        curl -X POST https://api.sandbox.busha.so/v1/quotes \
          -H "Authorization: Bearer YOUR_SECRET_KEY" \
          -H "Content-Type: application/json" \
          -d '{
            "source_currency": "USD",
            "target_currency": "NGN",
            "source_amount": "50",
            "pay_in": {
              "type": "balance"
            }
          }'
{
  "status": "success",
  "message": "Created quote successfully",
  "data": {
    "id": "QUO_6T9lPmqMSPPt",
    "profile_id": "BUS_CQr0jPzGGzmn1uW5W7OVs",
    "source_currency": "USD",
    "target_currency": "NGN",
    "source_amount": "50",
    "target_amount": "80363.5",
    "rate": {
      "product": "USDNGN",
      "rate": "1607.27",
      "side": "sell",
      "type": "FIXED",
      "source_currency": "USD",
      "target_currency": "NGN"
    },
    "fees": [],
    "pay_in": {
      "type": "balance"
    },
    "pay_out": {
      "type": "balance"
    },
    "reference": "QUO_6T9lPmqMSPPt",
    "status": "pending",
    "expires_at": "2026-01-20T09:56:01.045425406Z",
    "created_at": "2026-01-20T09:26:01.045403632Z",
    "updated_at": "2026-01-20T09:26:01.045403632Z"
  }
}
2

Create the Transfer

Use the quote ID to finalize the conversion:
        curl -X POST https://api.sandbox.busha.so/v1/transfers \
          -H "Authorization: Bearer YOUR_SECRET_KEY" \
          -H "Content-Type: application/json" \
          -d '{
            "quote_id": "QUO_6T9lPmqMSPPt"
          }'
{
  "status": "success",
  "message": "Created transfer successfully",
  "data": {
    "id": "TRF_qaZ4QmI5ahSw",
    "profile_id": "BUS_CQr0jPzGGzmn1uW5W7OVs",
    "quote_id": "QUO_6T9lPmqMSPPt",
    "description": "Sold USD",
    "sub_description": "For NGN",
    "source_currency": "USD",
    "target_currency": "NGN",
    "source_amount": "50",
    "target_amount": "80363.5",
    "trade": "sell",
    "rate": {
      "product": "USDNGN",
      "rate": "1607.27",
      "side": "sell",
      "type": "FIXED",
      "source_currency": "USD",
      "target_currency": "NGN"
    },
    "fees": [],
    "pay_in": {
      "type": "balance"
    },
    "pay_out": {
      "type": "balance"
    },
    "status": "pending",
    "timeline": {
      "total_steps": 0,
      "current_step": 0,
      "transfer_status": "",
      "events": []
    },
    "created_at": "2026-01-20T09:33:40.957016939Z",
    "updated_at": "2026-01-20T09:33:40.957017017Z"
  }
}
3

Check Transfer Status

Monitor the transfer to confirm completion:
        curl -X GET https://api.sandbox.busha.so/v1/transfers/TRF_qaZ4QmI5ahSw \
          -H "Authorization: Bearer YOUR_SECRET_KEY"
{
  "status": "success",
  "message": "Fetched transfer successfully",
  "data": {
    "id": "TRF_qaZ4QmI5ahSw",
    "profile_id": "BUS_CQr0jPzGGzmn1uW5W7OVs",
    "quote_id": "QUO_6T9lPmqMSPPt",
    "description": "Sold USD",
    "sub_description": "For NGN",
    "source_currency": "USD",
    "target_currency": "NGN",
    "source_amount": "50",
    "target_amount": "80363.5",
    "trade": "sell",
    "rate": {
      "product": "USDNGN",
      "rate": "1607.27",
      "side": "sell",
      "type": "FIXED",
      "source_currency": "USD",
      "target_currency": "NGN"
    },
    "fees": [],
    "pay_in": {
      "type": "balance"
    },
    "pay_out": {
      "type": "balance"
    },
    "status": "funds_converted",
    "timeline": {
      "total_steps": 2,
      "current_step": 2,
      "transfer_status": "funds_converted",
      "events": [
        {
          "step": 1,
          "done": true,
          "status": "funds_received",
          "title": "Payment Received",
          "description": "Funded from Balance"
        },
        {
          "step": 2,
          "done": true,
          "status": "funds_converted",
          "title": "Funds Converted",
          "description": "Your NGN has been added to your wallet."
        }
      ]
    },
    "created_at": "2026-01-20T09:33:40.957016Z",
    "updated_at": "2026-01-20T09:33:42.123456Z"
  }
}

Sell USD for Crypto

Convert 50 USD to USDT

1

Get a Quote

Create a quote to see the exchange rate:
        curl -X POST https://api.sandbox.busha.so/v1/quotes \
          -H "Authorization: Bearer YOUR_SECRET_KEY" \
          -H "Content-Type: application/json" \
          -d '{
            "source_currency": "USD",
            "target_currency": "USDT",
            "source_amount": "50",
            "pay_in": {
              "type": "balance"
            }
          }'
{
  "status": "success",
  "message": "Created quote successfully",
  "data": {
    "id": "QUO_g0k6EIlv4ZH6",
    "profile_id": "BUS_CQr0jPzGGzmn1uW5W7OVs",
    "source_currency": "USD",
    "target_currency": "USDT",
    "source_amount": "50",
    "target_amount": "49.800796",
    "rate": {
      "product": "USDTUSD",
      "rate": "1.004",
      "side": "buy",
      "type": "FIXED",
      "source_currency": "USD",
      "target_currency": "USDT"
    },
    "fees": [],
    "pay_in": {
      "type": "balance"
    },
    "pay_out": {
      "type": "balance"
    },
    "reference": "QUO_g0k6EIlv4ZH6",
    "status": "pending",
    "expires_at": "2026-01-20T10:00:31.485131911Z",
    "created_at": "2026-01-20T09:30:31.485109051Z",
    "updated_at": "2026-01-20T09:30:31.485109051Z"
  }
}
2

Create the Transfer

Use the quote ID to finalize the conversion:
        curl -X POST https://api.sandbox.busha.so/v1/transfers \
          -H "Authorization: Bearer YOUR_SECRET_KEY" \
          -H "Content-Type: application/json" \
          -d '{
            "quote_id": "QUO_g0k6EIlv4ZH6"
          }'
{
  "status": "success",
  "message": "Created transfer successfully",
  "data": {
    "id": "TRF_4vpxeM3IzcuV",
    "profile_id": "BUS_CQr0jPzGGzmn1uW5W7OVs",
    "quote_id": "QUO_g0k6EIlv4ZH6",
    "description": "Bought USDT",
    "sub_description": "With USD",
    "source_currency": "USD",
    "target_currency": "USDT",
    "source_amount": "50",
    "target_amount": "49.800796",
    "trade": "buy",
    "rate": {
      "product": "USDTUSD",
      "rate": "1.004",
      "side": "buy",
      "type": "FIXED",
      "source_currency": "USD",
      "target_currency": "USDT"
    },
    "fees": [],
    "pay_in": {
      "type": "balance"
    },
    "pay_out": {
      "type": "balance"
    },
    "status": "pending",
    "timeline": {
      "total_steps": 0,
      "current_step": 0,
      "transfer_status": "",
      "events": []
    },
    "created_at": "2026-01-20T09:34:13.772974486Z",
    "updated_at": "2026-01-20T09:34:13.772974539Z"
  }
}
3

Check Transfer Status

Monitor the transfer to confirm completion:
        curl -X GET https://api.sandbox.busha.so/v1/transfers/TRF_4vpxeM3IzcuV \
          -H "Authorization: Bearer YOUR_SECRET_KEY"
{
  "status": "success",
  "message": "Fetched transfer successfully",
  "data": {
    "id": "TRF_4vpxeM3IzcuV",
    "profile_id": "BUS_CQr0jPzGGzmn1uW5W7OVs",
    "quote_id": "QUO_g0k6EIlv4ZH6",
    "description": "Bought USDT",
    "sub_description": "With USD",
    "source_currency": "USD",
    "target_currency": "USDT",
    "source_amount": "50",
    "target_amount": "49.800796",
    "trade": "buy",
    "rate": {
      "product": "USDTUSD",
      "rate": "1.004",
      "side": "buy",
      "type": "FIXED",
      "source_currency": "USD",
      "target_currency": "USDT"
    },
    "fees": [],
    "pay_in": {
      "type": "balance"
    },
    "pay_out": {
      "type": "balance"
    },
    "status": "funds_converted",
    "timeline": {
      "total_steps": 2,
      "current_step": 2,
      "transfer_status": "funds_converted",
      "events": [
        {
          "step": 1,
          "done": true,
          "status": "funds_received",
          "title": "Payment Received",
          "description": "Funded from Balance"
        },
        {
          "step": 2,
          "done": true,
          "status": "funds_converted",
          "title": "Funds Converted",
          "description": "Your USDT has been added to your wallet."
        }
      ]
    },
    "created_at": "2026-01-20T09:34:13.772974Z",
    "updated_at": "2026-01-20T09:34:15.456789Z"
  }
}

Learn More