Appearance
Start here: from zero to a game live on your casino
This page is the whole path, in order. Each stage says what to do in a few sentences, links the one page that has the detail, and says what "done" looks like. Do the stages in order and do not skip ahead.
What you will have at the end
A Marketplace vendor, such as a game studio, connected to your casino and switched on. Your players open the vendor's game from your lobby, and every bet and win moves money in your own wallet. OneHazel sits between the two and translates, so your casino implements one contract for every vendor.
How long it takes depends mostly on two waits outside your control: the vendor issuing your values, and your platform team adding the vendor's games to your catalogue.
Who does what
| Who | What they do |
|---|---|
| You | Create the account and the key, answer your agent's questions, enter the vendor's values, click Go live. |
| Your coding agent | Codex, Cursor or Claude Code with the OneHazel MCP. It writes the settings, registers your modules, runs the tests and creates the connection. |
| Your platform team | Runs the adapter on a host your casino controls, and adds the vendor's games to your game catalogue. |
| The vendor | Issues your values, such as an API key, a secret and a site code, and points its platform at your connection. |
| OneHazel | Activates your account the moment you verify your email, keeps Connect switched on, and runs the conformance tests. |
The two points only a person can do
- Entering the vendor's values. The vendor gives them to a person. You type them yourself, or give them to your agent to save.
- Clicking Go live. No tool, API or agent can switch a vendor on. A person on your team clicks the button in the OneHazel app.
What you need before you start
- A computer with a coding agent: Codex, Cursor or Claude Code.
- A host your casino controls that runs Docker and serves a public https address.
- The base URL of your player and wallet API, your PAM: the system that holds your players and their balances. For example
https://pam.yourcasino.com/provider/v1. - The bearer token your PAM accepts from a trusted server. It goes in
onehazel.envon your host, the file you create in step 2 of Your casino, asPAM_WALLET_TOKENandPAM_PLAYER_TOKEN, plusPAM_WEBHOOK_TOKENif the connector needswebhook.receive. Never type it into the chat. - A test player with money in its test balance, and for
playera second test player with an active limit or block. - One game that is active in your catalogue and allowed for test players.
- An agreement with the vendor you want to go live with.
Your agent reports progress with a journey stage, such as register or awaiting_go_live. Each stage below names the journey stage it matches, so you can tell where your agent is.
Stage 1. Create your OneHazel account
Sign up at https://app.onehazel.com with your name, company, email address and a password, then click the link in the verification email. Your account is active as soon as you verify your email. If a teammate invited you to their team, accept the invitation instead: you are active as soon as you accept. Once you are signed in, the chat button in the OneHazel app is where you ask OneHazel for help. Detail: App onboarding.
Journey stage: none yet.
Done when: you can sign in and see the OneHazel sidebar. Next: stage 2.
Stage 2. Check Connect is switched on for you
Connect sits behind a switch that OneHazel turns on. The one check: open Connect casino, then the Integrate with AI tab, and look at the Module status card. If it says the onboarding connect feature is not enabled, Connect is off: ask for access through the chat button in the OneHazel app. Later, the same problem reaches your agent as the code CONNECT_DISABLED. Detail: Every code.
Journey stage: none yet.
Done when: the Module status card lists your modules, each Not started. Next: stage 3.
Stage 3. Create your integration key
On the same Integrate with AI tab, click Create integration key and copy the key straight away: it is shown once. Only this button makes a key your agent can use for Connect. Detail: Create your integration key.
Journey stage: none yet.
Done when: you have a key that starts with oh_live_, kept somewhere private. Next: stage 4.
Stage 4. Install the MCP in your agent
Put the key in an environment variable called ONEHAZEL_API_KEY on your computer, and add the OneHazel server to Codex, Cursor or Claude Code. The variable name must match the one named in your agent's server configuration: the per-agent snippets on the install page all use ONEHAZEL_API_KEY. Never paste the key into the chat itself. Then open a new chat in your agent, inside your casino's code folder, and paste exactly this line:
text
Connect my casino to OneHazel. Start with connect_status and follow next_step.Steps 2 and 3 of the install page, just above the heading linked here, cover the key and the server, with a page per agent. Detail: Paste one line.
Journey stage: none yet. Your agent's first status check names the next one.
Done when: your agent lists a server called onehazel with tools whose names start with connect_, and replies to your line with your operator id. Next: stage 5.
Stage 5. Choose the Marketplace connector
Ask your agent to call connect_list_marketplace. It returns every public connector, each with the modules it needs, such as wallet and player. Pick one and reply with its key: you build only the modules that connector needs. Without an agent, the Marketplace page in the OneHazel app shows the same list. Detail: Choosing the connector.
Journey stage: choose_connector.
Done when: your agent names the connector and the modules it will register. Next: stage 6.
Stage 6. Deploy the adapter
Before this stage, write down which host the adapter runs on and who on your platform team owns it. Your agent cannot discover either and will ask. The adapter is one small program that speaks the OneHazel contract and calls your PAM. Your agent writes its settings file. Your platform team runs it on your host behind a public https address, following steps 1 to 4 of the Your casino page. Then they run these two checks on the host. The first asks the adapter directly, the second asks it through its public https address:
bash
curl -s -o /dev/null -w "%{http_code}\n" http://127.0.0.1:8080/healthz
curl -s -o /dev/null -w "%{http_code}\n" https://<adapter public URL>/healthzIf you would rather implement the contract in your own code instead of running the adapter, follow the Getting started page, linked under Reference below, and skip the adapter.
Journey stage: none of its own. If nothing answers at the address, register stops and asks you to deploy.
Done when: both checks print 200. Next: stage 7.
Stage 7. Register your modules
Your agent registers each module the connector needs at the adapter's address. It asks for a test player, a restricted test player for player, and the test game for wallet. When your agent registers a module again, it passes every stored input again: connect_status returns the stored inputs for each module, so your agent reads them back first and reuses what it returns. Detail: Register your wallet and player.
Journey stage: register. When the connector also needs the events.push or attribution module, module_prerequisite.
Done when: your agent reports every module registered. Next: stage 8.
Stage 8. Copy the values and restart the adapter
Registering creates a callback key and a signing secret for each module. Your agent writes them to a private file under .onehazel/ and tells you only the path. Copy them into the adapter's settings on your host and restart the adapter. Detail: Copy the values and restart the adapter.
Journey stage: restart_adapter.
Done when: the two checks from stage 6 print 200 again and you have told your agent so. Next: stage 9.
Stage 9. Pass conformance
OneHazel runs its test scenarios against each module with your test players. Your agent reads any failure, fixes the settings and runs the tests again. An optional simulated round then plays one bet and win before any vendor is involved. A module that already shows Conformant keeps that state after a re-register that changes no secret: conformance does not need to run again unless connect_status reports the module failing or not started. Detail: Pass conformance.
Journey stage: conformance, and fix_conformance while a run fails.
Done when: every module the connector needs shows Conformant on the Module status card. Next: stage 10.
Stage 10. Create the connection (inactive)
Your agent creates the connection to the vendor. It is created switched off, so no player can reach it and no money moves. Detail: Create the connection (inactive).
Journey stage: activate.
Done when: the connection shows Inactive on the Connections page. Next: stage 11.
Stage 11. Add the vendor's values
This is the first point only a person can do. The vendor issues a few values when it sets up your site. Give them to your agent to save, or type them yourself on the connection's Credentials tab. Some vendors issue values only after your casino gives them the connection's address, as PatePlay does. If your vendor needs your address first, give it that before you ask for the values. Stage 14 still covers the games and the first spin. Detail: Add the vendor's keys.
Journey stage: set_credentials.
Done when: your agent reports every field saved, by name only, never the values. Next: stage 12.
Stage 12. Ask for the go-live review
Your agent notifies your team that the connection is ready to be checked. The tool reports ready and missing. If anything is missing, such as a vendor value, it still notifies your team, but the review is not ready and the journey does not advance: set what is missing and ask again. If a key or secret was ever pasted into a chat, printed in a log, committed, or written to a file that is not private (mode 0600 and ignored by git), your agent rotates it first (connect_rotate_secret) and tells you to copy the new value into onehazel.env and restart the adapter. The private file under .onehazel/ from stage 8 and onehazel.env on your host are where these values are meant to live, so keeping them there never calls for a rotation. Detail: Ask for the go-live review.
Journey stage: request_go_live.
Done when: your team has the notification, and your agent gives you the connection's page in the app as a path such as /operator/connections/conn_1a2b3c4d5e6f. To open it, go to https://app.onehazel.com followed by that path. Next: stage 13.
Stage 13. Click Go live
This is the second point only a person can do. Open the connection's page from stage 12. Check that every vendor value is set, and that every module the connector needs shows Conformant. A module's state is one of the four that connect_status reports and the Module status card shows: not started, registered, conformant or failing. Then click Go live. Detail: Open the connection.
Journey stage: awaiting_go_live until the click, then live (after the click).
Done when: the connection's status is Active and connect_status says the journey is complete. Next: stage 14.
Stage 14. Play the first game
What is left depends on the vendor: the address you give the vendor, its games in your catalogue, and the first real spin with a real player. Open your connector's own page in the Onboarding MCP guide and follow it from where the journey ends. PatePlay's page, linked here, is the example. If your connector has no page yet, step 11 of the journey page, "Play the first game", lists what your casino must do: give the vendor the address it calls, ask it for the game codes and launch link, and add the games to your catalogue. Detail: PatePlay, end to end.
Journey stage: live (first game).
Done when: the game opens from your lobby, and your casino's records show the bet and any win against that player's balance. Next: stage 15.
Stage 15. Watch the first days live
Check the first live bets against your own records, watch event deliveries if the vendor sends any, and know how to pause. If a key is replaced while live, the old one keeps working for one hour only. Detail: After go live: what to watch.
Journey stage: live (first days live).
Done when: a day of live play matches your own records. There is no next stage: you are live.
If something stops you
- Your agent stops and asks you a question: answer it. The journey page lists every question and what to do.
- A tool returns an error code, or a test run ends errored: look the code up in Troubleshooting for the MCP.
- You are building by hand and a REST call fails: see Troubleshooting for the contract.
- Still stuck: start a new chat and paste the same line again, shown in stage 4 and on Paste one line. Your agent picks up where it stopped. If that does not help, ask through the chat button in the OneHazel app with the code, the time and the tool name.
Reference
- The contract: wire rules, operations and error codes.
- Conformance: every scenario OneHazel runs.
- Module guides: wallet, player, webhook.receive, launch, events.push.
- The adapter: its full config reference.
- Getting started: the contract itself, implemented in your own code instead of the adapter.
- Samples: generated code for your language and framework.
- The connector list over REST:
GET /operators/me/connect/marketplace, called with your signed-in OneHazel session.