--- title: "Connect: start here" description: The one start-to-finish path for a casino operator, from creating a OneHazel account to a Marketplace game live on your own casino, in fifteen stages. --- # 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 1. **Entering the vendor's values.** The vendor gives them to a person. You type them yourself, or give them to your agent to save. 2. **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.env` on your host, the file you create in [step 2 of Your casino](/connect/mcp/your-casino#step-2-let-your-agent-write-the-settings-file), as `PAM_WALLET_TOKEN` and `PAM_PLAYER_TOKEN`, plus `PAM_WEBHOOK_TOKEN` if the connector needs `webhook.receive`. Never type it into the chat. - A test player with money in its test balance, and for `player` a 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](/app-onboarding#_1-sign-up). **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](/connect/mcp/troubleshooting#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](/connect/mcp/install#step-1-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](/connect/mcp/install#step-4-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](/connect/mcp/journey#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](/connect/mcp/your-casino#step-1-get-the-adapter) 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:///healthz ``` If 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](/connect/mcp/journey#step-2-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](/connect/mcp/journey#step-3-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](/connect/mcp/journey#step-4-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)](/connect/mcp/journey#step-6-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](/connect/mcp/providers/pateplay#step-2-give-pateplay-your-wallet-address) 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](/connect/mcp/journey#step-7-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](/connect/mcp/journey#step-8-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](/connect/mcp/go-live#step-1-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](/connect/mcp/providers/pateplay#step-2-give-pateplay-your-wallet-address). **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](/connect/mcp/go-live#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](/connect/mcp/troubleshooting). - You are building by hand and a REST call fails: see [Troubleshooting for the contract](/connect/troubleshooting). - Still stuck: start a new chat and paste the same line again, shown in stage 4 and on [Paste one line](/connect/mcp/install#step-4-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](/connect/contract): wire rules, operations and error codes. - [Conformance](/connect/conformance): every scenario OneHazel runs. - Module guides: [wallet](/connect/modules/wallet), [player](/connect/modules/player), [webhook.receive](/connect/modules/webhook-receive), [launch](/connect/modules/launch), [events.push](/connect/modules/events-push). - [The adapter](/connect/adapter): its full config reference. - [Getting started](/connect/getting-started): the contract itself, implemented in your own code instead of the adapter. - [Samples](/connect/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.