Supported currencies

All 28 fiat display currencies with codes, symbols, and decimal handling.

Overview

JoPay supports 28 fiat currencies for display purposes. Merchants choose a display currency when setting up their account. Payment amounts are shown to customers in that currency and converted to a USDC equivalent using live FX rates.

All settlements are in USDC regardless of the display currency. The display currency affects only how amounts are presented in the merchant dashboard, payment pages, and receipts.

Three currencies are zero-decimal: JPY, KRW, and CLP. These currencies do not use fractional units (no cents). Amounts must be whole numbers. Sending 1000 in JPY means 1,000 yen, not 10.00 yen.

Currency table

CodeSymbolCurrency nameZero-decimal
USD$US DollarNo
EUREuroNo
GBP£British PoundNo
BRLR$Brazilian RealNo
ARS$Argentine PesoNo
COP$Colombian PesoNo
MXN$Mexican PesoNo
PENS/Peruvian SolNo
CLP$Chilean PesoYes
JPY¥Japanese YenYes
KRWSouth Korean WonYes
INRIndian RupeeNo
AEDد.إUAE DirhamNo
SARSaudi RiyalNo
TRYTurkish LiraNo
NGNNigerian NairaNo
KESKShKenyan ShillingNo
ZARRSouth African RandNo
GHSGhanaian CediNo
EGPEgyptian PoundNo
PHPPhilippine PesoNo
THB฿Thai BahtNo
VNDVietnamese DongNo
IDRRpIndonesian RupiahNo
MYRRMMalaysian RinggitNo
SGDS$Singapore DollarNo
AUDA$Australian DollarNo
CADC$Canadian DollarNo

Zero-decimal currencies

Most currencies divide into 100 fractional units (cents, centavos, pence, etc.). Three supported currencies are zero-decimal, meaning they have no fractional units:

  • JPY (Japanese Yen)
  • KRW (South Korean Won)
  • CLP (Chilean Peso)

For these currencies, amounts are always whole numbers. An amount of 500 in JPY means 500 yen, not 5.00 yen. JoPay's formatting functions handle this automatically, but API integrations must send whole numbers for these currencies.

When building integrations, use the error field in API responses to detect issues with amount formatting. The invalid_amount error will fire if you send a decimal amount for a zero-decimal currency.

FX rates

JoPay fetches live FX rates to convert between display currencies and USDC. Rates are refreshed periodically and cached. The USDC equivalent shown to the customer is calculated at the time the payment page is loaded.

FX rates are for display purposes only. The actual payment amount is always in USDC. The merchant receives the exact amount of USDC sent by the customer, regardless of FX rate fluctuations.

Adding currencies

The list of supported currencies is configured at the platform level. If you need a currency that is not currently supported, contact your partner. Adding a new currency requires a symbol mapping, FX rate feed, and validation rules for decimal handling.