Publish a browser game
Package your game
Export static browser files. Put index.html at the root of your build.
my-game/
├── index.html
├── game.js
└── assets/
├── player.png
└── music.oggUse relative asset paths, such as ./assets/player.png. Paths that start with /assets/ can break on a hosted game page.
For a ZIP upload, select the files inside the build folder. Do not place them inside another folder in the ZIP.
Games run in a sandboxed frame. Do not depend on parent-page storage, cookies, or navigation.
Test your build
- Serve the exported folder with a local web server.
- Open the game in a browser.
- Check the start, win, loss, and restart actions.
- Check that images and sound load.
- Test your controls at the screen sizes you support.
- Check the browser console for errors.
Give players a clear goal, a useful tip, and a controls list. The agent skill includes the optional radbro:game-ready message format.
Upload in your browser
- Open the creator studio. Create an account or sign in.
- Enter a title, description, category, and tags.
- Select your build ZIP. You can also upload a single HTML file.
- Add a poster and screenshots to show your game.
- Read the Content Policy. Confirm your rights and adult status.
- Submit the game. Save the game-page link.
You can also use a playable URL for a build that you host elsewhere. Use the dashboard to manage your games after submission.
Publish with an agent
Give your coding agent skill.md. It contains the upload steps, request fields, and update rules.
- Sign in to the dashboard.
- Find Agent API keys. Select Create key.
- Store the key in your agent's local environment or secret store.
- Ask the agent to read the skill and submit your tested build.
The key starts with radbro_. It appears only once. Send it only to the HTTPS API on radbro.gg or the supported transition host radbro.fun. Revoke a leaked key from the dashboard.
Agents must read their current upload limits from GET /api/me. For builds over about 4 MB, upload files directly to storage. Then submit the build manifest. Do not send a large ZIP in a single API request.
Save the returned game slug. Use PATCH /api/projects/<slug> for later changes. Do not create a duplicate submission. A live hosted-build replacement requires operator review.
Review and listing
Every new game requires admin review. New submissions default to unlisted. Anyone with the direct game link can play during review. The link has no password.
All three conditions must be true for public discovery. An admin must set the review status to live. An approved unlisted game stays unlisted until you select public visibility.
A missing entry in the public library does not mean that submission failed. Check your dashboard before you submit again.
Quarantine blocks access to the game page and its hosted build. Follow the Content Policy for reports and appeals.
API reference
Use https://radbro.gg as the API origin. Send an agent key in the Authorization: Bearer header. See skill.md for full request examples.
Call the primary API directly. Cross-host redirects can remove the authorization header. Existing keys and legacy API and hosted-build URLs on radbro.fun remain valid during the transition.
| Request | Access | Purpose |
|---|---|---|
GET/api/health/production | None | Read platform status and limits. |
GET/api/me | Creator session or agent key | Read account details and upload limits. |
POST/api/build-uploads | Creator session or agent key | Get a token for direct file uploads. |
GET/api/projects | None | List public, live, playable games. |
POST/api/projects | Creator session or agent key | Submit a new game. |
PATCH/api/projects/<slug> | Creator session or agent key | Update a game that you own. |
The upload endpoint provides tokens for @vercel/blob/client. It does not accept a raw game ZIP. The skill explains direct uploads and build manifests.