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

# Environments

> Anton exposes a fully functional sandbox for development and a production environment for live money movement. The two are isolated — credentials, data, and infrastructure are separate.

| Environment    | Base URL                        | Credential prefix | Token TTL | What it moves                    |
| -------------- | ------------------------------- | ----------------- | --------- | -------------------------------- |
| **Production** | `https://api.antonpayments.com` | `ant_oc_live_`    | 1 hour    | Real funds                       |
| **Sandbox**    | `https://api.antonpayments.dev` | `ant_oc_test_`    | 8 hours   | Simulated payouts, no settlement |

Credentials are environment-scoped. A sandbox client cannot mint tokens against production, and vice versa. Mismatched attempts return `403` with `error: "invalid_client"`. See [Authentication](/authentication) for the OAuth+DPoP flow.

## Sandbox

The sandbox is a full-fidelity clone of the production API. Authentication, the data model, the state machine, webhook delivery, screening, and idempotency all behave the same way. The only substitutions are:

* **Rail submission** — routed to internal mocks. No funds leave Anton, no third parties are contacted.
* **Compliance screening** — real OFAC logic runs, but you can trigger specific outcomes using deterministic test beneficiaries.
* **Timing** — payouts move through states on a compressed timeline so you don't wait hours for a `completed` webhook in CI.

Sandbox data is isolated per merchant. You can reset your sandbox or seed it with realistic test fixtures — see [Sandbox Overview](/sandbox/overview).

## Production

Production moves real money. Before a live OAuth client will issue anything but a `403`, your merchant account must be:

1. **KYB approved** — identity verification completed through the merchant dashboard.
2. **Risk underwritten** — Anton's underwriting team has reviewed and approved your account for live operation.
3. **Corridor enabled** — the source/destination currency pair you want to use is active on your account.

If any of those are missing, `POST /v1/payouts` returns `403` with a code explaining what's outstanding. Use the [Going Live checklist](/guides/going-live) to verify everything before your first live call.

## Going live

Sandbox and production are deliberately separate — promotion is not automatic. Walk through the [Going Live checklist](/guides/going-live) to make sure your integration handles the things sandbox can't fully simulate: real settlement timing, RFI workflows under load, and rate limits under sustained traffic.
