Transfer Rates

You can get the Flutterwave exchange rate for transfers in different currencies bulk transfer endpoint.

Hey👋. We recommend checking out Transfers: Overview to understand the basics of transfers first. This guide assumes you've read that.

Get exchange rate

To use the exchange rate API, you'll need to know the source_currency ,destination currency and the destination amount (called amount on the API). The rate API will then return the rate and the amount required (source amount) to transit the destination amount.


  • John needs to send Paul $1000
  • John only has a KES balance in his Flutterwave Wallet. This means John needs to know the amount in KES for a $1000 transfer to Paul
  • Based on the above, source_currency is KES, destination_currency is USD, destination_amount is 1000 and source_amount is unknown
  • To get the source_amount, John makes the below API call
curl --request GET '' \
--header 'Authorization: Bearer YOUR_SECRET_KEY'

He'll get the below response

    "status": "success",
    "message": "Transfer amount fetched",
    "data": {
        "rate": 114.9885,
        "source": {
            "currency": "KES",
            "amount": 114988.5
        "destination": {
            "currency": "USD",
            "amount": 1000
    "status": "error",
    "message": "Unable to fetch rates at the moment",
    "data": null

This implies that at the time the API call was made, John needs 114988.5 KES to transfer $1000 to Paul. The applicable rate was 114.9885 KES to 1 USD

If John decides to proceed with this transfer, he would need to indicate debit_currency as KES in his transfer request

If you had the source_amount and not the destination_amount, reversing the currencies on the API won't give you the intended rate. You would have to request the destination_amount from the end-user and use the API as explained.

Not Commerical FX Rates

These rates are not foreign exchange rates. They are rates for transfers using the transfer API and are subject to change