Appearance
Exchange Rate
Use this endpoint to read the USD → ETB rate the platform is currently working with, so you can quote an ETB amount to a sender before submitting a purchase.
The rate is the Commercial Bank of Ethiopia (CBE) daily USD buying rate, the rate at which the bank buys USD and pays out ETB. It is refreshed from CBE at most once per cache window, so repeated calls within that window return the same value.
Flow
Endpoint
GET /exchange-rate
Headers
| Header | Required | Description |
|---|---|---|
X-API-Key | Yes | Partner API key. |
X-Timestamp | Yes | ISO timestamp used in signature verification. |
X-Signature | Yes | Base64 Ed25519 signature for the request. |
Idempotency-Key | No | Optional tracing key. |
User-Agent | No | Optional client identifier. |
Example Request
bash
curl -X GET "$API_BASE_URL/exchange-rate" \
-H "X-API-Key: $PARTNER_API_KEY" \
-H "X-Timestamp: 2026-09-08T12:00:00.000Z" \
-H "X-Signature: $PARTNER_SIGNATURE"Example Response
json
{
"baseCurrency": "USD",
"quoteCurrency": "ETB",
"rate": 156.4321,
"source": "CBE",
"fetchedAt": "2026-09-08T06:00:12.000Z"
}| Field | Type | Description |
|---|---|---|
baseCurrency | string | Always USD. |
quoteCurrency | string | Always ETB. |
rate | number | How many ETB one USD buys: 1 USD = rate ETB. |
source | string | CBE when the rate came from the Commercial Bank of Ethiopia. CONFIG when CBE was unreachable and the platform's configured fallback rate was returned. |
fetchedAt | string | ISO timestamp of when the rate was obtained from its source. On a cached response this is when CBE was last called, not when you made the request. |
Response Codes
| Code | Meaning |
|---|---|
200 | Rate returned. |
401 | Missing or invalid API key, timestamp, or signature. |
403 | Access is forbidden. |
503 | Neither CBE nor the fallback rate is available. Retry after a short delay. |
500 | Unexpected processing error. |
Integration Notes
- The rate is indicative. Deposit orders are approved at the rate current when the order is reviewed, which may differ from the value returned here.
- Treat
source: "CONFIG"as a signal that CBE was unavailable. The fallback rate is maintained by the platform and may lag the market. - Cache the response on your side for the same window rather than polling. CBE publishes one rate per business day, so calling more often than every few minutes gains nothing.
- Requests are signed the same way as other partner endpoints; see Request Authentication.