Index
Repositories
Every repository this site points you at, grouped by what you are building. CLONE means you actually run git clone. READ means it is the authority for a rule you need. CONSUME means you only ever touch a running instance or a website.
Repositories marked private are private during the curated phase: access on request. Post in #builders on Discord with the repository name, the GitHub account you will clone with, and what you are building.
Build an Arcade game
| Repository | Access | You | What it is |
|---|---|---|---|
| arcade-submissions | public | READ | Where a finished game is submitted: open a submission there with the repository, the tested commit and the four registration values. The arcade itself takes no uploads. |
| arcade-xayaman | private | CLONE (on request) | The copy-me template for an Arcade game: a working two-to-three player game with its wasm rules blob, its React board UI, the build and bundle scripts, and the offline test ladder. This is where you start. |
| arcade-platform | private | READ | The host game-state processor that runs every Arcade game, the wasm judge that executes your rules blob, the submissions service, and the @xayaarcade/sdk your frontend imports. It is the authority for the judge ABI and every submission limit. |
| arcade-xayaships | private | READ | A shipped Arcade game. Read it for the commit-reveal pattern: how to get unpredictability when the judge ABI gives your rules no source of randomness. |
| arcade-xayatrails | private | READ | A shipped Arcade game, a 2..4-seat trail battle. Read it as a complete worked submission: rules blob, bundle and the full test ladder. |
| arcade-dungeonchannel | private | READ | A shipped Arcade game: a two-to-four seat hidden-information dungeon crawl. Read it for a one-byte cfg suffix and for the additive arcade_share_weights payout surface, which is how a game splits a multi-seat pot by anything other than winner-takes-all. |
| arcade-taurion-racer | private | READ | A shipped Arcade game: a two-seat real-time racer whose fixed-point C++ physics, two AI cars and both tracks live in one freestanding rules blob. Read it for a signed setup stage (track and lap count agreed before the race), a seeded channel config (one-byte cfg suffix) and a browser that predicts ahead of the signed state and snaps back to it. |
| arcade-skills | private | CLONE/READ (on request) | These two skills. Install them with a compatible plugin client, or clone and copy them into .claude/skills/. |
| arcade-taurion-rts | private | READ | A two-player RTS Alpha with signed faction selection, mirror matches, a bounded state codec and native/WASM parity tests. Free play; orders and faction choices are public and sequential. |
| arcade-fps-duel | private | READ | A free-play Arcade prototype: a two-seat desktop FPS whose movement, collision and combat live in one freestanding rules blob the browser runs exactly as the referee does. Read it for a high-tick-rate game on the strictly turn-based channel protocol: inputs sampled when their send slot opens, an unacknowledged move retried unchanged, and at most 200 ms of local prediction corrected against the confirmed state. Keyboard and mouse only. |
Build a standalone channel game
| Repository | Access | You | What it is |
|---|---|---|---|
| libxayagame (gamechannel/) | public | READ | The gamechannel/ directory is the reference implementation of the channel protocol: how a referee validates a state proof, resolves a dispute, and times a channel out. |
| xaya-relay | private | CLONE (on request) | The message relay two players' browsers use to exchange signed moves off chain. You run one yourself for a standalone channel game; Arcade games use the hosted one. |
| soccer2d | private | READ | A real-time two-player channel game: useful for how a fast game hides network latency behind local prediction. |
| xayarts | private | READ | A channel game with a turn-based structure. |
| xayafpsdemo | private | READ | A first-person demo showing the patterns a high-tick-rate game needs on top of a channel. |
Build a persistent world or MMO
| Repository | Access | You | What it is |
|---|---|---|---|
| libxayagame | public | CLONE | The C++ library every Xaya game-state processor is built on: it feeds you ordered moves and stores your state, and you supply the rules. Also the home of the `mover` example, the smallest complete GSP there is. |
| xayax | public | READ | The bridge that turns Polygon blocks into the move stream your GSP consumes. You run it beside your GSP. |
| taurion_gsp | public | READ | A large persistent-world GSP: an economy, resources and territory, all fully on chain. The best available answer to 'how big can this get'. |
| tfgsp | public | READ | Treat Fighter's GSP: a smaller, more readable persistent game than Taurion, and a good first read. |
| xid | public | READ | Identity and authentication built on Xaya names, if your game needs players to prove who they are off chain. |
| xaya (Core) | public | READ | Xaya Core. Its doc/xaya directory holds the live protocol specifications for names, moves and games. |
| Soccerverse | public | READ | A persistent football-management world built on Xaya: named here as a class of game rather than a single repository. |
Platform and operator
| Repository | Access | You | What it is |
|---|---|---|---|
| forked-evm-testing | public | READ | The minimal forked-chain substrate the Arcade's playground is built on: fork a real chain locally and spend no real funds. |
| xaya-arcade | private | CONSUME | The Arcade website itself: the lobby, the docs you are reading, and the submission form. You use a running instance; you never need to clone it to ship a game. |
| arcade-wager | private | READ | The contract that escrows WCHI stakes for a wagered match and pays out the winner. |
Worked examples
| Repository | Access | You | What it is |
|---|---|---|---|
| taurion_racer | private | READ | A small game built on Taurion's world: a compact example of building on top of an existing persistent GSP. |
| taurionui | private | READ | Taurion's game client: a large frontend against a persistent GSP. |
| treatfighter_ui | private | READ | Treat Fighter's game client. |
Core Xaya infrastructure
| Repository | Access | You | What it is |
|---|---|---|---|
| polygon-contract (XayaAccounts) | public | READ | XayaAccounts: the contract that owns every p/ name and carries every move on chain. The single most important contract in the system. |
| wchi | public | READ | The WCHI token contract: what stakes and name registrations are paid in. |
| delegation-contract | public | READ | Lets a name owner delegate permission to send moves for that name without handing over the name. |
| democrit-evm | public | READ | Atomic trading of in-game assets against WCHI. |
| charon | public | READ | Lets a light client reach a game-state processor it does not run itself. |
| eth-utils | public | READ | Shared Ethereum/Polygon helpers used across the Xaya contracts. |
| stats-subgraph | public | READ | A subgraph indexing Xaya activity for stats and dashboards. |
| xaya-mcp-server | public | READ | An MCP server exposing Xaya chain data to AI agents. |
Archived or superseded: do not start here
| Repository | Access | You | What it is |
|---|---|---|---|
| xaya/xayaships_frontend | public | READ | A 2021 Xaya Core-era frontend. Name-collides with arcade-xayaships and is not related to it. |
| xaya/xaya_tutorials | public | READ | Superseded. The repository root has been dead since 2019, and the tutorial wiki attached to it predates Polygon, the Arcade and the current SDK. Use this site's docs and agent skills instead: they are verified against the code and rebuilt with it. |
| xaya/xaya_docs | public | READ | Its own README opens by saying the contents are outdated. Use this site's docs, and Xaya Core's own doc/xaya for node internals. |
| xaya/mypp | public | READ | A MariaDB connector wrapper, unrelated to building games. |
| xaya/xayaman | private | READ | The frozen pre-split monorepo. Superseded by arcade-xayaman: starting here is a known trap, because it predates the Arcade platform entirely. |
| xaya/polyxayaships | private | READ | The frozen pre-split ships monorepo. Superseded by arcade-xayaships. |
| xaya/xaya-game-skill | private | READ | The previous AI skill, superseded by the two skills in arcade-skills. |