Get exchange rates
Read indicative rates for display. To trade, get a quote, because only the quote is a firm price.
This page shows how to check which currency pairs Gravv knows and read indicative exchange rates before you request a quote. These rates are for display only. To trade, get a quote. Gravv prices the quote from your business's OTC rate, so it can differ from the indicative rate.
A money example. The rates list shows USD_NGN at 1,368.27, so your app shows "about 1,368,270 NGN for 1,000 USD". When the customer goes ahead, the quote sets the price. If the quote says 1,365.10, they receive 1,365,100 NGN.
Get all currency pair rates
Use the Get all currency pair rates endpoint to retrieve the indicative rates. You can filter with currency_type (fiat or crypto), from_currency, to_currency, directions (comma-separated FROM_TO values) and currency_pairs:
curl --request GET \
--url 'https://api.gravv.xyz/v1/fx/rates?from_currency=USD&to_currency=NGN' \
--header 'Api-Key: <API_KEY>'
data is an array of rates. rate is a string, in units of the TO currency per 1 FROM, and direction is the FROM_TO pair. One direction can return several rows, one for each country pair in currency_pair. Read timestamp to see how recent a rate is:
{
"data": [
{
"currency_pair": "USD_US_NGN_NG",
"direction": "USD_NGN",
"from_currency": "USD",
"from_currency_name": "US Dollar",
"pair_type": "fiat",
"rate": "1368.27",
"timestamp": "2026-10-13T22:20:08.941956Z",
"to_currency": "NGN",
"to_currency_name": "NGN"
}
],
"error": null
}
You cannot always trade a pair in this list. Only the NGN and USDC pair is set up for OTC orders today, and the sandbox has no OTC rates yet.
Request an exchange rate
To get a firm rate for a trade, request a quote with the Get FX Quote endpoint. See Place an OTC order.