Caputchin
Marketplace game development

Ship a game to the marketplace

A marketplace game is a game you build once and anyone can embed: you publish a public GitHub repo, the platform indexes it, and users reach it by its game id with no involvement from you. This is the opposite end from a custom game, which only you can use and which you host yourself. This section is the detailed, build-and-publish guide to the marketplace path.

If you only want a game for your own site keys, you want custom game development instead. Come here when you want to distribute a game to every Caputchin user.

The whole pipeline

Each box maps to a page in this section:

PieceWhat it isPage
The gameA self-contained JS bundle built against the game SDK that runs in the widget's sandboxed iframe.Build a marketplace game, SDK reference
The manifestA caputchin.json at the repo root describing the game, its presets, and its bundle.The caputchin.json manifest
The replay contractA deterministic run(seed, trace) -> verdict the server re-runs to reach the authoritative decision.The replay contract
The engine kitAn optional authoring kit that produces a conforming run from a plain reducer.The engine kit
PublishingTag the repo, the indexer discovers and pins it, optionally automate with CI.Publish to the marketplace

Replayable vs not replayable

The single most important idea on this path: a marketplace game can gate verification only if it is replayable server-side. When the indexer ingests your game it runs a replay self-check: it loads your headless run artifact in a sealed isolate and confirms it produces a valid verdict.

  • Self-check passes → the game is replayable: a real player's round is re-run on the server to reach the decision, so the game can gate a site key.
  • Self-check fails → the game shows Not replayable. It is still listed and still embeddable, but only as UX (not a security gate) until you publish a version that passes. Sites already on an earlier replayable version keep running that exact snapshot.

This is why determinism is not optional polish: it is the line between a game that can guard a site key and one that is merely decorative.

How a marketplace game differs from a custom game

Marketplace gameCustom game
Who can embed itAnyone, by game idOnly you
HostingPlatform-pinned from your GitHub / npmYou host the bundle (game-src)
Customization schemaDeclared in caputchin.jsonDeclared on the dashboard
Replay artifactIndexed from the manifest's runUploaded on the dashboard
DiscoveryBrowsable marketplaceNone

Where to start

If you have never built a Caputchin game, read Build a marketplace game top to bottom, then The replay contract. When you are ready to ship, follow Publish to the marketplace. The engine kit is optional and can be skipped entirely.

See also

On this page