---
title: "USD-based FX rates for display currencies"
method: GET
path: "/currency/rates"
tags: ["currency"]
---

# USD-based FX rates for display currencies

`GET /currency/rates`

ECB reference rates via Frankfurter, USD as base, keyed by **lower-case** ISO 4217 code. Multiply a USD amount by the rate to get the display amount. Returns **every currency the ECB publishes** (29 today: `eur`, `gbp`, `jpy`, `chf`, `cny`, `ron`, …), not just the three the app offers — one upstream call returns them all, so adding a currency to the app needs no change here. `usd`, `eur` and `gbp` are guaranteed; the rest follow the ECB. **RUB is not available** — the ECB suspended it in 2022. Cached server-side for 1 hour. **502** when the provider is unusable or a guaranteed currency is missing; callers should render USD rather than substitute a rate.

## Response `default`

Named properties are guaranteed; additional lower-case ISO 4217 keys carry the rest of the ECB set.

- CurrencyRatesResponseDto
  - `usd` number, required — Always 1 — USD is the base.
  - `eur` number, required
  - `gbp` number, required

## Other responses

- `502` — FX provider unavailable

---

[API](https://skmtc.dev/dre/apis/dre-api.md) · [All operations](https://skmtc.dev/dre/apis/dre-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/dre/dre-api/revisions/5d14beb9482b/schema)
