An illustrated workshop of game-making tools.

The creator handbook

Build something enormous.

A great arcade can hold a ten-second obsession or a world worth exploring for years. Build deep systems, creative instruments, conversation spaces and games people can keep discovering. Bring a complete browser experience, or start with our interactive templates and SDK.

Create an experience Upload an experience

Available today

Your experience. Your world.

The Live Studio opens with a game already running. Type on the left, play on the right: the game restarts every time you stop typing. No sign-up, no wallet, nothing to install. Add free art, 3D models and sounds from the built-in library, start from someone else's game with Remix, and publish in one click. How it works.

Arcade AI is optional and lives inside the same studio. It supports Prompt, Build together and Code workflows: build a modular experience, try it immediately, edit files, restore versions and keep expanding the same project. Optional AI packs cost 0.25 SOL for 2,000,000 AI credits (1 per input token, 5 per output token). Manual editing, playtesting, export and review submission are free. The balance and source stay with your signed-in wallet. Submit finished versions for review and update the same experience after launch. Studio projects support up to 128 source files and 2 MB per version; complete engine exports use the upload flow below.

Open the experience toolbox for six interactive starters and seven free, editable modules: touch/keyboard controls, versioned saves, particles, audio, incremental upgrades, token purchases and account cloud saves. Studio guide · Tokens in games · Creator platform plan.

Use your own AI in Codex, Claude, Cowork, Grok or another coding environment. Copy a tailored setup prompt, use the optional publishing connector, or bring back HTML/ZIP files. No Arcade AI credit pack is required. Read the complete builder guide.

The one-file starter is a starting point. Upload a complete web build with multiple scripts, maps, art, audio and data. Browser exports from Unity, Godot, GameMaker, Construct, Defold, PlayCanvas, RPG Maker, Phaser, three.js and other engines are welcome.

Give your game its own world. Choose original art, typography, materials, animation and HUD styling that suit the game. The arcade header supplies its name and navigation; keep duplicate arcade menus out of the playfield. Fill preview artwork edge to edge, while keeping essential gameplay visible on every supported device. Camera video is a player choice, separate from keyboard/touch controls and sharing permission.

Independent web build

Bring your engine

Use keyboard, mouse, touch, gamepad or your own browser controls. Your game runs on the games origin in a frame, or in its own tab when it needs threads. You can use your own backend; uploading a game hosts its browser files, not a server.

Independent builds do not automatically receive SDK input, recording or wallet integration. Declare external services and permissions for review.

Arcade SDK build

Play with voice & motion

The arcade owns the microphone, camera and wallet UI. Your sandboxed game receives readings, reports a score and integrates with the arcade lifecycle. Bundle libraries and assets locally; this mode cannot call external services.

SDK builds can also have multiple files. The upload server injects the SDK when it detects its calls. The in-page test bench is for one self-contained HTML file.

  1. Build for the browser. Compile TypeScript, JSX and engine source before uploading. Use relative asset paths so the game works in a versioned subfolder.
  2. Package the exported folder. Put index.html at its root and zip it. Whole-project zips with an existing dist, build, out or www folder are also detected; the platform does not compile your source.
  3. Test the exported build. Check phones and laptops, resize, input permissions, audio, loading and failures. SDK games should also test start, pause, resume and repeat play.
  4. Upload for review. Supply controls, instructions, cover art and any external service requirements. Keep the private manage link. Updates wait for review while the approved version stays live.

Current default limits: 250 MB uploaded, 600 MB unpacked, 8,000 files. These are caps, not recommended initial downloads. The single-file test bench has a separate 1 MB limit. Threaded exports use their own tab; plan them as independent web builds because the embedded SDK bridge needs the arcade parent.

Publishing from a coding agent

Give your agent the one-command publishing guide. The file publisher accepts the build directly without a connector. You can also point an MCP client at https://arcade.fun/mcp:

{ "mcpServers": { "arcade": { "url": "https://arcade.fun/mcp" } } }

It gets publishing tools: create an experience, start a version, send a build, set the start page, set the cover, check status, and list the shelf. The game's manage key is the only credential, so an agent can ship an update without touching a browser. Builds over 24 MB go to PUT /api/uploads/<version>/files with an X-Manage-Key header.

Your build and the current checks

We check that a build runs in its sandbox. Community uploads go through content review. Uploading and listing are free, and no wallet or coin is required. Read the upload result’s live and waiting fields to see what remains. Fix reported problems and upload a new version of the same experience. You provide explicit rights and terms consent.

