- A Cloudflare account you can sign in to.
- A page you control, on your site or on a local development server.
- A backend route that knows which player is signed in. The examples use Node.js.
1
Create your account and your casino
Sign up at app.kinematic.run/sign-up with your name, your work email and a password, and open the link in the confirmation email: it signs you in. Or select Continue with Google, which needs no confirmation email.The dashboard asks
What is your casino called?. Enter the Casino name and the Website your players visit, for example Lucky Star and luckystar.example, and select Continue. Your casino gets an ID made from its name, such as lucky-star. It never changes, and your session tokens carry it.The first-run steps follow: Your team, Size and price, Currencies, Games, Look and Done. In sandbox, Currencies has TEST chosen for you: it is the sandbox’s play money, and each test player starts with 100,000.00 TEST. You can skip Your team with I’ll do it myself and Look with Keep the default look. The last page, Your sandbox is ready, finishes the setup. See Create your casino.2
Check your allowed origins and session issuer
Open Settings and find Players and sessions. The dashboard filled both fields from the website you entered:
- Allowed origins lists the pages that can show the games. For
luckystar.exampleit holdshttps://luckystar.exampleandhttps://www.luckystar.example. - Session issuer is the value your tokens carry as
iss, herehttps://luckystar.example.
https://staging.luckystar.example or http://localhost:5173. An origin is the scheme, host and port, with no path and no trailing slash. Sandbox accepts http origins; live accepts only https. Select Save. See Settings.3
Deploy your game server
Open Game server. Under Connect Cloudflare, select Connect Cloudflare and approve the access on Cloudflare’s own page. You come back to the dashboard, which shows
Cloudflare is connected.Under Choose where it runs, choose your Cloudflare account, keep the suggested Worker name (og-rgs-lucky-star), choose workers.dev as the Address and leave Update automatically on. Select Deploy. The deploy takes about a minute; keep the page open until it finishes.The game server’s card then shows its address. Select Copy the address to copy it, for example https://og-rgs-lucky-star.luckystar.workers.dev. To use a hostname of your own instead, see Game server.4
Store your secrets
Open Integration and go to Secrets. Have your secret manager open, select Reveal secrets, then Reveal in
Reveal your secrets?. The page shows a .env block with SESSION_SECRET and WALLET_SECRET. This is the only time you see their values.Put both into your secret manager and your backend’s environment: SESSION_SECRET signs session tokens now, and WALLET_SECRET checks your game server’s wallet calls once you go live. Afterwards the page shows only each secret’s fingerprint and the date it was shown. Only owners and admins can reveal the secrets. If you lose one, write to hello@kinematic.run.5
Optional: give the next two steps to a coding agent
At the top of Integration, Instructions for your coding agent holds the next two steps with your casino’s values filled in, and no secrets. Select Copy instructions and paste them into the agent you use in your site’s repository. See Use an AI agent.
6
Sign session tokens on your backend
The element asks your backend for a session token when it connects, and again before each token expires. Add this module to your backend:Then answer The Sign session tokens step on Integration shows the claims with your casino ID and issuer, under Session token claims. Session tokens explains each claim and the device key.
session-token.mjs
POST /api/game-session behind your own login, with the token as plain text. In any framework that hands you a Fetch API Request:game-session.mjs
7
Put the games on your page
The Put the games on your page step on Integration shows this code, under Your page, with your game server’s origin, your element’s tag and your first game:Copy it into your page. If your page sends a
Content-Security-Policy header, merge the directives under Content Security Policy, for pages that send one, below the code. See Content Security Policy.8
Place a sandbox bet
Sign in to your site as a player and open the page. The game shows the player’s sandbox balance: 100,000 of the currency, such as 100,000.00 TEST. Press BET.The result appears on the game’s screen and the balance moves. Open Provably fair in the game’s toolbar to see the bet’s proofs checked in your browser. Once the bet is recorded on Solana devnet, its record appears there too.The bet shows on the dashboard’s Live page. Once your game server reports it, the Put the games on your page and Sign session tokens steps on Integration show Done.
Your page, your session endpoint and your game server work together. Every later step builds on these three.
Next steps
Implement your wallet
Build the debit, credit and balance endpoints a live game server calls.
Make it look like your site
Take a theme from your site, set your logo and rename the element.
Test before you go live
Check your integration in sandbox, then run the wallet check before live.
Go live
Switch your casino to live mode.