> ## 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.

# Buy Crypto with Fiat

> Buy cryptocurrency with fiat currency using Busha's API.

This example shows you how to buy cryptocurrency (USDT, BTC, etc.) with fiat currency (NGN, KES) using Busha's API.

## Use Cases

* Buy Bitcoin with local currency
* Buy stablecoins for international payments
* Purchase crypto from local currency balance

## Example: Buy Crypto with Fiat

<Tabs>
  <Tab title="NGN to USDT">
    ### Buy USDT with 50,000 NGN via Bank Transfer

    <Steps>
      <Step title="Get a Quote">
        Create a quote with temporary bank account funding:

        ```bash theme={null}
                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": "USDT",
                    "source_amount": "50000",
                    "pay_in": {
                      "type": "temporary_bank_account"
                    }
                  }'
        ```

        <Accordion title="View Response">
          ```json theme={null}
          {
            "status": "success",
            "message": "Created quote successfully",
            "data": {
              "id": "QUO_gCcLjJ0P0uEc",
              "profile_id": "BUS_CQr0jPzGGzmn1uW5W7OVs",
              "source_currency": "NGN",
              "target_currency": "USDT",
              "source_amount": "50000",
              "target_amount": "33.48543819",
              "rate": {
                "product": "USDTNGN",
                "rate": "1490.2",
                "side": "buy",
                "type": "FIXED",
                "source_currency": "NGN",
                "target_currency": "USDT"
              },
              "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"
            }
          }
          ```
        </Accordion>
      </Step>

      <Step title="Create the Transfer">
        Use the quote ID to get temporary bank details:

        ```bash theme={null}
                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"
                  }'
        ```

        <Accordion title="View Response">
          ```json theme={null}
          {
            "status": "success",
            "message": "Created transfer successfully",
            "data": {
              "id": "TRF_JSaOYnl7Sla0",
              "profile_id": "BUS_CQr0jPzGGzmn1uW5W7OVs",
              "quote_id": "QUO_gCcLjJ0P0uEc",
              "description": "Bought USDT",
              "sub_description": "With NGN",
              "source_currency": "NGN",
              "target_currency": "USDT",
              "source_amount": "50000",
              "target_amount": "33.48543819",
              "trade": "buy",
              "rate": {
                "product": "USDTNGN",
                "rate": "1490.2",
                "side": "buy",
                "type": "FIXED",
                "source_currency": "NGN",
                "target_currency": "USDT"
              },
              "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"
              },
              "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"
            }
          }
          ```
        </Accordion>

        **Important:** Transfer exactly ₦50,000 to the provided bank account before the expiration time. The USDT will be credited to your balance once payment is confirmed.
      </Step>

      <Step title="Check Transfer Status">
        Monitor the transfer to confirm the purchase completed successfully:

        ```bash theme={null}
                curl -X GET https://api.sandbox.busha.so/v1/transfers/TRF_JSaOYnl7Sla0 \
                  -H "Authorization: Bearer YOUR_SECRET_KEY"
        ```

        <Accordion title="View Response">
          ```json theme={null}
          {
            "status": "success",
            "message": "Fetched transfer successfully",
            "data": {
              "id": "TRF_JSaOYnl7Sla0",
              "profile_id": "BUS_CQr0jPzGGzmn1uW5W7OVs",
              "quote_id": "QUO_gCcLjJ0P0uEc",
              "description": "Bought USDT",
              "sub_description": "With NGN",
              "source_currency": "NGN",
              "target_currency": "USDT",
              "source_amount": "50000",
              "target_amount": "33.48543819",
              "trade": "buy",
              "rate": {
                "product": "USDTNGN",
                "rate": "1490.2",
                "side": "buy",
                "type": "FIXED",
                "source_currency": "NGN",
                "target_currency": "USDT"
              },
              "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"
              },
              "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 USDT 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"
            }
          }
          ```
        </Accordion>
      </Step>
    </Steps>
  </Tab>

  <Tab title="KES to BTC">
    ### Buy BTC with 1,000 KES

    <Steps>
      <Step title="Get a Quote">
        First, create a quote to see the exchange rate and how much crypto you'll receive:

        ```bash theme={null}
                curl -X POST https://api.sandbox.busha.so/v1/quotes \
                  -H "Authorization: Bearer YOUR_SECRET_KEY" \
                  -H "Content-Type: application/json" \
                  -d '{
                    "source_currency": "KES",
                    "target_currency": "BTC",
                    "source_amount": "1000",
                    "pay_in": {
                      "type": "balance"
                    }
                  }'
        ```

        <Accordion title="View Response">
          ```json theme={null}
          {
            "status": "success",
            "message": "Created quote successfully",
            "data": {
              "id": "QUO_a5D3oflYiz78",
              "profile_id": "BUS_CQr0jPzGGzmn1uW5W7OVs",
              "source_currency": "KES",
              "target_currency": "BTC",
              "source_amount": "1000",
              "target_amount": "0.00008471",
              "rate": {
                "product": "BTCKES",
                "rate": "11803984.7",
                "side": "buy",
                "type": "FIXED",
                "source_currency": "KES",
                "target_currency": "BTC"
              },
              "fees": [],
              "pay_in": {
                "type": "balance"
              },
              "pay_out": {
                "type": "balance"
              },
              "reference": "QUO_a5D3oflYiz78",
              "status": "pending",
              "expires_at": "2025-11-20T16:00:35.039961155Z",
              "created_at": "2025-11-20T15:30:35.039935771Z"
            }
          }
          ```
        </Accordion>
      </Step>

      <Step title="Create the Transfer">
        Use the quote ID to finalize the purchase:

        ```bash theme={null}
                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_a5D3oflYiz78"
                  }'
        ```

        <Accordion title="View Response">
          ```json theme={null}
          {
            "status": "success",
            "message": "Created transfer successfully",
            "data": {
              "id": "TRF_vvTf73YOwNFD",
              "profile_id": "BUS_CQr0jPzGGzmn1uW5W7OVs",
              "quote_id": "QUO_a5D3oflYiz78",
              "description": "Bought BTC",
              "sub_description": "With KES",
              "source_currency": "KES",
              "target_currency": "BTC",
              "source_amount": "1000",
              "target_amount": "0.00008471",
              "trade": "buy",
              "rate": {
                "product": "BTCKES",
                "rate": "11803984.7",
                "side": "buy",
                "type": "FIXED"
              },
              "fees": [],
              "pay_in": {
                "type": "balance"
              },
              "pay_out": {
                "type": "balance"
              },
              "status": "pending",
              "timeline": {
                "total_steps": 0,
                "current_step": 0,
                "transfer_status": "",
                "events": []
              },
              "created_at": "2025-11-20T15:33:06.12036014Z",
              "updated_at": "2025-11-20T15:33:06.12036014Z"
            }
          }
          ```
        </Accordion>
      </Step>

      <Step title="Check Transfer Status">
        Monitor the transfer to confirm the purchase completed successfully:

        ```bash theme={null}
                curl -X GET https://api.sandbox.busha.so/v1/transfers/TRF_vvTf73YOwNFD \
                  -H "Authorization: Bearer YOUR_SECRET_KEY"
        ```

        <Accordion title="View Response">
          ```json theme={null}
          {
            "status": "success",
            "message": "Fetched transfer successfully",
            "data": {
              "id": "TRF_vvTf73YOwNFD",
              "profile_id": "BUS_CQr0jPzGGzmn1uW5W7OVs",
              "quote_id": "QUO_a5D3oflYiz78",
              "description": "Bought BTC",
              "sub_description": "With KES",
              "source_currency": "KES",
              "target_currency": "BTC",
              "source_amount": "1000",
              "target_amount": "0.00008471",
              "trade": "buy",
              "rate": {
                "product": "BTCKES",
                "rate": "11803984.7",
                "side": "buy",
                "type": "FIXED"
              },
              "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 BTC has been added to your wallet."
                  }
                ]
              },
              "created_at": "2025-11-20T15:33:06.12036Z",
              "updated_at": "2025-11-20T15:33:07.456789Z"
            }
          }
          ```
        </Accordion>
      </Step>
    </Steps>
  </Tab>
</Tabs>

***

## Other Currency Combinations

**Buy ETH with NGN**

```bash theme={null}
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": "ETH",
    "source_amount": "100000",
    "pay_in": {
      "type": "balance"
    }
  }'
```

**Buy ETH with KES**

```bash theme={null}
curl -X POST https://api.sandbox.busha.so/v1/quotes \
  -H "Authorization: Bearer YOUR_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "source_currency": "KES",
    "target_currency": "ETH",
    "source_amount": "5000",
    "pay_in": {
      "type": "balance"
    }
  }'
```

***

## Learn More

* [Understanding Quotes](/overview/quotes) - Deep dive into how quotes work
* [Create Your First Quote](/guides/quotes/create-first-quote) - Step-by-step guide
* [Supported Currencies](/guides/reference/supported-currencies) - See all available currency pairs
* [Transfer Status Reference](/guides/reference/transfer-status) - All possible transfer statuses
