Skip to main content

Supported currencies

Every amount crossing the API is an integer in the currency's smallest unit. The divisor is not always 100 — BTC has 8 decimal places and ETH has 18 — so hard-coding * 100 is wrong for several supported currencies.

Amounts are in minor units

{ "amount": 5000, "currency": "USD" } is $50.00. { "amount": 5000, "currency": "BTC" } is 0.00005 BTC, not 5000 BTC.

Use toMinorUnits(amount, currency) and fromMinorUnits(amount, currency) from the SDK rather than multiplying by hand.

Currencies

Generated from the SDK's own currency tables, so this page cannot disagree with what the client accepts.

CurrencySymbolDecimalsMinor units per unitIn Currency type
AEDد.إ2100Yes
AUDA$2100Yes
BTC8100,000,000Yes
CADC$2100Yes
CNY¥2100No
ETHΞ181,000,000,000,000,000,000Yes
EUR2100Yes
GBP£2100Yes
GHSGH₵2100Yes
INR2100Yes
JPY¥01No
KESKSh2100Yes
KRW01No
NGN2100Yes
SGDS$2100Yes
SOLSOL91,000,000,000Yes
USD$2100Yes
USDCUSDC61,000,000Yes
USDTUSDT61,000,000Yes
ZARR2100Yes

A currency absent from the decimals table falls back to 2.

note

A No in the last column means the currency appears in the SDK's symbol or decimals tables but not in its Currency union — so it formats correctly but is not an accepted type-level value. Those rows are a real inconsistency in the SDK worth reconciling.