Transfer Rates
Query FX rates for cross-border transfers
Transfer rates apply to cross-border transfers where the source and destination currencies differ. For example, transferring USD to a customer while debiting your NGN wallet.
You can retrieve the exchange rate applied to your transfers by calling the get transfer rates endpoint .
Do not use the rates returned by this endpoint for FX trading, use the FX service APIs instead. We update our transfer rates 3-4 times daily.
Query an Exchange Rate
To retrieve the exchange rate to be applied to your transfers, specify the source_currency, destination_currency, andamount (the destination amount) for the transfer to the transfer rates endpoint
The API returns:
- The
raterepresenting how much of the destination currency is needed to obtain 1 unit of the source currency. - The
source.amountis the total amount debited from the source wallet, representing the value required to fulfill the destination amount after any applicable conversions.
destination.amount = source.amount x rate
Example 1: Querying rates for an NGN -> USD transfer
- John needs to send Paul $1000
- John only has funds in his
NGNbalance on his Flutterwave Wallet. Therefore, he needs to know the amount inNGNrequired for a $1,000 transfer to Paul. - Therefore,
source_currencyisNGNdestination_currencyisUSDamountis1000source.amountisunknown
To get the source.amount, John makes the following API call:
curl --request GET 'https://api.flutterwave.com/v3/transfers/rates?amount=1000&destination_currency=USD&source_currency=NGN' \
--header 'Authorization: Bearer YOUR_SECRET_KEY'
You'll get the response below:
{
"status": "success",
"message": "Transfer rates fetched",
"data": {
"rate": 0.000694329,
"source": {
"currency": "NGN",
"amount": 1440239.425
},
"destination": {
"currency": "USD",
"amount": 1000
}
}
}
{
"status": "error",
"message": "Unable to fetch rates at the moment",
"data": null
}
This means at the time of the request, John needs 1,440,239 NGN to transfer $1000 to Paul. The applicable rate for the transfer is 1 NGN = 0.000694329USD.
If John proceeds with the transfer, he would specify debit_currency as NGN in his transfer request.
Example 2: Querying rates for a USD -> NGN transfer
Now let’s look at the reverse situation.
- Paul now wants to send John 100,000 NGN.
- Paul only has a USD balance in his Flutterwave Wallet. This means Paul needs to know how much USD will be required to send 100,000 NGN to John.
- Based on this,
source_currency=USDdestination_currency=NGNamount=100000source.amount=unknown
To get the source_amount, Paul makes the following API call:
curl --request GET 'https://api.flutterwave.com/v3/transfers/rates?amount=100000&destination_currency=NGN&source_currency=USD' \
--header 'Authorization: Bearer YOUR_SECRET_KEY'
You'll get the response below:
{
"status": "success",
"message": "Transfer rates fetched",
"data": {
"rate": 1372,
"source": {
"currency": "USD",
"amount": 72.886
},
"destination": {
"currency": "NGN",
"amount": 100000
}
}
}
{
"status": "error",
"message": "Unable to fetch rates at the moment",
"data": null
}
This means that at the time of the request, Paul needs approximately $73 to transfer 100,000 NGN to John. The applicable rate is 1 USD = 1372 NGN.
Updated 13 days ago
