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

# Agent Sandbox

> The four /sandbox/* routes an agent uses to mint its own test key, onboard itself, and graduate into a real Zinc account.

The `/sandbox/*` routes let an autonomous agent onboard itself: mint a `zn_test_` key with no account, place sandbox orders, and later have a human fold the sandbox into a real Zinc account without invalidating the agent's key.

<Info>
  This group is the route-by-route reference. For the narrative version — why it works this way, the walkthrough, and what changes when you go live — start with the [Agent Sandbox guide](/docs/v2/agent-sandbox/overview).
</Info>

## Endpoints

| Route                                                                       | Auth                | What it does                                                                                         |
| --------------------------------------------------------------------------- | ------------------- | ---------------------------------------------------------------------------------------------------- |
| [`POST /sandbox/keys`](/docs/v2/api-reference/sandbox/mint-sandbox-key)          | None                | Mints a provisional user and a `zn_test_` key. Returns the key, an example order, and the claim URL. |
| [`GET /sandbox/quickstart`](/docs/v2/api-reference/sandbox/get-agent-quickstart) | None                | The agent quickstart as plain markdown.                                                              |
| [`POST /sandbox/claim`](/docs/v2/api-reference/sandbox/claim-sandbox)            | Signed-in account   | Folds a provisional sandbox into a real account.                                                     |
| [`GET /sandbox/status`](/docs/v2/api-reference/sandbox/get-sandbox-status)       | Sandbox or live key | Whether this sandbox has been claimed yet.                                                           |

## Behavior worth knowing before you call them

* **Provisional accounts are sandbox-only.** A minted account can never act on live mode, claimed or not, and has no wallet — sandbox orders don't need one.
* **Keys expire after 7 days without use**, and everything they created is deleted with them. Any use resets the clock.
* **Minting is rate-limited** per IP per day plus a global ceiling. `429` means reuse the key you already have; `503` means the mint path is temporarily unavailable and failing closed rather than running uncapped. Both carry `Retry-After`.
* **Claim tokens are single-use** and returned exactly once, in the mint response's `claim_url`. Only the hash is stored, so the URL cannot be regenerated.
* **Claiming reassigns the key rather than revoking it**, which is the point — the agent keeps working afterward.

## Related

<CardGroup cols={2}>
  <Card title="Agent Sandbox guide" icon="robot" href="/docs/v2/agent-sandbox/overview">
    The flow end to end, with a quickstart and a going-live checklist.
  </Card>

  <Card title="Sandbox & Testing" icon="flask-vial" href="/docs/v2/api-reference/introduction/sandbox">
    Test mode itself — the magic product URLs and the scenarios they simulate.
  </Card>
</CardGroup>
