> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.crisscross.money/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.crisscross.money/_mcp/server.

# Exchange Sandbox

> How CrissCross Exchange works in the sandbox — how balances are funded, and how beneficiaries, trades and withdrawals are simulated.

The sandbox lets you exercise the full Exchange flow (funding, beneficiaries, trading, and withdrawals) without moving real money. It's the same sandbox as Collect and Payouts, and like them it's kept apart from live: your sandbox has its own API credentials and dashboard access, and sandbox and live environments never mix.

Requests go to the same `https://api.crisscross.money` as production, and your credentials decide the environment.

## Simulated behaviour

| Operation                     | Behaviour                                                                                                                                                                                | Timeline                                           |
| ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- |
| Create a beneficiary (crypto) | Compliance validation is simulated                                                                                                                                                       | **Active almost immediately** after creation       |
| Create a beneficiary (fiat)   | In live environments, compliance validation requires documents to be submitted. To simulate this in a sandbox, please get in contact with us to approve - no documents will be required. | After CrissCross has approved the account          |
| Create a withdrawal           | `pending` → `processing` → `completed`                                                                                                                                                   | Withdrawals are processed in batch every 5 minutes |
| Accept a quote                | Order is `filled` on acceptance, and balances update                                                                                                                                     | **Immediately**                                    |

Exchange has no trigger values in the sandbox. To test a failure, you set up the state that causes it — an expired quote, a balance that's too low, a beneficiary that isn't active yet. [Your First Trade](/testing-first-trade#then-try-the-failures) and [Your First Withdrawal](/testing-first-withdrawal#then-try-the-failures) list each one.

Failures that come from outside your request can't be produced in the sandbox yet: a withdrawal that fails or is returned by the bank, a beneficiary or deposit rejected by compliance.

## Funding your sandbox balance

Before you can trade or withdraw you'll need a balance to work with. Sandbox balances are seeded through deposits created by CrissCross on your behalf. Contact your account manager to have your sandbox organisation topped up in the currencies you want to test.