> ## 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.

# Platform: embed ScripX

> How a platform embeds ScripX for hundreds of client firms behind one integration: register and verify firms from your own UI, mint one scoped child key per client service, take a direct quote per credit, white-label the experience, and reconcile across the whole book with one audit trail.

A platform brings its clients to ScripX and ships the client experience, nothing else. ScripX makes the price, matches the trade, and settles it end to end. The model holds whether you bring five firms or five hundred.

## The shape of the integration

<Steps>
  <Step title="One key for your desk">
    ScripX issues your desk one API key. Every call is authenticated with `X-ScripX-Key`; tenant isolation is enforced on every call. See [Authentication](/authentication).
  </Step>

  <Step title="A child key per client service">
    Mint scoped [child keys](/api-reference/keys/create) yourself, one per sub-account or app, each carrying a subset of your scopes. Revoke any of them instantly without touching the parent.
  </Step>

  <Step title="Register and verify firms from your UI">
    [Register each client firm](/api-reference/firms/create) and [verify it](/api-reference/firms/verify) inside your own product, completed with a one-time [authorization code](/api-reference/firms/authorize). The onboarding experience stays fully yours; the verification machinery stays with ScripX.
  </Step>

  <Step title="A direct quote per credit">
    For each connected firm, [list its credits](/api-reference/firms/credits) and take one [direct quote per credit](/api-reference/trading/quote) at ScripX's price. No aggregation or price modelling on your side.
  </Step>
</Steps>

## Scale is built in

* **Hundreds of firms, one integration.** Register once per firm, then trade every credit through the same quote-and-order loop.
* **One audit trail across the book.** The [audit export](/api-reference/account/audit-export) is hash-chained and verifiable offline, across every client on your desk.
* **Firm states you route on.** Your UI sends `verification_pending` and `reconnect_needed` firms back to their connect link; `connected` firms trade.

## White-label the experience

Set your brand on the surfaces ScripX renders:

```bash theme={"dark"}
curl -X PUT "$BASE_URL/v1/branding" \
  -H "X-ScripX-Key: $SCRIPX_KEY" \
  -H "Content-Type: application/json" \
  -d '{"brand_name": "YourDesk", "legal_name": "YourDesk Pvt Ltd", "logo_url": "https://cdn.yourdesk.com/logo.svg", "support_email": "support@yourdesk.com", "accent_color": "#4F7CFF"}'
```

See [`PUT /v1/branding`](/api-reference/introduction) in the contract; `logo_url` must be HTTPS.

## Build against sandbox first

Everything a platform needs to build client-facing screens works on a `scripx_test_…` key alone: [market snapshot](/api-reference/trading/market) and [SSE stream](/api-reference/trading/market-stream) for a live price panel, [quote to order to positions](/quick-start) for the trade flow, and [webhooks](/webhooks) with signature verification for real-time status. See [Environments](/environments), then swap the key for `scripx_live_…` to go live.

## Real-time status without polling

Register a [webhook](/api-reference/webhooks/register) for `order.matched`, `settlement.settled` and `payout.sent`, verify the signature on the raw body, and dedupe on `X-ScripX-Delivery`. Your product feels alive without a single poll. See the [Webhooks guide](/webhooks).

## Related

* [Child keys](/api-reference/keys/create)
* [Register a firm](/api-reference/firms/create)
* [Why integrate ScripX](/why-scripx)