Make it here

The Live Studio.

Open the studio and a small complete game is already playing next to its code. Change a number, a colour or a line and watch it happen. Your game is kept in your browser as you go. Download it as a zip whenever you like: the code is yours.

What you see is what ships

The game in the studio runs in the same sealed frame a published game gets, on the same separate address, with the same rules: it can load its own files and nothing else. If it works in the studio, it works on the arcade. Errors and anything your game prints with console.log show under the game, and clicking an error jumps to the line.

Free art, 3D models and sounds

The Assets panel searches more than 25,000 openly licensed pieces: 3D models, sprites, backgrounds, emoji art, icons, textures, skies, sound effects and music, from KayKit, Kenney, Poly Haven, Game-icons.net, Superpowers, Fluent Emoji and Phosphor. Every one shows who made it and its licence (CC0, MIT or CC BY). Press Add to my game and the file is copied into your project, so your game never depends on someone else's server, and the credit its licence asks for is written into CREDITS.md for you. You can also drop your own pictures, sounds and models onto the page. A game can hold 48 MB of them, up to 8 MB each.

Make art, animations and a launch video with AI

Create draws what you describe: a character, an item, a background, a tile. Tick “see-through background” and it comes out ready to drop into a game. Choose Animation and you get a looping animated GIF, plus the same frames as one sprite sheet and a small file that tells your game how to play it. Whatever you make goes straight into your game's files.

