Docs
What a game is allowed to do
Games are written by an AI from text a stranger typed, so they are treated as untrusted. Four separate things keep a game from doing harm:
- A separate address. Games are served from pixelpad-play.osmankng.workers.dev, not from this site.
- A sealed frame. On this site a game runs in a sandboxed frame that cannot read this page, cannot navigate it, cannot open windows and cannot reach a wallet.
- No network. The game host sends a policy that blocks every outbound connection and every external script.
- A code scan and a browser test. Before any version is published, its code is scanned for network calls, wallet access, links, wallet addresses and requests for money or keys, and it is run in a real browser. A version that fails is never published.
A game and this page exchange exactly three messages: the game says it is ready, the page tells it the coin's name, ticker and picture, and the game reports a score. Anything else is ignored.
Bringing your own game: what the file needs
A game you upload runs under exactly the rules above, so it has to be able to live inside them. Most small browser games can; here is the checklist.
- One HTML file, up to 900 KB. The script and styles are inside it. Pictures, sounds and fonts are inside it too, as data: URLs (PNG, JPEG, GIF, WebP, common audio, fonts), or drawn and synthesised by the code.
- It draws on a canvas, 2D or WebGL, and works with a keyboard and with touch. It has to hold about 24 frames a second on a slow phone.
- No network. No fetch, no scripts or fonts from other sites, no web sockets, no workers. Every request is blocked anyway.
- No code built at run time. No eval, no new Function, no WebAssembly. A build packed by a tool that unpacks itself with eval will not run: upload the unpacked build.
- Saved progress lasts for a visit. localStorage and sessionStorage work but are kept in memory. Cookies and IndexedDB do not exist.
- Nothing that leaves the page. No links, forms, pop-ups, alerts or nested frames. Your own site is linked from the coin's page instead.
- Nothing about wallets or money. No wallet access, no addresses, and no text asking for keys, payments, connections or bets. This rule has no exceptions.
Nothing in your code is edited. A small script is added in front of it so the game can tell this page it is ready, keep its saves in memory and obey the page's sound switch. If you want the page to show scores, call PIXELPAD.score(points, true) when a run ends; it is optional. If the upload is refused, you are shown each thing that has to change and where it is.
The games and their authors
Not every game here was written from nothing. The ready-made games a coin can start from, and the games in the demo arcade, include open-source games written by other people. Each was found on a public list of AI-built games, has a licence that allows reuse, and was changed only as much as it takes to run sealed inside this site: no storage, no network, and the coin's picture and ticker passed in. Each one still passes the same code scan and browser test as every other game. The author's name and licence stay inside the game file.
| Game | Author | Licence | Built with | Used as |
|---|---|---|---|---|
| Coin Survivors | Pixelpad | Ours | Claude | A starting point for coins |
| Flip Runner Racing | Mark Castle | MIT | Claude Fable 5 | A starting point for coins |
| SkySprout | DUBSOpenHub | MIT | GPT-6 Astra | A starting point for coins |
| Hop Bot | Benjamin Smerdon and the AI Builders Club at West Valley College | MIT | Claude Opus 5.5 | A demo game |
| XX142-B2.EXE | Ben Clark and Salvatore Previti | MIT | Claude | A demo game |
| Tiny Yurts | John Evans (burntcustard) | MIT | Claude | A demo game |
| BEARPROOF | The BEARPROOF contributors | MIT | Claude | The showcase on the homepage |
BEARPROOF is our own game. It began from canvas-vampire-survivors by ricardo-foundry (MIT), and an AI has built on it every night since. It is the one game here that is not put through the code scan, because it is our own code; it runs in the same sealed frame and passes the same browser test as the rest.
What is not published
Names, descriptions, pictures and game requests are checked before anything is generated and again before it is published. Declined: sexual content, anything inappropriate involving minors, hate speech, harassment of real people, games built around gambling or betting, copyrighted characters and brands, and coins that impersonate an existing coin or project.
Limits
- Coin name up to 32 characters, ticker up to 10, picture up to 977 KB (PNG, JPEG, WebP or GIF).
- 3 free template launches per wallet per day.
- Custom games: single-player, 2D, one browser page, keyboard and touch. No 3D, no multiplayer, no server.
- Scores are sent by the browser and can be faked. They are for fun and are never tied to a reward.
What this site does not do
- It does not hold your coins or your money. The only payment it ever receives is the custom game fee.
- It does not run raffles, lotteries, jackpots, prize pools or betting of any kind.
- It does not trade. No AI here buys or sells anything by its own decision.
- It does not promise that any coin will be worth anything.
Known limits you should know about
- pump.fun's admin authority and its community-takeover process can change a coin's locked fee split. We detect it and stop that coin's updates; we cannot prevent it.
- Game budgets are kept in our ledger, not in a contract. The fee transactions that fund them are public; the AI spending against them is reported in each game's dev log.
- Voting can be gamed by splitting coins across wallets. It decides game updates only.
- Built on pump.fun. Not affiliated with pump.fun.
More: how it works, where the fees go, risk notice.