Introduction
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 rate representing 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 NGN balance on his Flutterwave Wallet. Therefore, he needs to know the amount in NGN required for a $1,000 transfer to Paul.
- Therefore,
- source_currency is NGN
- destination_currency is USD
- amount is 1000
- source.amount is unknown
To get the source.amount, John makes the following API call:
Javascript
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:
Javascript
{
"status": "success",
"message": "Transfer rates fetched",
"data": {
"rate": 0.000694329,
"source": {
"currency": "NGN",
"amount": 1440239.425
},
"destination": {
"currency": "USD",
"amount": 1000
}
}
}
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 = USD
- destination_currency = NGN
- amount = 100000
- source.amount = unknown
To get the source_amount, Paul makes the following API call:
Javascript
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:
Javascript
{
"status": "success",
"message": "Transfer rates fetched",
"data": {
"rate": 1372,
"source": {
"currency": "USD",
"amount": 72.886
},
"destination": {
"currency": "NGN",
"amount": 100000
}
}
}
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.