# Money & currencies

All money in the API is **fiat, in your account's settlement currency**. There is
one currency per account, set when your account is created, and every price,
charge, refund, balance, and payout is expressed in it. You never deal with
exchange rates or any other unit.

> **Amounts are server-authoritative.** The platform computes what a customer owes
> from the tier price (and any discount) on the server. A client can never set or
> override the amount it pays — values you send as a "price to charge" are ignored.
> This is your protection against tampered checkouts.


## How pricing flows

Money moves through three steps, and issuance only happens once payment is
verified:

```text
1. Tier price          You set a fiat price on each tier when you create it.
        │
        ▼
2. Payment intent      You create a payment intent. The platform computes the
        │              amount server-side from the event/tier (and any discount)
        │              — the client-supplied amount, if any, is never trusted.
        ▼
3. Issuance gated      The ticket is only issued after a verified, matching,
   on verified payment  unused payment. No payment, no ticket.
```

This means a partner cannot accidentally (or maliciously) issue a paid ticket
without a real, confirmed charge behind it. The same gate applies to
[upgrades](#transfer-refund-upgrade): moving a ticket to a higher
tier charges the **fiat price difference**, again computed on the server.

See [Take a payment](#take-a-payment) for the end-to-end flow and
[Issue a ticket](#issue-a-ticket) for issuance.

## Amount format

Amounts in the API — tier prices, payment `amount`s, balances, payouts — are
plain decimal numbers in your currency's **major unit**: `49` means $49.00,
`49.5` means $49.50. You never deal in cents. The platform converts to the
processor's minor units internally (including the zero-decimal handling for
currencies like JPY or KRW), so there is nothing to scale on your side.

A payment also carries a normalized status so you always know where a charge
stands: `requires_payment` (or another `requires_*` state, depending on your
account's payment provider), `processing`, `succeeded`, `failed`, or
`canceled`. Issuance proceeds only once the payment verifies as completed.

## Refunds

Refunding a ticket **releases the ticket and reverses the sale on your
balance** — the sale amount is debited from what you've accrued, in the same
currency as the original charge; you don't calculate anything. See
[Transfer, refund & upgrade](#transfer-refund-upgrade).

## Getting paid

Your share of every sale accrues to your account **balance** in your settlement
currency. You move that balance to your bank account as a fiat **payout**. The
platform handles the underlying settlement invisibly — you only ever see one
number in your own currency.

See the [Payouts guide](#payouts) to set up payouts and withdraw your
balance.