Video makes a short launch trailer from what your game really is: it reads your game's code to get its look right, paints the key moments, films them and adds a title card and an ending card with your game's link. Flash is quick, four scenes, no sound. Premiere is one cinematic, flowing scene with music and sound. Both come wide (for X, YouTube and your game's link) or tall (for TikTok, Reels and Shorts). One click makes it the video people see when your game's link is shared.

These are made by AI services that charge us, so they are paid with the same AI credits as Arcade AI builds, at the same rate: what the service actually charged for your picture or video, nothing more. While something is being made, the most it could cost is held, and the rest comes straight back the moment it is done. If it fails, nothing is charged. A picture is usually about 11,000 credits, an animation about 7,500, a Flash video about 90,000 and a Premiere video about 700,000; 0.25 SOL buys 2,000,000. You need a Solana wallet for these. Everything else in the studio stays free.

Remix

Remix opens a working game's real code in the studio as your own copy. You can remix any of the starters, and any community game whose creator chose to allow it. Your remix gets its own page and, if you ever want one, its own coin. The original is never changed.

If you allow remixing of your game: tick “Let other people remix this game” when you publish. That shares your game's code and art under the MIT licence: anyone may copy and change it, including to make and sell their own version, as long as they keep the credit to you. Art and sound you added from the library keep their own licences. It is off unless you turn it on, and you can turn it off again; that stops new remixes but cannot take back copies people already made.

Publish

Press Publish, say how it is played and which devices you tried it on, and it goes to the arcade. Listing is free and needs no wallet. You get a key for that game: keep it, because it is the only way to update or remove the game later. A wallet and a coin stay optional and separate.

The same tools for coding agents and terminals

Everything in the studio is also available to Codex, Claude, Cursor or any MCP client at https://arcade.fun/mcp: a build guide, the starters and modules, the asset library, remixable source, and a build check that publishes nothing. From a terminal, one file does the same with Python 3 and nothing to install:

curl -O https://arcade.fun/sdk/arcade.py
python3 arcade.py new first-game mygame        # a working game in ./mygame
python3 arcade.py assets barrel --kind model   # search the library
python3 arcade.py add "<asset id>" mygame        # download it and write the credit
python3 arcade.py check mygame                 # the arcade's upload checks, nothing published
python3 arcade.py play mygame                  # play it at http://localhost:8787

Then publish with the publisher.

Beyond games

Create an experience. Keep evolving it.

Build an explorable world, a creative tool, a conversation arena, an interactive story, a simulation or a game. Scores and win/loss screens are optional. Prompt, Build together and Code share the same source, history, previews and review process.

The Conversation Arena starter is a complete same-device debate practice room: assigned sides, six timed turns, a private journal and export. It makes no claim to online matching or AI judging.

For a live debate platform, social space or other connected experience, an independent uploaded web build can use your own reviewed backend. Real matchmaking, video signaling, server-side AI, shared accounts and moderation need actual services. Studio previews and SDK builds do not provide those services or allow arbitrary network connections. Keep all provider keys server-side.

Every public experience receives its own sharing card. Creators can update the same listing and can request a coin market separately; optional SDK purchases follow the same wallet-confirmation rules. Participation does not guarantee income.

A small interface, room for big ideas

Use the arcade lifecycle.

arcade.on('start', () => {
  /* reset and begin */
  arcade.score(0);
});
arcade.on('frame', ({ voice, hands, face }) => {
  if (!arcade.running) return;
  // Map readings to your own input actions.
});
arcade.on('pause', () => { /* freeze simulation */ });
arcade.on('resume', () => { /* resume safely */ });
arcade.ready({ mic: true, hands: false, face: false });

// When the score changes: arcade.score(currentScore);
// When the run ends: arcade.gameOver(finalScore);

Register handlers before calling ready. Read loudness and pitch from voice, fingertips and gestures from hands, and expressions from face. The SDK sends readings, never raw microphone audio or camera images. video: true can show the arcade camera behind a transparent game.

For experiences with an optional, verified coin market: arcade.token, arcade.wallet, connectWallet(), pay(amount, note) and buyToken(). Handle a missing token or wallet, declined payments and repeat sessions. Keep a complete free play path.

For reviewed cosmetics and extra content, use the durable item-shop integration: arcade.shop.catalog(), arcade.shop.inventory() and arcade.shop.open(sku). It supports configured game-token payments and Stripe item checkout, with wallet-owned server inventory, saved receipts and refund/dispute handling. Catalog and seller approval are required; opening checkout is not proof of ownership. Card checkout does not sell crypto.

Purchases and stakes have different flows. arcade.pay() sends an in-game purchase to the creator. It provides no matchmaking, escrow, refunds, winner payout or burn. A client score cannot authorize a token prize.

Available now · free play

Local rivals. Online opponents.

Gravity Four, Orbit Reversi, Neon Dots and Fivefold each have a local two-player version and an online version with public matchmaking, private invites, ready checks, server-owned turn clocks and saved replays. Play with mouse, touch or keyboard. Neon Boxing adds real-time online fights with punches, blocking, slips, stamina, three rounds and knockouts, plus a labeled practice bot. Shout-Off and Hand Pong remain in Local two player.

Single-score games can also pair a completed run with the latest waiting challenger on the same build and input mode. All games use their standard timing. SDK community games can join this free score-comparison flow. Scores are reported by clients; random levels can differ. These challenges cannot authorize token payouts.

Phenomenal. Deep. Massive. Expansive.

Grow systems, then grow the world.

Depth through interaction

Build mechanics that change one another: movement and terrain, equipment and enemy behavior, resource choices and exploration. Give players viable strategies, counters and surprising discoveries. Add progression that opens decisions.

Content through tools

Describe levels, quests, items, enemies and dialogue as data. Build an editor or validation script once, then let designers expand the game. Keep a stable content schema and room for new modes, biomes and campaigns.

Scale through structure

Separate simulation, rendering, input, UI, audio, assets and saves. Load a small first session; load later regions on demand. Pool busy objects, budget textures and audio, and profile the exported build on real target devices.

Longevity through care

Version saves, plan migrations, provide export/import where practical and keep old saves playable. Test readability, touch controls, reduced motion, remapping and sound alternatives. Playtest the first minute and the twentieth hour.

Keep browser saves for offline play and recovery. Published SDK experiences can use account cloud saves with revisions, bounded backups and per-experience isolation. Integrate the cloud-save module explicitly; existing local-save code does not sync automatically. Persistent shared worlds and authoritative multiplayer need their own approved server services. Never store secrets or financial proofs in game saves.

For a larger game, use the creator brief and project prompt. Specify a complete playable slice, interacting systems, content tools, performance budgets and an expansion plan. Then iterate from real play.

Proposed platform capability · not live

Two players. Equal stakes. A 5% burn.

A player chooses how many of the game's tokens to stake. Matchmaking finds another human who accepts the same stake and rules. Both fund a match escrow. The verified winner receives 95% of the combined pool; the remaining 5% is permanently burned.

Example: 100 tokens each → 200-token pool → 10 burned → 190 paid to the winner. The winner gains 90 tokens after recovering their stake. A draw or void returns both stakes with no burn. Network fees and account rent are separate.

  1. Choose and pair. Free practice, public stake tiers or a private invite. Match the exact game/build/rules, network, token mint, stake, region and input class. Queueing moves no funds.
  2. Accept and fund. Both see the same quote, deadlines and rules in platform UI. Their wallets authorize exact deposits into the match vault. Start after both deposits are finalized and both players are ready.
  3. Play a verifiable match. A reviewed server validates actions and keeps replay evidence. The game client renders play; it cannot declare a payable winner.
  4. Burn and pay atomically. A decisive result burns 5% through the token program and pays 95% to the winner. Publish a finalized receipt. A new match always needs fresh consent.

Before play, an expired funding or ready deadline returns deposited stakes in full. During play, reconnect grace and a server-proven forfeit follow the accepted rules. Platform failure or an unverifiable result gives a void/refund. An unresolved on-chain deadline must allow refunds without the arcade server.

Keep game rules independent of wallet code. Define fixed-step state, validated inputs, snapshots and a reproducible result. Voice and camera readings can be fabricated by a modified browser, so sensor-only games need additional review before real stakes.

Free matchmaking and authoritative board rooms are available now. Solana match escrow, wallet-authenticated wager pairing and payout verification still need implementation and review. The old Base escrow prototype has no 5% burn and is not used here. Proposed APIs and manifests do not enable real-token play.

Working creator tool · quote only

Try the pool math.

Each player contributes the amount below. The burn is 5% of both stakes together. On a draw or void, each gets their deposited stake back and the burn is zero.

Example uses a 6-decimal token. No wallet or real tokens are involved.

Combined pool
200 tokens
Burned · 5%
10 tokens
Winner receives · 95%
190 tokens
Winner's net gain
90 tokens

The helper uses integer base units and rejects rounding. Stakes must be divisible by 10 base units for an exact 5% burn; for this example the smallest step is 0.00001 tokens. It checks the combined pool against the u64 token amount limit. A real implementation must independently enforce these rules in escrow.

Download the reusable quote helper · How Solana token burns reduce supply

Take these into your project

The creator toolbox.

Available tools and planning templates
ToolUse it forStatus
Creator StudioPrompt, build together or code manually; play modular games, edit code, inspect errors, restore versions and submit updates.Available · optional AI credit packs
Upload & test benchPublish browser builds; simulate voice, hands, face and token purchases for a single-file SDK game.Available
Sky Lift starterA complete voice game to adapt in the test bench.Available
Action & incremental referenceSix seeded action simulations, native controls and recordings, a saved factory economy, offline production, prestige and licensed import examples.Available · no mic or camera
Mobile & desktop checklistDeclare device support, test phone previews, build touch and keyboard controls, and check portrait, landscape, menus and saved progress.Available
Creator brief & AI promptPlan systems, content tools, milestones, budgets and expansion.Available
Exact stake mathQuote the pool, burn, payout and net gain without float rounding.Available; quote only
Web + desktop platform planCompare instant play, installable web, an installed library and a desktop creator workspace; phased runtime and release gates.Proposal · no client download
Multiplayer contractPrepare an authoritative adapter, queue rules, recovery and acceptance tests.Specification
Match configurationWrite down rules, stake tiers and deadlines for review.Draft; not loaded by platform

What the platform should provide next

Let creators spend their time on the game.

These are development priorities, not available services or delivery promises. The current arcade hosts reviewed browser files on one server; it does not yet host arbitrary game backends or persistent worlds.

  1. Expand the free multiplayer toolkit. Four native board games now have authoritative rooms, private invites, matchmaking and replay inspection. Next: reviewed creator adapters, a creator-facing two-client harness and latency/disconnect simulation. Read the implemented protocol and reference rules.
  2. Reusable match economy. Pretend-balance tests, then devnet escrow, platform-owned consent, exact deposits, fixed burn/payout, receipts and permissionless refunds. Real-token launch requires security and eligibility/jurisdiction review.
  3. Persistence and worlds. Account-linked versioned saves, inventories, achievements, content manifests, asset delivery and approved server adapters with quotas and migrations.
  4. Creator operations. Extend the studio's previews, source history, restore and runtime error panel with performance reports, crash reporting, replay debugging and a compatibility dashboard.
  5. Expansive play. Approved content packs and world editors, spectator tools, seasons and tournaments after matchmaking, moderation and settlement can support them reliably.

The platform should carry the shared infrastructure. Creators should have the tools to build experiences with depth, scale, personality and years of room to grow.