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 and what you are building.

Build an Arcade game

RepositoryAccessYouWhat it is
arcade-xayamanprivateCLONE (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-platformprivateREADThe 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-xayashipsprivateREADA 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-xayatrailsprivateREADA shipped Arcade game built and submitted end to end by someone with no prior knowledge of the platform. The closest thing to a worked answer for 'what does a real submission look like'.
arcade-dungeonchannelprivateREADA 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-vector-sumoprivateREADA shipped Arcade game: a two-to-four seat commit/reveal arena with a zero-byte channel cfg (registered with no suffix at all) and on-screen touch controls. It declares no share weights, so its three- and four-seat wagered matches settle winner-takes-all.
arcade-taurion-racerprivateREADA 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-skillsprivateCLONE/READ (on request)These two skills. Install them as a Claude Code plugin, or clone and copy them into .claude/skills/.

Build a standalone channel game

RepositoryAccessYouWhat it is
libxayagame (gamechannel/)publicREADThe 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-relayprivateCLONE (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.
soccer2dprivateREADA real-time two-player channel game — useful for how a fast game hides network latency behind local prediction.
xayartsprivateREADA channel game with a turn-based structure.
xayafpsdemoprivateREADA first-person demo showing the patterns a high-tick-rate game needs on top of a channel.

Build a persistent world or MMO

RepositoryAccessYouWhat it is
libxayagamepublicCLONEThe 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.
xayaxpublicREADThe bridge that turns Polygon blocks into the move stream your GSP consumes. You run it beside your GSP.
taurion_gsppublicREADA large persistent-world GSP: an economy, resources and territory, all fully on chain. The best available answer to 'how big can this get'.
tfgsppublicREADTreat Fighter's GSP — a smaller, more readable persistent game than Taurion, and a good first read.
xidpublicREADIdentity and authentication built on Xaya names, if your game needs players to prove who they are off chain.
xaya (Core)publicREADXaya Core. Its doc/xaya directory holds the live protocol specifications for names, moves and games.
SoccerversepublicREADA persistent football-management world built on Xaya — named here as a class of game rather than a single repository.

Platform and operator

RepositoryAccessYouWhat it is
forked-evm-testingpublicREADThe minimal forked-chain substrate arcade-fork-testing is built on — fork a real chain locally and spend no real funds.
xaya-arcadeprivateCONSUMEThe 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-wagerprivateREADThe contract that escrows WCHI stakes for a wagered match and pays out the winner.
arcade-fork-testingprivateREADAn operator's own deployment repository: brings up a forked Polygon chain with the whole stack on top, runs the browser end-to-end proofs, and is what runs the public playground. Private, and a builder never needs it.

Worked examples

RepositoryAccessYouWhat it is
taurion_racerprivateREADA small game built on Taurion's world — a compact example of building on top of an existing persistent GSP.
taurionuiprivateREADTaurion's game client: a large frontend against a persistent GSP.
treatfighter_uiprivateREADTreat Fighter's game client.

Core Xaya infrastructure

RepositoryAccessYouWhat it is
polygon-contract (XayaAccounts)publicREADXayaAccounts: the contract that owns every p/ name and carries every move on chain. The single most important contract in the system.
wchipublicREADThe WCHI token contract — what stakes and name registrations are paid in.
delegation-contractpublicREADLets a name owner delegate permission to send moves for that name without handing over the name.
democrit-evmpublicREADAtomic trading of in-game assets against WCHI.
charonpublicREADLets a light client reach a game-state processor it does not run itself.
eth-utilspublicREADShared Ethereum/Polygon helpers used across the Xaya contracts.
stats-subgraphpublicREADA subgraph indexing Xaya activity for stats and dashboards.
xaya-mcp-serverpublicREADAn MCP server exposing Xaya chain data to AI agents.

Archived or superseded — do not start here

RepositoryAccessYouWhat it is
xaya/xayaships_frontendpublicREADA 2021 Xaya Core-era frontend. Name-collides with arcade-xayaships and is not related to it.
xaya/xaya_tutorialspublicREADSuperseded. 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_docspublicREADIts 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/mypppublicREADA MariaDB connector wrapper, unrelated to building games.
xaya/xayamanprivateREADThe frozen pre-split monorepo. Superseded by arcade-xayaman — starting here is a known trap, because it predates the Arcade platform entirely.
xaya/polyxayashipsprivateREADThe frozen pre-split ships monorepo. Superseded by arcade-xayaships.
xaya/xaya-game-skillprivateREADThe previous AI skill, superseded by the two skills in arcade-skills.

Agent skills · Quickstart · llms.txt