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

# Zero-Dash integration

> Everything you need to put Zero-Dash games in front of your players — game launch, wallet callbacks and free rounds.

Zero-Dash builds crash, instant and table games. This site documents the two-way integration between **your platform** and **ours**.

There are exactly two moving parts. Build them and you are live.

<Columns cols={2}>
  <Card title="Customer API" icon="cloud-arrow-up" href="/api-reference/customer/introduction" horizontal>
    **You call us.** List the game catalogue, mint launch URLs, run free round campaigns.
  </Card>

  <Card title="Wallet Callbacks" icon="cloud-arrow-down" href="/api-reference/callbacks/introduction" horizontal>
    **We call you.** Authorize the player, debit the stake, credit the win, roll back on failure.
  </Card>
</Columns>

## The whole integration in one picture

```mermaid theme={null}
sequenceDiagram
    autonumber
    actor P as Player
    participant O as Your platform
    participant Z as Zero-Dash
    participant G as Game client

    P->>O: Clicks "Lucky Duck"
    O->>O: Mint session token
    O->>Z: GET /api/v1/games/lucky-duck?token=…
    Z-->>O: { url }
    O-->>P: Open url (new tab)
    P->>G: Loads game
    G->>Z: Open session
    Z->>O: GET /player?token=…
    O-->>Z: accountId + balance
    Note over Z,O: Player is in. Every round now follows debit → credit | rollback.
```

## Start here

<Steps>
  <Step title="Understand the model" icon="diagram-project">
    Read [Architecture](/architecture) — 5 minutes, and the rest of this site stops being a surprise.
  </Step>

  <Step title="Sign your first request" icon="key">
    Every call in both directions is HMAC-signed. [Request signature](/security/signature) has copy-paste clients in six languages, all checked against the same test vector.
  </Step>

  <Step title="Implement the wallet" icon="wallet">
    Five endpoints on your side. [Wallet integration](/wallet/overview) covers the money rules that certification actually tests.
  </Step>

  <Step title="Launch a game" icon="gamepad">
    [Game launch](/launch/game-launch) turns a click into a running session.
  </Step>

  <Step title="Certify and go live" icon="circle-check">
    Work through the [go-live checklist](/go-live/checklist).
  </Step>
</Steps>

## The rules that trip people up

<AccordionGroup>
  <Accordion title="Amounts on the wire are decimals, not minor units" icon="coins">
    Callbacks exchange `12.45`, not `1245`. We store minor units internally; you never see them. Crypto is capped at 8 decimal places even when the chain allows more. → [Amounts and currencies](/wallet/amounts)
  </Accordion>

  <Accordion title="A losing round still sends you a credit" icon="circle-half-stroke">
    Every debit is settled. A loss arrives as a credit with `payout.amount` of `0`. Treating that as an error is the single most common integration bug. → [Wallet integration](/wallet/overview)
  </Accordion>

  <Accordion title="Credit and rollback must work without a player session" icon="clock">
    They are retried for up to 3 days. The player may be long logged out. Do not gate them on a live token. → [Errors and retries](/wallet/errors-and-retries)
  </Accordion>

  <Accordion title="422 and 500 on debit mean opposite things" icon="triangle-exclamation">
    `422` = the transaction definitely does not exist, we will not roll it back. `500` = it might exist, we will roll it back. Getting this backwards leaks money. → [Errors and retries](/wallet/errors-and-retries)
  </Accordion>
</AccordionGroup>
