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

# Environments and base URLs

> How ScripX API environments behave: one host, the environment carried by the key prefix, a sandbox where the full trade lifecycle runs with simulated money, and production where settlement is real.

There is one host. The environment lives in the key, not the URL, so switching environments is swapping a credential, never rewriting endpoints.

```bash theme={"dark"}
https://api.scripxhq.com
```

| Key prefix      | Environment | What it is for                                                                         |
| --------------- | ----------- | -------------------------------------------------------------------------------------- |
| `scripx_live_…` | Production  | Real firms, real money, real settlement. Metered.                                      |
| `scripx_test_…` | Sandbox     | The full trade lifecycle with simulated money. Unmetered, free, excluded from billing. |

## What happens in sandbox

Sandbox is not a stub. Every endpoint returns the production response shape with realistic values, so you can build and demo your entire front end against it. The one absolute: **no real financial activity ever occurs on a sandbox key.**

| Area                   | Sandbox behaviour                                                                                                                                                          |
| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Quotes and market      | Real engine maths, live response shapes. Prices are tradable in-sandbox, not commitments in the real market.                                                               |
| Firm verification      | Simulated end to end: [verify](/api-reference/firms/verify) returns `verification_pending`, any 6-digit [authorization code](/api-reference/firms/authorize) completes it. |
| Orders                 | Accepted, matched and settled through the normal lifecycle, against test counterparties.                                                                                   |
| Settlement and payouts | Simulated end to end. `settlement.settled` and `payout.sent` fire with test references; **no bank money moves, ever**.                                                     |
| Webhooks               | Register, sign, deliver, retry, dead-letter and replay exactly as production.                                                                                              |
| Statements and usage   | Tracked so you can test reconciliation, excluded from billing.                                                                                                             |
| Rate limits            | Present with generous defaults, so limit-handling code is testable.                                                                                                        |

* **Same contract, both environments.** Sandbox returns production response shapes end to end, so a green sandbox integration ports to production by swapping the key.
* **Unmistakable in logs.** The `scripx_test_` prefix is deliberate: nobody reading a log, dashboard or statement confuses a rehearsal with a live trade, and sandbox artefacts must never be represented as real trades.
* **Isolation is by party.** A sandbox key is bound to a test firm; it cannot see or touch anything belonging to a live firm.

## Build your UI against sandbox

Everything you need to build client-facing screens works on a sandbox key alone:

1. [Market snapshot](/api-reference/trading/market) and the [SSE stream](/api-reference/trading/market-stream) for a live price panel.
2. [Quote](/api-reference/trading/quote) → [order](/api-reference/trading/orders-create) → [positions](/api-reference/trading/positions) for the full trade flow.
3. [Webhooks](/webhooks) for real-time status in your UI, signature verification included.
4. The [OpenAPI spec](/sdks#live-openapi-spec) and [SDKs](/sdks) to generate typed clients.

<Note>
  Keys are issued per environment and are never interchangeable: a sandbox key on production data fails auth, it does not degrade quietly. Write to [amin@eximfiles.io](mailto:amin@eximfiles.io) when you are ready for a production key.
</Note>

## Related

* [Authentication](/authentication), the header, scopes, and rate limits.
* [Quick start](/quick-start), the same five calls work in both environments.
