Skip to main content
GET
List currencies

The capability model

A currency is not simply on or off. Six switches govern it independently, and a transfer reads several of them at once. So a cross-currency payout to an external bank checks four things: transfer on the source, external_transfer on the destination, and fx on both — then the corridor itself. A capability that is off answers 409 currency_capability_unavailable at the point of use. Reading this endpoint first turns that into a decision you make rather than an error you handle.
isActive is always true here: an inactive currency is not returned at all. Use updatedAt as a cache key.

Error codes

Authorizations

Authorization
string
header
required

A secret API key, sent as Authorization: Bearer sk_test_… in sandbox or Bearer sk_live_… in live.

Query Parameters

capability
enum<string>

Return only currencies with this capability enabled.

Available options:
account_issuance,
transfer,
fx,
own_transfer,
tag_transfer,
external_transfer

Response

Successful response.

code
string
required

ISO 4217 code for a fiat currency, or the asset code for crypto.

Required string length: 3 - 10
name
string
required
Maximum string length: 80
symbol
string
required
Maximum string length: 8
minorUnits
integer
required

Decimal places. 2 for most currencies, 0 for UGX, 8 for crypto assets.

Required range: x >= 0
accountIssuanceEnabled
boolean
required

An account may be opened in this currency.

transferEnabled
boolean
required

Required on the source currency of any transfer.

fxEnabled
boolean
required

Required on both currencies when a transfer converts.

ownTransferEnabled
boolean
required

Required on the destination currency for a transfer to your own account.

tagTransferEnabled
boolean
required

Required on the destination currency for a transfer to a Sakawave tag.

externalTransferEnabled
boolean
required

Required on the destination currency for a payout to an external destination.

isActive
boolean
required

Always true in this response: inactive currencies are not returned.

updatedAt
string<date-time>
required
Example:

"2026-08-14T09:00:00.000Z"