0Bit Documentation

List payment methods

GET /capabilities/payment-methods - Read buy-side payment method categories for the active environment.

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/payment-methods
AreaCapabilities
Operation idlistPaymentMethods
Auth boundarySecret key from your server.

Use it for

Read the buy-side (on_ramp) payment method categories available for a given fiat currency in the active environment. Use it to render the pay-in options a user can choose and to validate a chosen method on your server before creating a session.

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.
  • Supply a currency (or a country_code that resolves to one). With neither, the list is empty.
  • This list is returned in full — has_more is always false. Filter with the query params rather than paging.
  • Branch on the machine-readable id and the X-Request-Id header, not on the display name.
  • Treat examples and placeholder values as fake data only.

Request

This is a GET with no body. Provide a currency directly, or a country whose default fiat resolves to one.

ParameterInRequiredTypeUse it for
currencyqueryNo*string (ISO 4217)The fiat to list pay-in methods for, for example EUR. Takes precedence over country_code.
country_codequeryNo*string (ISO 3166 alpha-2)Resolve the fiat from this region's default currency when currency is omitted.

One of currency or country_code is needed

*If neither resolves to a supported fiat, the response is 200 with an empty data array — it is not an error.

Response

Returns the shared list envelope. Each element of data is a payment_method object.

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

Payment method object

FieldTypeDescription
objectstringAlways payment_method.
idstringStable slug for the method category. Use this as the canonical id.
namestringDisplay name for the method.
currencystringThe fiat (ISO 4217) this method was resolved for.
sidestringAlways on_ramp for this endpoint.
icon_urlstring | nullIcon URL for the method, or null.
feesobjectFee descriptor for the method; an empty object when none apply.

Examples

curl 'https://gate-api.0bit.app/v1/capabilities/payment-methods?currency=EUR' \
  -H "Authorization: Bearer sk_test_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
{
  "object": "list",
  "data": [
    {
      "object": "payment_method",
      "id": "bank_transfer",
      "name": "Bank Transfer",
      "currency": "EUR",
      "side": "on_ramp",
      "icon_url": null,
      "fees": {}
    }
  ],
  "has_more": false,
  "url": "/v1/capabilities/payment-methods"
}

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.

No resolvable currency is not an error

When neither currency nor country_code resolves to a supported fiat, the response is 200 with an empty data array. 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