Skip to main content
All money on the public API and in webhook data uses the same rules.

Major units (6 decimal places)

Money fields are JSON numbers in major units, always written with exactly 6 decimal places and a dot: Examples of fields: available, held, amount, fee, transfer_fee, amount_from, amount_to, …

Clear display string

Every money field also has a clear_* string — comma-separated, scale-trimmed for reading: Use clear_* for UI labels. Use the 6dp float for display math. Use *_minor when you need exact integer Ledger units.

Companion *_minor

Each money field includes <field>_minor (Ledger integer). Prefer this for exact arithmetic and idempotent reconciliations.

Nested money objects

Fee and money-movement responses group sides with a short note on each object: Always read the note field on each nested object.

Request bodies

Send amounts as major-unit numbers (same as responses), e.g. "amount": 500.000000 for five hundred units. For exact Ledger control you may still send "amount_minor": 50000 instead (integer minors). If both are present, *_minor wins.

Example balance row

Next