0Bit Documentation

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

FieldValue
MethodGET
Path/v1/capabilities/currencies
AreaCapabilities
Operation idlistCurrencies
Auth boundarySecret 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 publishable pk_* key can only call embed-bootstrap.
  • Validate the fiat code on your server before previewing quotes or creating a session.
  • This list is returned in full — has_more is always false. Narrow it with the country_code query param rather than paging.
  • Branch on the code (ISO 4217) field, not on symbol — see the callout below.
  • Treat examples and placeholder values as fake data only.

Request

This is a GET with no body.

ParameterInRequiredTypeUse it for
country_codequeryNostring (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.

FieldTypeDescription
objectstringAlways list.
dataarrayThe matching currency objects (see below).
has_morebooleanAlways false. Capability lists are returned in full, not paged.
urlstringStatic path of this resource. Does not echo query params.

Currency object

FieldTypeDescription
objectstringAlways currency.
codestringThe ISO 4217 currency code, for example EUR. This is the canonical id — match and validate on this.
symbolstring | nullThe 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
}
StatustypeWhen it happens
401unauthorizedMissing or invalid secret key.
429rate_limitedRequest throttled. Back off and retry.
5xxserver_errorTransient 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.

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.

On this page