Exchange Rates

Read the rate and fee configuration that applies to your business before you quote a price.

These endpoints return the rate and fee configuration currently applied to your business. Use them when you need to show a price before creating a transaction, or to model your own margin.

For how rates are composed and when they are applied, see FX And Rates.

Which Endpoint

EndpointReturns
GET /v1/config/ratesThe standard rate and fee configuration for your business.
GET /v1/config/custom/ratesYour negotiated custom rates, where your business has them.

Most integrations only need the first. Use the custom endpoint if your commercial agreement includes bespoke pricing.

Build It

-H "x-api-key: your_secret_key"
GET {{host}}/v1/config/rates?currency=KES

Filter by currency to get the configuration for a single collection currency. The response carries the rate alongside the fee breakdown that would apply.

The rate returned is already spread-adjusted. Do not apply a markup of your own on top.

What To Use It For

Quoting a price. Show the customer what they will pay in their local currency before they commit.

Estimating your net. Combine the rate with the fee breakdown to work out what a sale will actually be worth to you. See Fees And Who Pays Them.

Checking configuration. Confirm a currency is enabled for your business before you attempt a transaction in it.

When It Fails

Treating a quoted rate as a guarantee

The rate is indicative. It tells you what the rate is now, not what it will be when the customer pays. The longer the gap between quote and payment, the more it drifts.

Re-quote before displaying a price on a long-lived payment link, rather than caching the rate from when the link was created.

Caching too aggressively

Caching the rate for a request or a page render is sensible. Caching it for a day means quoting prices that no longer hold. If you cache, set a short TTL and re-fetch for anything where the number is a commitment.

Hardcoding the fee

Pricing changes. Read the fee from the response rather than embedding figures in your code, or a commercial change will silently break your margin calculations.

Requesting a currency you are not enabled for

Returns an error rather than a rate. That is configuration, not a bad request — retrying will not help. See Countries And Currencies.

Next


Did this page help you?