Sandbox resets
A reset empties your sandbox and keeps its keys and webhook endpoints, so your integration starts again from a known state without any configuration change.

Start a reset

You reset a sandbox from the dashboard, under Settings → Environments; there is no API route for it. Owners and developers can reset a sandbox, and only a sandbox can be reset: live is never touched. The dashboard shows what the reset will delete before you confirm. For the steps, see Reset a sandbox in the dashboard guides.

What a reset wipes

Everything your sandbox did:

  • UDAs and their deposit addresses
  • deposits, settlements, and routings
  • payouts and transfers
  • wallets, vault addresses, and balances
  • routing policies and treasuries, including treasury history
  • webhook events and their delivery history
  • simulations

Your sandbox then gets a fresh default routing policy and fresh wallet accounts, including vaults. New addresses are always new: no address issued before a reset is handed out again. List your vaults again with GET /v1/vault after a reset, and create new UDAs.

What a reset keeps

  • the sandbox itself and its environment_id
  • your sandbox API keys
  • your sandbox webhook endpoints and their signing secrets

Your integration keeps working against the emptied sandbox without any configuration change.

While a reset runs

Every request acting in the sandbox, from an API key or the dashboard, is refused with 409:

{
  "success": false,
  "code": 409,
  "error": "environment resetting"
}

Wait and retry. Starting a second reset while one is running is also refused with 409 (environment resetting).

reset_epoch

Every sandbox counts its resets. Each webhook delivery from the sandbox carries the count at delivery time as reset_epoch, and each simulation records it as epoch:

{
  "type": "uda.settlement.completed",
  "livemode": false,
  "environment_id": "3f2c1d9e-8a47-4b6e-9c11-2d5e7f8a9b04",
  "reset_epoch": 3,
  "payload": { "...": "..." }
}

After a reset, deliveries carry the new, higher reset_epoch. A delivery whose reset_epoch is lower than the latest you have seen describes objects the reset has since deleted. If you store sandbox objects, store their reset_epoch too, and clear the old ones when a higher epoch arrives.

Simulations that were still running when the sandbox was reset end in state expired.

Idle reset

A sandbox nobody has used for 30 days is reset automatically. Any request acting in the sandbox counts as use. An idle reset works exactly like one you start: same wipe, same keys and endpoints kept, and the reset_epoch goes up.

The chain keeps its history

A reset empties your sandbox's records, not the simulated chains. Transactions from before the reset stay on the chain, and the sandbox explorer marks them as from before the reset.

Was this page helpful?