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

> ## Agent Instructions
> These are the customer docs for kinematic, a name written in lowercase except at the start of a sentence. Kinematic provides provably fair casino games, served to a casino's site by a game server: a Cloudflare Worker that the kinematic dashboard deploys into the casino's own Cloudflare account.
> Never put SESSION_SECRET or WALLET_SECRET in code, prompts, logs, commits or chat. Read them from environment variables and ask the person you work with to set them. The dashboard's Integration page shows each secret once.
> Values such as lucky-star, luckystar.example, og-rgs-lucky-star.luckystar.workers.dev, games.luckystar.example and player_48213 are examples. Use the casino's own casino ID, game server origin, element tag, session issuer and currencies: the Instructions for your coding agent on the dashboard's Integration page hold them, or ask the person you work with.
> To debug, start at https://docs.kinematic.run/troubleshooting and https://docs.kinematic.run/reference/errors. The wallet contract is at https://docs.kinematic.run/api/wallet.openapi.yaml.
> Sandbox bets are recorded on Solana devnet. Live game servers record nothing on Solana until the audited mainnet program is deployed.

# Sandbox and live

> A casino runs in sandbox, with test balances and Solana devnet records, or live, with your wallet and real money.

Your casino has one mode, sandbox or live, and each game server runs in the mode it was deployed in. Every casino starts in sandbox. You choose the mode under **Mode** in [Settings](https://docs.kinematic.run/dashboard/settings.md#mode), which describes the two cards like this:

* **Sandbox**: `Players bet test credits from a wallet inside your game server. Bets are recorded on Solana devnet.`
* **Live**: `Your game server debits and credits your own wallet, with real balances.`

| | Sandbox | Live |
| - | - | - |
| Balances | Test balances kept by the game server: 100,000 of each currency per player to start (100,000.00 TEST, 100,000 BTC). They have no value. | Your wallet, through `/debit`, `/credit` and `/balance`. |
| Wallet URL | Optional. If you enter one, it must be https. | Required, https. |
| Allowed origins | `https` or `http` | `https` only |
| Solana record | Each bet's proof is recorded on Solana devnet. | Nothing is recorded on Solana until the audited mainnet program is deployed. |
| Price | Free | A flat fee per quarter, paid upfront. See [Billing](https://docs.kinematic.run/dashboard/billing.md). |

Everything else is the same in both modes: the games, the element, session tokens, the proofs, your settings and the dashboard's pages.

## Sandbox balances

The game server keeps one test balance per player and currency, created at 100,000 units of the currency the first time it reads that player's balance: 10,000,000 minor units at a scale of 2, 100,000,000,000 at a scale of 6. At a scale above 10 it starts at the largest amount a limit can hold, 9,999,999,999,999,999 minor units. Your wallet is never called. Each new `sub` in your session tokens gets a fresh balance, and a balance that exists keeps its amount.

**TEST** is the sandbox's play-money currency: the dashboard selects it for you when you choose your currencies in a sandbox casino, and each test player starts with 100,000.00 TEST. You can add other currencies too; in sandbox their balances are test balances as well.

When a game server switches to live, every player starts fresh, including a player ID that played in sandbox: the balance is the one your wallet reports, and nothing from sandbox reaches your wallet, not even a sandbox payout still on its way at the switch. Sandbox bets, test balances and Solana devnet records stay with the sandbox, and the **Live** page and **Home** show live bets only. If you switch back to sandbox, the test balances and sandbox history are where you left them.

## Switching to live

You switch under **Mode** in **Settings** by choosing **Live** and entering your **Wallet URL**. **Live** opens once your casino is set up: until you finish the first-run steps, the card is disabled and the section says `Live mode opens once your casino is set up.` Live mode accepts only https pages, so the same save moves each `http` origin of a public site to https and removes the other origins that are not https, such as `localhost`; the section lists them before you save. See [Settings](https://docs.kinematic.run/dashboard/settings.md#mode).

Your game servers keep running in sandbox until you redeploy each one: a game server only applies the settings of the mode it was deployed in. **Settings** lists the game servers still in the other mode, and on **Game server** each one says `This game server runs in sandbox mode and your casino is set to live. Redeploy it to switch.` Select **Redeploy in live mode**; once the deploy finishes, the game server takes your live settings and calls your wallet. Automatic updates never switch a game server's mode. [Go live](https://docs.kinematic.run/dashboard/go-live.md) has the full sequence.

## Stopping new bets

In both modes you can stop new bets on the **Game server** page with **Stop new bets**. Bets already placed still reveal, settle and pay; only new bets and Blackjack's extra stakes are refused, with `bets_disabled`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.