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
BTC₿8100,000,000Yes
CADC$2100Yes
CNY¥2100No
ETHΞ181,000,000,000,000,000,000Yes
EUR€2100Yes
GBP£2100Yes
GHSGH₵2100Yes
INR₹2100Yes
JPY¥01No
KESKSh2100Yes
KRW—01No
NGN₦2100Yes
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.