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.