Skip to main content

Minor Units Format

Amount Format

Acme maintains a consistent format for amount values across all Acme APIs. All amount values provided in the API must be represented in their smallest currency unit as an integer.

The number of minor units per major unit follows the ISO 4217 standard.

  • Most currencies have 2 decimal places. amount is in cents, so multiply the major amount by 100.
  • Some currencies have no minor unit (0 decimal places). amount equals the major amount.
  • A small set of currencies have 3 decimal places. amount is in thousandths, so multiply the major amount by 1000.

Examples

CurrencyDecimal PlacesExample AmountSmallest Unit (ISO 4217 standard)API Value
SGD2$10.00cents1000
USD2$10.00cents1000
EUR2€10.00cents1000
JPY0¥10yen10
VND0₫10dong10
KWD3KD 10.000fils10000

Currencies with no minor unit (0 decimal places)

For these currencies, send amount as the whole major amount. Do not multiply by 100.

For example, send 1000 for JPY ¥1,000.

CodeCurrency
BIFBurundian Franc
CLPChilean Peso
DJFDjiboutian Franc
GNFGuinean Franc
ISKIcelandic Króna
JPYJapanese Yen
KMFComorian Franc
KRWSouth Korean Won
PYGParaguayan Guaraní
RWFRwandan Franc
UGXUgandan Shilling
VNDVietnamese Dong
VUVVanuatu Vatu
XAFCentral African CFA Franc
XOFWest African CFA Franc
XPFCFP Franc

Currencies with 3 decimal places

For these currencies, send amount in thousandths. Multiply the major amount by 1000.

For example, send 10500 for KWD 10.500.

CodeCurrency
BHDBahraini Dinar
IQDIraqi Dinar
JODJordanian Dinar
KWDKuwaiti Dinar
LYDLibyan Dinar
OMROmani Rial
TNDTunisian Dinar

All other currencies use 2 decimal places. Send amount in cents by multiplying the major amount by 100.

Decimal places follow the ISO 4217 scale

The number of decimal places is set by the ISO 4217 standard, not by the smallest physical coin or note in circulation.

For example, the smallest New Taiwan Dollar (TWD) coin is NT$1, but ISO 4217 assigns TWD 2 decimal places. So TWD is a 2 decimal place currency for the API.

  • Send 1000 for NT$10.00.
  • Send 1050 for NT$10.50.

Important

  • You must convert major currency units to the smallest unit before sending to Acme (e.g. send 1050 for SGD $10.50).
  • All amounts will be returned in the smallest unit. Your system must convert these back to major units if needed for display.
  • Amounts must not include decimal points. Submissions with decimal points (e.g. 10.50) will be rejected.
{
"amount": 1050,
"currency": "SGD"
}