List supported currencies
GET /capabilities/currencies - Read fiat currency capability data before creating a session.
0Gate is the primary public integration path for hosted payment, ramp, and swap experiences. Keep secret-key operations on your server and hand only browser-safe values to the widget.
Endpoint
| Field | Value |
|---|---|
| Method | GET |
| Path | /v1/capabilities/currencies |
| Area | Capabilities |
| Operation id | listCurrencies |
| Auth boundary | Secret key from your server. |
Use it for
Read the supported fiat currencies for the active environment. Use it to populate a currency picker and to validate a fiat code on your server before previewing quotes or creating a session. Pass a country_code to narrow the list to that region's default fiat.
Use this endpoint only for discovery. It is read-only and never moves money, locks a quote, or creates a session.
Production rules
- Keep secret keys on your server. This endpoint requires an
sk_*key; a publishablepk_*key can only call embed-bootstrap. - Validate the fiat
codeon your server before previewing quotes or creating a session. - This list is returned in full —
has_moreis alwaysfalse. Narrow it with thecountry_codequery param rather than paging. - Branch on the
code(ISO 4217) field, not onsymbol— see the callout below. - Treat examples and placeholder values as fake data only.
Request
This is a GET with no body.
| Parameter | In | Required | Type | Use it for |
|---|---|---|---|---|
country_code | query | No | string (ISO 3166 alpha-2) | Narrow the list to that region's default fiat. An unknown or unsupported region returns an empty list. |
Region is resolved at the edge
When you omit country_code, the service falls back to the request's edge geo (cf-ipcountry) to resolve a region. Send an explicit country_code from your server for deterministic results.
Response
Returns the shared list envelope. Each element of data is a currency object.
| Field | Type | Description |
|---|---|---|
object | string | Always list. |
data | array | The matching currency objects (see below). |
has_more | boolean | Always false. Capability lists are returned in full, not paged. |
url | string | Static path of this resource. Does not echo query params. |
Currency object
| Field | Type | Description |
|---|---|---|
object | string | Always currency. |
code | string | The ISO 4217 currency code, for example EUR. This is the canonical id — match and validate on this. |
symbol | string | null | The underlying source row code. It may be null, and it is not a display glyph (not € / $). Do not render it to users. |
`symbol` is a source code, not a display glyph
Despite its name, symbol is the source row's code, not a currency sign. It can be null. Always use code (the ISO 4217 code) as the identifier, and render your own glyph from code on the client.
Examples
curl 'https://gate-api.0bit.app/v1/capabilities/currencies?country_code=GB' \
-H "Authorization: Bearer sk_test_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"{
"object": "list",
"data": [
{
"object": "currency",
"code": "GBP",
"symbol": "gbp"
},
{
"object": "currency",
"code": "EUR",
"symbol": null
}
],
"has_more": false,
"url": "/v1/capabilities/currencies"
}Errors
All errors use the unified envelope and carry an X-Request-Id response header. Branch on code/type/statusCode, not on the free-form message.
{
"type": "unauthorized",
"code": "unauthorized",
"message": "Example auth error using fake data.",
"request_id": "req_test_000000000123",
"doc_url": null,
"statusCode": 401
}| Status | type | When it happens |
|---|---|---|
401 | unauthorized | Missing or invalid secret key. |
429 | rate_limited | Request throttled. Back off and retry. |
5xx | server_error | Transient server or upstream failure. Retry with backoff. |
An unsupported region is not an error
A country_code that resolves to no supported fiat returns 200 with an empty data array, not a 4xx. Branch on the array length.
Related pages
List supported countries
Read the country catalog and each country's default fiat.
List payment methods
Read buy-side payment method categories for a currency.
Check 0Gate eligibility
Probe region, currency, and asset eligibility in one call.
Errors
Handle the unified error envelope, request ids, and retries.
Public boundary
This reference covers partner-scoped capability discovery. Internal operations, administrative routes, settlement venues and providers, and unsupported availability claims are outside the public API contract.