# chain.wtf SDK Build games for chain.wtf, from solo wagers against the house to multiplayer battles for a shared pot. Pick an SDK, spin up a simulator, and start dealing. :::note[Current SDK checkout] - `@chain-protocol/casino-sdk@0.7.0` - `@chain-protocol/pvp-sdk@0.7.0` This guidance reflects this checkout and may include unreleased changes. [Casino changelog](/sdk/casino/changelog/) [PvP changelog](/sdk/pvp/changelog/) ::: Docs for building iframe games compatible with Chain protocol and that run inside the Chain.wtf host application. ## SDKs - [Casino SDK](/sdk/casino/) — single-player games where the player wagers against house liquidity. - [PvP SDK](/sdk/pvp/) — multiplayer games where players wager against each other into a shared pot. ## Start a game For a casino game, prefer the [Slot Engine](/sdk/casino/slot-engine/) or the [Graph Engine](/sdk/casino/graph-engine/) to a contract of your own. An engine game needs no Solidity, only its frontend is reviewed, and it joins the offering as soon as it deploys. Create a game from an example with the `chain` command, then play it in the SDK simulator: ```sh npx @chain-protocol/cli init casino my-game npx @chain-protocol/cli init pvp my-game ``` With Bun, use `bunx` instead of `npx`. [Getting Started](/sdk/casino/getting-started/) walks through a casino game from an empty directory to a played round, and the [PvP Local Simulator](/sdk/pvp/local-simulator/) page does the same for a PvP game. To add an SDK to an existing project, install it with the CLI at the same version: ```sh npm install @chain-protocol/casino-sdk # or @chain-protocol/pvp-sdk npm install --save-dev @chain-protocol/cli ``` With Bun, run `bun add @chain-protocol/casino-sdk` and `bun add --dev @chain-protocol/cli`. ## Package entry points - Casino: `@chain-protocol/casino-sdk`, `@chain-protocol/casino-sdk/guest`, `@chain-protocol/casino-sdk/contracts/*`, `@chain-protocol/casino-sdk/slot-engine` and `@chain-protocol/casino-sdk/graph-engine`. - PvP: `@chain-protocol/pvp-sdk`, `@chain-protocol/pvp-sdk/guest`, `@chain-protocol/pvp-sdk/liveness`, `@chain-protocol/pvp-sdk/spectator` and `@chain-protocol/pvp-sdk/contracts/*`. `./host`, `./simulator` and `./conformance` are internal to both SDKs. They serve the Chain.wtf host, `chain dev` and `game-verify`, sit outside semver and can change in any release.