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

# Sandbox (staging)

> Build and test your integration on staging: Solana devnet, test USDC funded by ZeroID on request, and a test key ZeroID issues.

Staging is the sandbox. It runs the same API as production on Solana devnet, with test USDC that has no value.

| | Staging | Production |
| - | - | - |
| Base URL | `https://api-staging.kash.bot/v1` | `https://api.kash.bot/v1` |
| Keys | `kash_test_`, issued by ZeroID on request | `kash_live_`, issued by ZeroID after approval |
| Network | Solana devnet | Solana mainnet |
| USDC | Staging test USDC, funded by ZeroID on request | Real USDC, which you send |
| IP allowlist | Optional | Required |
| Withdrawals to Arc | Refused (see below) | Once ZeroID confirms they are open (see below) |

> [!NOTE]
>
> Staging is shared and runs ahead of production, so expect it to change while you build. Nothing on staging is real money.

## Get a test key

Ask ZeroID for a partner test key, with your company name, a contact email, a technical contact and your staging webhook URL. ZeroID creates your organisation on staging if you have none. See [Keys](https://docs.kash.bot/developer-docs/partner-integration/keys.md#ask-for-a-test-key).

`@kashdao/sdk` sends a `kash_test_` key to staging automatically.

## Test USDC

Staging accounts hold the staging test USDC on Solana devnet. Only ZeroID can mint it: public devnet USDC faucets do not provide it, and you cannot mint it yourself.

ZeroID funds your test accounts on request. Ask from the info button in the Kash web app → **Feedback**, or in [Discord](https://discord.com/invite/n9eumqjMPb), and send:

* the `accountId` of each account to fund, or its `depositAddress`;
* the amount of test USDC for each account. There is no fixed allowance: ask for as much as your testing needs, as often as you need it.

Each account must be one of yours and `active`. ZeroID sends the test USDC straight to the account's deposit address and tells you the amount. `GET /v1/balance` with that account's `Kash-Account` header then shows it in `availableAtomic`.

## What you can test

* Account creation, `account.active` and the account lifecycle: suspend, reactivate, change destination and release.
* Reading a funded account with `GET /v1/balance`.
* Markets, quotes and trades with `Kash-Account`, and the trade webhooks.
* Withdrawals to a **Solana** destination, end to end, with their webhooks.
* The 24-hour hold after a destination change, and every refusal on the [errors page](https://docs.kash.bot/developer-docs/partner-integration/errors.md).
* Webhook signature verification, retries and redelivery.
* Rate limits, which are the same as in production.

## Withdrawals to Arc on staging

The Relay bridge has no route from Solana devnet, so on staging a withdrawal or a withdrawal quote to an Arc destination is refused with `422 DESTINATION_NOT_SUPPORTED` and the detail "Withdrawals to Arc are not available in this environment.", after the checks that come before the bridge (the Arc minimum, the network fee and the balance). Creating an account with an Arc destination, or changing to one, works on staging; only withdrawing to it does not. To test withdrawals end to end on staging, give a test account a Solana destination.

The Arc lane is identical to the Solana lane up to the bridge: the same request, statuses and webhooks, plus `bridging` and the `bridge_refunded` and `bridge_failed` outcomes.

In production, use Solana destinations until ZeroID tells you that withdrawals to Arc are open. Plan your first production Arc withdrawal as a small amount.

## Moving to production

Nothing in your code changes except the key, the webhook secret and, if you set it yourself, the base URL. Production needs ZeroID's approval and a live key that ZeroID issues. Work through the [go-live checklist](https://docs.kash.bot/developer-docs/partner-integration/go-live.md).


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