[ Concepts ]

How amounts are stored

Every amount in AgentCents is stored as an integer number of cents, not a decimal.

$6.50 is stored as 650. This is why AgentCents never has the floating-point rounding errors that show up in tools built on decimal currency fields.

You can send either shape when creating an expense:

  • amount: 6.50 — major units, the natural way to write a dollar amount
  • amount_cents: 650 — integer cents directly

Send exactly one. Every response includes all three: amount_cents (the source of truth), currency, and amount_display (a pre-formatted string like "$6.50" so you do not have to format it yourself).

Maximum two decimal places on amount — $6.505 is rejected as a validation error, not silently rounded. If an agent computes an amount, round to the cent before sending it.