Skip to main content
Staging is the sandbox. It runs the same API as production on Solana devnet, with test USDC that has no value.
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. @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, 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.
  • 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.