> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pointzero.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Fiat Operations API: accept payins and send payouts to cards

> Accept fiat payins by bank transfer or card and send payouts to customer bank cards with the PointZero Fiat Operations API, all on one organization balance.

The PointZero Fiat Operations API lets you collect fiat from your customers (payins), send funds to their existing bank cards (payouts) and track every operation on a single organization balance. One API key covers all endpoints: payments, payouts, cards, balances, transactions, events and limits.

```bash Your first request theme={null}
curl https://sandbox-api.pointzero.com/v1/balances \
  -H "Authorization: Bearer pz_test_..."
```

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/quickstart">
    Register a test card and send your first payout in the sandbox.
  </Card>

  <Card title="Integration guide" icon="book-open" href="/guides/fiat-operations">
    Scenarios, statuses, fees, webhooks, sandbox testing and the go-live checklist.
  </Card>
</CardGroup>

## How it works

<Steps>
  <Step title="Register the customer's card">
    The customer enters their own bank card in your app. You send it to `POST /cards` and store the returned `card_id`.
  </Step>

  <Step title="Collect fiat (optional)">
    Create a payin with `POST /payments`. The customer pays by bank transfer or card and the net amount is credited to your balance.
  </Step>

  <Step title="Send a payout">
    Create a payout with `POST /payouts` to the stored `card_id`, or pass `card_id` on the payment to trigger the payout automatically.
  </Step>

  <Step title="Track the result">
    Receive webhooks for every status change and reconcile with `GET /transactions`. Payouts to cards complete within 15 minutes.
  </Step>
</Steps>

## What you can build

* Payouts of sale proceeds to a customer's card
* Fiat payments that end up on a customer's card in one flow
* Fiat payins that fund your organization balance
* Repeat payouts to cards your customers already registered

## Core objects

| Object | ID prefix | Description |
| - | - | - |
| Card | `card_` | An existing bank card registered by your customer. Used as the destination for payouts. |
| Payment | `pay_` | A payin. Fiat collected from a customer. |
| Payout | `po_` | A transfer of funds from your balance to a card. |
| Balance | n/a | Funds available on your organization account, per currency. |
| Transaction | `txn_` | A ledger entry on your balance (payin, payout, fee, reversal, adjustment). |
| Event | `evt_` | A record of a status change, delivered to you as a webhook. |

## Environments

| Environment | Base URL | API key prefix |
| - | - | - |
| Production | `https://api.pointzero.com/v1` | `pz_live_` |
| Sandbox | `https://sandbox-api.pointzero.com/v1` | `pz_test_` |

<Note>
  Fiat Operations keys are separate from Card Program keys. PointZero does not issue cards for fiat operations: payouts go to cards your customers already own.
</Note>

Questions about your fiat contract or production access? Write to [hi@pointzero.io](mailto:hi@pointzero.io).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.