# Build for arcade.fun with your own AI

Build games, tools, worlds, simulations and other interactive experiences in Codex, Claude,
Cowork, Grok, Grok Bot or any coding environment. Your own provider account pays for that AI
work. You do not need an Arcade AI credit pack. Coin creation and network costs are separate.

Start or return here: https://arcade.fun/create?builder=external

## Start with a playable experience

Ask the creator what they want to make. Produce a complete playable first slice, not a mockup.
Keep the source in their workspace and iterate with them. Give each experience a distinctive
visual identity, legible menus, responsive controls, meaningful feedback and interesting depth.
Use original or licensed assets and keep required licenses/attributions.

Test only the devices you intend to claim. Phone support means real touch controls and usable
portrait/landscape layouts. Desktop support means keyboard/mouse controls and usable focus.
Use frame-rate-independent movement and bounded rendering work. Test pause/resume, restart,
resize, device changes and saved progress. Include a short changelog with each revision.

## Choose an actual build format

- **Single HTML or ordinary web ZIP:** `index.html` at the root, all needed files and relative
  asset paths. Deliver the actual runnable files, not a link to an AI provider's temporary preview.
- **Arcade SDK build:** integrate the documented platform lifecycle and bundle dependencies,
  assets and modules locally. SDK builds have no arbitrary network access and no service workers.
  Do not depend on a CDN at runtime. Read the SDK/starter before choosing this format.
- **Engine/connected build:** use the appropriate tested web export. Real networked multiplayer,
  video signaling and server-side AI require real reviewed services. Do not simulate other
  players and label the feature online. Threaded or independently networked builds have
  different isolation requirements; check the current platform docs.

Use the platform's single game header, account and wallet bridges. Do not put a second Arcade
navigation banner inside the game or require another signup. Optional purchases use the
reviewed item-shop flow. Keep provider keys and publishing credentials outside the public
build. Never invent custodial balances, wagers, escrow, token rewards or client-authorized
payouts. Each listing's coin is a separate on-chain feature; a build does not mint a coin.

## Official platform resources

- Integration, lifecycle and publishing: https://arcade.fun/developers.html
- Reusable starters and modules: https://arcade.fun/toolbox.html
- Machine-readable module catalog: https://arcade.fun/sdk/toolbox.json
- Game-design brief: https://arcade.fun/sdk/game-design-template.md
- SDK source: https://arcade.fun/sdk/arcade-sdk.js
- SDK starter example: https://arcade.fun/sdk/starter.html
- Cloud-save module: https://arcade.fun/sdk/plugins/cloud-saves.md
- Device support: https://arcade.fun/sdk/device-support.md
- Item purchases: https://arcade.fun/sdk/item-shop.md
- Token integration: https://arcade.fun/sdk/token-integration.md
- Online play: https://arcade.fun/sdk/online-games.md
- Economic rules and risks: https://arcade.fun/tokenomics
- Publishing terms: https://arcade.fun/terms.html
- Community guidelines: https://arcade.fun/guidelines.html

Consult those current documents instead of inventing APIs. If your environment cannot fetch
links, ask the creator to attach this guide and the relevant module docs. You can still build
a standalone browser experience and return its files without an MCP connection.

## Connect publishing tools (optional)

Public Streamable HTTP MCP endpoint: **https://arcade.fun/mcp**

No credential is needed for initialization/tool discovery. Listing registration, uploads,
updates and publication use the existing platform checks. The server cannot sign a wallet
transaction for you. It is not a source of Arcade administrator credentials.

**Codex:** add an MCP server in settings, or use:

```sh
codex mcp add arcade --url https://arcade.fun/mcp
```

**Claude / Cowork:** add a custom connector using the endpoint above. Where connection settings
ask for authentication, this public discovery endpoint uses no sign-in; a game's private
manage key is returned after registration. Local Cowork tasks should have an explicitly chosen
project folder for source files.

**Grok / Grok Bot:** use a supported custom MCP connector. Grok's web connector setup is at
https://grok.com/connectors. For the Grok CLI that supports `grok mcp`:

```sh
grok mcp add --transport http arcade https://arcade.fun/mcp
```

Client versions and account capabilities vary. A plain copy/paste brief and file export work
without adding any connector. Ask before modifying a creator's tool configuration.

## Preview first, publish with approval

Before any public submission, obtain the creator's approval of the actual build, listing,
creator wallet, rights and publishing terms. Do not fill in consent as true without their
approval, invent contact details, or approve financial transactions. The creator handles any
coin-launch signature and spending decision in their own wallet.

For an MCP-capable client:

1. Initialize the endpoint, then discover `tools/list`; use its current tool schemas.
2. `create_experience` registers approved title, author, private email, Solana creator wallet,
   tagline, how-to-play, tested inputs/devices, and explicit rights/terms consent. Save its
   `game`, `key` and `version` response privately before continuing. The manage key is shown once.
3. `upload_build` accepts that version/key, filename and base64 file content. Use `index.html`
   or a complete ZIP. `set_entry` resolves multiple entry pages; `set_cover` supplies cover art.
4. The MCP inline limit is 24 MB. Larger builds use the documented streaming upload route:
   `PUT https://arcade.fun/api/uploads/<version>/files`, with `X-Manage-Key` and the correct
   content type. The current normal upload limit is 250 MB; confirm live limits in `/api/status`.
5. `experience_status` shows preview, versions, review/check results and coin requirements.
   Read `live`, `waiting` and the coin plan. Passing a technical check is not a guarantee of
   immediate public listing: current review policy and the confirmed-coin requirement apply.
6. Share the returned `playPath` at https://arcade.fun once live. Keep the experience ID, key,
   source and version history. Do not put a manage key in a public URL, repository or build.

For a client without publishing tools, return the HTML/ZIP to the creator. They can upload it
at https://arcade.fun/make.html. Smaller browser source projects (up to 128 files / 2 MB) can
also be imported into the manual Studio workflow at https://arcade.fun/create; connect the
owning wallet there to save and return to the project.

## Evolve the same experience

Use `start_version` with the existing game ID and manage key, then `upload_build`. Do not create
a new listing or coin for every update. Preserve saves or provide an explicit, tested migration.
Call out changes that make old scores incomparable rather than silently mixing leaderboards.
The current live version remains available while a replacement goes through the platform's
current checks. Continue testing and updating in the creator's own AI workspace.

## Client setup references

Checked November 8, 2026:
- Codex app draft links: https://learn.chatgpt.com/docs/app/commands
- Codex MCP: https://learn.chatgpt.com/docs/extend/mcp
- Claude / Cowork connectors: https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp
- Grok connectors: https://docs.x.ai/grok/connectors
- Grok MCP CLI: https://docs.x.ai/build/features/mcp-servers

Codex supports `codex://new?prompt=<encoded text>` to open a draft, without sending it. Arcade
uses that documented link and a shorter paste-first draft for long briefs. Claude and Grok
buttons open their normal websites; copy/paste is intentional rather than an undocumented
prompt URL. Use the same prompt in desktop Cowork or a bot task.
