browserd, explained.
browserd is a pump.fun launchpad where every coin comes with a browser game. The creator writes what the game should be, and Claude builds it live on the coin's page the moment it launches. Each coin has its own vault wallet. Fees from that coin pay for that game.
Every game starts with $10 of API credit so v1 can ship immediately. After that, claimed creator fees split 75 / 25: seventy-five percent stays in the vault as build budget, twenty-five percent buys back and burns $BROWSERD.
Short version: prompt in, game out. 75% builds. 25% burns $BROWSERD.
#Quickstart
Play
Open Explore, pick any tab, and press play. Every game runs directly in the page, no wallet needed.
Shape a game
If the creator allows updates, use the box on the game page to suggest a change. The AI reviews it in a few seconds and tells you whether it made the cut.
Launch your own
- Go to Launch.
- Fill in the token: name, ticker, image, description, and an X link if you have one. The website is set to the game's browserd page for you.
- Write the prompt. Make it as long as you need: the loop, controls, art style, levels, how a run ends.
- Attach reference images if you have them: screenshots, sketches, mood boards.
- Choose whether anyone can suggest updates, or only your launch wallet can chat with the builder.
- Pay 0.01 SOL to fund the game wallet, then hit launch. The coin goes live on pump.fun and v1 starts streaming immediately.
#Launching a coin
When you launch, browserd does five things in order:
- Creates a game wallet. A brand-new Solana keypair that belongs only to this game. Players never see the private key. It is stored encrypted (AES-256-GCM) in the data volume, public and private together, so the operator can recover it.
- Takes 0.01 SOL. That payment funds the new wallet so it can pay for claim transactions and other ops.
- Credits $10. Operator-funded API budget so Claude can write v1 before any fees exist.
- Pins metadata. Name, ticker, image, description and X go to IPFS through pump.fun. The website field is the game's browserd page.
- Deploys on pump.fun. The coin is created with the game wallet as its on-chain creator, so this coin's fees accrue only to this vault.
Why a wallet per coin? pump.fun pays creator fees into a vault per creator wallet, not per coin. One wallet per game keeps fees, builds and burns isolated. The launch wallet (Phantom) is recorded separately: that is who may chat-update a locked game.
#The build engine
v1 is built as soon as the coin is live, on Claude Opus 5.5 by default (the stack behind recent viral one-file mashup games). The builder sends:
- The creator's full prompt, name and ticker
- The reference images, as vision input
- For updates: the changelog, the approved player requests and the complete current source
The model returns a complete version as a single self-contained HTML file plus a one-line changelog. It streams to every viewer token by token on the Source tab. When the stream ends, the version is saved and the game reloads.
Rules the builder follows
- One file. No external scripts, fonts, images or network calls.
- Keyboard and touch support, fills the viewport, sound effects on key actions.
- Always playable. A smaller safe change beats a risky rewrite.
- If a build fails, nothing ships and the last good version stays live.
#Updates
Games don't change on a timer. They change when someone asks, there is vault credit, and (for open games) the idea passes review.
Open games
- Anyone submits a suggestion on the game page.
- A review model reads it against the creator's prompt, then approves or rejects it with a one-line reason.
- Approved suggestions queue up. They ship when the vault has at least the minimum step budget, with a cooldown between updates.
Locked games
Players cannot suggest. The wallet that paid to launch the coin connects on the game page, signs a message, and chats with the builder. Those messages skip public review and still spend this coin's vault, never another game's.
After v1, unused 75% SOL just sits in the vault until the next build. It is not swept into buybacks.
#Fees, vault & burn
Anthropic invoices USD on an API key, not SOL. So the worker claims SOL into the game wallet, credits USD budget from 75% of that claim, and leaves that SOL sitting in the vault. The other 25% is the only SOL that buys $BROWSERD.
A background worker runs every few seconds. For each live game it:
- Reads the game wallet's pump.fun creator-fee vault on-chain.
- Every 5 minutes, if the vault is above the claim threshold, claims it into the game wallet.
- Credits
budgetUsd += 75% × claimed SOL × SOL price. The matching SOL stays in the wallet. - With the remaining 25%, market-buys $BROWSERD through PumpPortal and burns it.
- When a build runs, debit
budgetUsdby the actual Claude invoice. No SOL leaves the vault for that.
// every 5 minutes, per game claimed = await collectCreatorFee(gameWallet) budgetUsd += claimed * solPrice * 0.75 vaultSol += claimed * 0.75 await buyAndBurn(BROWSERD, claimed * 0.25)
Nothing here needs a person. The game wallet keeps a tiny SOL reserve for transaction fees.
#Sandbox & safety
- Games run in an iframe with
sandbox="allow-scripts", which gives them an opaque origin. - A strict content security policy blocks all network access:
default-src 'none'. - Games can't read cookies, storage, wallets or anything on the parent page.
- Game wallet keys never leave the server and are encrypted at rest.
#Transparency
Every game page shows:
- The game wallet address, linked to Solscan
- The build vault: API credit, vault SOL, spent on builds
- Every buyback and burn, with SOL spent, tokens burned and the transaction
- Every version, with model, tokens used and cost
- Every suggestion or creator chat with the verdict and reason
- A live log of everything the worker does
#Risks
These are memecoins. Prices can go to zero. A game's quality depends on the prompt and on what a model can do in a single file. Nothing here is financial advice.
- AI output can be buggy. The builder ships complete versions, but they can still have bugs.
- The review model can be wrong in either direction.
- Buybacks execute at market price and are subject to slippage.
#API
Everything on the site is backed by a small public JSON API.
| Endpoint | Returns |
|---|---|
| GET /api/coins | All games, platform stats and public config |
| GET /api/coins/:id | One game with burns, versions, suggestions and log |
| GET /api/coins/:id/stream | Server-sent events: code chunks, build start/end, log events |
| GET /api/coins/:id/html?v= | A playable version (latest by default) |
| GET /api/coins/:id/image | The coin image |
| GET /api/coins/:id/ref/:n | A reference image attached at launch |
| POST /api/coins | Launch a game |
| POST /api/coins/:id/suggest | Submit a player suggestion; returns the review verdict |
| POST /api/coins/:id/dev | Launcher-signed chat; queues an approved update |
// watch a game build live const es = new EventSource("/api/coins/meow/stream") es.onmessage = (e) => { const m = JSON.parse(e.data) if (m.type === "chunk") process.stdout.write(m.text) }
#Running browserd
Key settings in .env:
| Variable | What it does |
|---|---|
| SIMULATE_CHAIN | false for real pump.fun launches, claims and burns |
| DATA_DIR | Where db, games, images, refs and wallets persist. On Railway, mount a volume and set this to that path (e.g. /data) |
| BROWSERD_MINT | The $BROWSERD mint. 25% of claimed fees buy and burn this. Same as NEXT_PUBLIC_BROWSERD_CA |
| LAUNCH_FEE_SOL | Paid by the launcher (default 0.01) to fund the game wallet |
| GENESIS_BUDGET_USD | Starting API credit per game (default 10) |
| BUILD_SHARE_BPS | Fee share that stays in the vault (default 7500 = 75%) |
| CLAIM_INTERVAL_MS | How often to claim pump.fun creator fees (default 300000 = 5 min) |
| TREASURY_SECRET_KEY | Funds new game wallets from the 0.01 SOL fee |
| WALLET_ENCRYPTION_KEY | Encrypts every game wallet on disk. Needed to decrypt wallets/<id>.json |
| SOLANA_RPC_URL | A paid RPC (Helius, Triton, QuickNode) |
| AI_PROVIDER | anthropic, openai or mock |
| ANTHROPIC_MODEL | Builder model, claude-opus-5-5 by default |
| ANTHROPIC_REVIEW_MODEL | Cheaper model that reviews public suggestions |
Fill in .env. Anything not listed there already has a default. On Railway, attach a volume and set DATA_DIR to the mount path so games, launch history and encrypted wallets survive deploys.
#Glossary
| Game wallet | The per-coin creator wallet. Players cannot spend it. Encrypted on the volume. |
| Launch wallet | The Phantom address that paid to launch. Only this wallet can chat-update a locked game. |
| Creator vault | pump.fun's on-chain account where creator fees accumulate until claimed every 5 minutes. |
| Build vault | 75% of claimed fees, as SOL in the game wallet plus a USD API budget for Claude. |
| Prompt | The creator's brief. Every version has to stay true to it. |
| Suggestion | A player change (reviewed) or a creator chat (signed). Pending, approved, rejected or shipped. |
| Buyback & burn | The other 25% of fees buy $BROWSERD and the tokens are destroyed on-chain. |
| Version | A complete, playable snapshot of the game. All are kept. |
#Community
Questions, bugs, game ideas: