> ## Documentation Index
> Fetch the complete documentation index at: https://flutterwaveinc.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Transfer Rates

> Find out the exchange rate for your international transfer.

<Info>
  We recommend checking out the [introductory
  section](/fund-transfer/introduction) to understand the basics of making
  transfers first.
</Info>

You can get the Flutterwave exchange rate for transfers in different currencies using the [get transfer rates endpoint](/api-reference/transfers/get-transfer-rates).

<Warning>
  **Not Commerical FX Rates**

  These rates should not be used for trading purposes. They are limited to estimating the rates at the time of transfer
  and are subject to change.
</Warning>

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

## Example

* 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

```json cURL theme={null}
curl --request GET 'https://api.flutterwave.com/v3/transfers/rates?amount=1000&destination_currency=USD&source_currency=KES' \
--header 'Authorization: Bearer YOUR_SECRET_KEY'
```

You'll get the response below:

<CodeGroup>
  ```json Success Response theme={null}
  {
  	"status": "success",
  	"message": "Transfer amount fetched",
  	"data": {
  		"rate": 114.9885,
  		"source": {
  			"currency": "KES",
  			"amount": 114988.5
  		},
  		"destination": {
  			"currency": "USD",
  			"amount": 1000
  		}
  	}
  }
  ```

  ```json Failure Response theme={null}
  {
  	"status": "error",
  	"message": "Unable to fetch rates at the moment",
  	"data": null
  }
  ```
</CodeGroup>

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](/fund-transfer/introduction) request.

Specifying the `source_amount` and not the `destination_amount` i.e. 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.
