Docs · v2

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.

note

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

  1. Go to Launch.
  2. 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.
  3. Write the prompt. Make it as long as you need: the loop, controls, art style, levels, how a run ends.
  4. Attach reference images if you have them: screenshots, sketches, mood boards.
  5. Choose whether anyone can suggest updates, or only your launch wallet can chat with the builder.
  6. 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:

  1. 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.
  2. Takes 0.01 SOL. That payment funds the new wallet so it can pay for claim transactions and other ops.
  3. Credits $10. Operator-funded API budget so Claude can write v1 before any fees exist.
  4. Pins metadata. Name, ticker, image, description and X go to IPFS through pump.fun. The website field is the game's browserd page.
  5. 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.
model

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

  1. Anyone submits a suggestion on the game page.
  2. A review model reads it against the creator's prompt, then approves or rejects it with a one-line reason.
  3. 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.

creator

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:

  1. Reads the game wallet's pump.fun creator-fee vault on-chain.
  2. Every 5 minutes, if the vault is above the claim threshold, claims it into the game wallet.
  3. Credits budgetUsd += 75% × claimed SOL × SOL price. The matching SOL stays in the wallet.
  4. With the remaining 25%, market-buys $BROWSERD through PumpPortal and burns it.
  5. When a build runs, debit budgetUsd by 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

risk

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.

EndpointReturns
GET /api/coinsAll games, platform stats and public config
GET /api/coins/:idOne game with burns, versions, suggestions and log
GET /api/coins/:id/streamServer-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/imageThe coin image
GET /api/coins/:id/ref/:nA reference image attached at launch
POST /api/coinsLaunch a game
POST /api/coins/:id/suggestSubmit a player suggestion; returns the review verdict
POST /api/coins/:id/devLauncher-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:

VariableWhat it does
SIMULATE_CHAINfalse for real pump.fun launches, claims and burns
DATA_DIRWhere db, games, images, refs and wallets persist. On Railway, mount a volume and set this to that path (e.g. /data)
BROWSERD_MINTThe $BROWSERD mint. 25% of claimed fees buy and burn this. Same as NEXT_PUBLIC_BROWSERD_CA
LAUNCH_FEE_SOLPaid by the launcher (default 0.01) to fund the game wallet
GENESIS_BUDGET_USDStarting API credit per game (default 10)
BUILD_SHARE_BPSFee share that stays in the vault (default 7500 = 75%)
CLAIM_INTERVAL_MSHow often to claim pump.fun creator fees (default 300000 = 5 min)
TREASURY_SECRET_KEYFunds new game wallets from the 0.01 SOL fee
WALLET_ENCRYPTION_KEYEncrypts every game wallet on disk. Needed to decrypt wallets/<id>.json
SOLANA_RPC_URLA paid RPC (Helius, Triton, QuickNode)
AI_PROVIDERanthropic, openai or mock
ANTHROPIC_MODELBuilder model, claude-opus-5-5 by default
ANTHROPIC_REVIEW_MODELCheaper 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 walletThe per-coin creator wallet. Players cannot spend it. Encrypted on the volume.
Launch walletThe Phantom address that paid to launch. Only this wallet can chat-update a locked game.
Creator vaultpump.fun's on-chain account where creator fees accumulate until claimed every 5 minutes.
Build vault75% of claimed fees, as SOL in the game wallet plus a USD API budget for Claude.
PromptThe creator's brief. Every version has to stay true to it.
SuggestionA player change (reviewed) or a creator chat (signed). Pending, approved, rejected or shipped.
Buyback & burnThe other 25% of fees buy $BROWSERD and the tokens are destroyed on-chain.
VersionA complete, playable snapshot of the game. All are kept.

#Community

Questions, bugs, game ideas: