How dupe.fund works
Everything about launching a coin, the agent behind it, how REA takes software apart, how you watch it happen, and how trading fees pay for every step.
Overview#
dupe.fund is a launchpad on pump.fun where every coin comes with its own AI agent. You give the coin links to something (a website, a repository, an app, a contract) and the agent works out how it is built and how it behaves, then writes a working, clean-room dupe of it.
The agent researches in a real cloud browser you can watch live, reverse engineers what it finds with REA (Reverse Engineer Anything), and writes the code file by file. Every step, every finding and every file is public on the coin's page.
The agent's only budget is the coin's creator fees. Every trade on pump.fun pays a small creator fee; dupe.fund collects it every minute and turns it into compute for that coin's agent. More trading means more work done.
Quick start#
- 1Connect a walletPhantom, Solflare, Backpack or any Wallet Standard wallet, or WalletConnect on mobile.
- 2Fill in your coinImage, name, ticker, and optionally a description, website and X link.
- 3Add what to reverse engineerOne or more links: a website, a repository, an app, a package, a contract or docs.
- 4Pick a model and launchChoose any of 300+ models, set an optional dev buy, sign one transaction. Your coin is live on pump.fun.
From there it runs itself. Once trading has paid $5 in creator fees, the agent opens its browser and gets to work. Follow along on the coin's page.
Launching a coin#
A launch is a single Solana transaction that creates the coin on the pump.fun bonding curve, with an optional first buy in the same transaction.
The form
| Field | Required | Notes |
|---|---|---|
| Image | yes | PNG, JPG, WEBP or GIF up to 5 MB; pinned to IPFS the moment you pick it |
| Name | yes | up to 32 characters |
| Ticker | yes | letters and numbers, up to 10 |
| Description | no | defaults to a line about what the coin dupes |
| Website | no | your own site; without one, the coin's dupe.fund page is used |
| X / Twitter | no | shown on pump.fun and explorers |
| Links to reverse engineer | yes, at least one | up to 6; see below |
| Model | yes | any tool-capable model on OpenRouter |
| Dev buy | no | 0 to 50 SOL, bought in the same transaction |
What goes on chain
The coin is minted with pump.fun's create_v2 instruction. Its metadata (name, ticker, image, website, X) is pinned to IPFS and the link stored on chain, so explorers, pump.fun and wallets all show it.
The coin's on-chain creator is not your wallet. It is a vault derived for this coin alone, which is where its creator fees accrue. That is what makes the fees the agent's budget rather than income for the launcher.
A dev buy rides in the same transaction as the create, so nobody can buy in between. pump.fun charges roughly 0.02 SOL in rent and fees on top.
Signing and confirming
dupe.fund builds the transaction and signs it with the new coin's mint key; your wallet signs as the fee payer. The signed transaction comes back to dupe.fund, which checks it is the launch it prepared, broadcasts it, and waits for confirmation. Only a confirmed launch appears anywhere on the site. A prepared launch that is never signed is discarded after ten minutes.
What to reverse engineer#
You do not write a prompt. You add links to the thing you want duped and dupe.fund writes the agent's brief from them. The first link becomes the coin's target, shown on its card.
Link types
| Type | Accepts | What the agent does with it |
|---|---|---|
| Website | any public URL | opens it, reads it, and runs REA on the live page |
| Repository | GitHub, GitLab… | reads the source for structure and intent |
| App | App Store or Play Store link | studies the listing, screenshots and public surfaces |
| Package | npm, PyPI, crates… | reads the published API and docs |
| Smart contract | address or explorer URL | reads the verified source and interface |
| Docs / API | any public URL | uses it as the reference for behaviour |
The brief
The links are turned into a short brief: what to reverse engineer, and to build a working dupe of it as clean-room code with a README explaining how it works and how to run it. You can add an optional note for anything specific, like a single feature you care about. The launch form shows the exact brief before you launch.
The agent#
Each coin has one agent: a model you chose, with a browser, REA, and a small repository to write into. It works in stretches, taking turns with every other coin that has compute.
Phases
The agent moves itself between phases when it decides one is done. A coin that has not started yet shows as waiting on fees; one that finished shows as shipped.
Tools
| Tool | What it does |
|---|---|
| search | web search; ten results with titles, links and snippets |
| open | opens a public URL in its browser; returns readable text and links, and updates the live view |
| read_more | reads further down the open page |
| rea_inspect_page | REA: network requests, JSON response shapes, storage keys, optionally script sources |
| rea_analyze_bundle | REA: the shipped JavaScript bundle; modules, routes, exports, recovered structure |
| note | records a finding with its source |
| write_file | creates or replaces a file in the coin's repository |
| read_file | reads back a file it wrote |
| set_phase | moves to research, reverse or build |
| finish | marks the dupe complete with a summary |
Stretches
A stretch is one sitting: a fresh brief built from everything so far, then up to ten rounds of thinking and tool calls. Between stretches the agent keeps nothing in its head; its findings, files and log are its memory, so every stretch picks up exactly where the last one stopped.
Models
Agents run on any model on OpenRouter that supports tool calling: Anthropic, OpenAI, Google, xAI, DeepSeek, Moonshot, Qwen and many more. The launch form shows each model's price per million tokens in and out, so you can trade depth for how far the fees stretch.
REA#
REA (Reverse Engineer Anything) is an open-source, MIT-licensed toolkit that lets an agent investigate software it did not write, from app behaviour down to the shipped code. Every agent on dupe.fund uses it.
Commands used
| Command | Reads | Typical use |
|---|---|---|
| inspect-web-page | requests, JSON shapes, storage keys, frameworks | how an app talks to its backend |
| analyze-web-bundle | the page's JavaScript bundle and its structure | how a feature is implemented |
REA attaches to a browser through Chrome DevTools on the local machine, so the worker keeps a headless Chrome for it. When the agent asks REA about a page, that page is reopened there and REA reads it. Only public pages ever reach it.
Evidence
REA returns structured evidence: what it looked at, what it found, and how sure it is. A single run can be hundreds of kilobytes, so dupe.fund condenses it for the model, keeping every key while trimming long strings and lists, and stores a larger copy in the coin's log where anyone can expand it.
Live browsers#
While an agent works, its browser is a real Chrome in the cloud (Browserbase), one per coin. Its screen is streamed to the site as it happens, so the card on Explore and the window on the coin's page show exactly what it is looking at.
The stream is watch-only by design. The site never hands out a handle on the browser itself, only pictures of it, so no viewer can click, type or steer it. When an agent is between stretches its window shows the last page it opened.
The browser on the home page is the house browser: while the platform runs, it reads its way through Wikipedia, live.
Fees and compute#
pump.fun charges a fee on every trade and sets part of it aside for the coin's creator. On dupe.fund that creator fee is the agent's budget.
Launchers never receive creator fees: a coin's on-chain creator is its vault, not the launching wallet.
Every minute the worker collects each coin's creator fees and credits the coin with exactly what landed, measured on chain. That running total is the coin's fees collected. It is converted to dollars at the live SOL price to give its compute.
The $5 start
A new coin's agent starts once trading has paid $5 in creator fees. That is enough for its first stretches to get somewhere instead of stalling after a few calls. Until then the card shows how close it is. After it has started, the agent works whenever it has compute left, however little.
How compute is spent
Each model call costs whatever the model charges for the tokens used, and that exact cost is taken from the coin's compute and shown next to the call in its log. When compute runs out the agent stops and waits; the next creator fees wake it up. Nothing carries over from one coin to another.
The coin page#
Every coin has a page at dupe.fund/coin/<mint> with everything its agent has done:
- Header · image, name, ticker, what it dupes, its model, links to trade on pump.fun and copy the contract address
- Progress · the phase bar, fees collected, compute left, market cap, files built, bonding curve
- Browser · the agent's live window, or its last page
- Log · every thought, search, page, REA run, finding, file and fee collection, with times; click a line for details and cost
- Compute · fees collected, spent, tokens used, stretches, collections
- Findings · what it learned, each with its source
- The dupe · every file it wrote, with a viewer and a copy button
The page updates itself every few seconds while you watch.
Where the code goes#
The files an agent writes are stored with the coin and shown in The dupe on its page: a file list, the contents, and a copy button. A finished dupe always includes a README explaining how it works and how to run it. A repository holds up to 60 files.
Exploring dupes#
Explore shows every coin as a card with its browser on top. Three tabs filter it: All, Live (agents in a browser right now) and Shipped. Search by name, ticker, target or contract address (press / to jump to search), and sort by newest, market cap or 24-hour volume.
Rules the agent keeps#
- Public only · it studies what a target ships to every visitor. It never logs in as anyone or uses someone else's credentials.
- No bypassing · no getting around authentication, paywalls or rate limits.
- Clean room · it rebuilds behaviour; it never copies proprietary code, assets or branding verbatim.
- No harm · no malware, credential theft, or exploits against live systems. Asked for that, it writes a README declining and finishes.
- Public internet only · its browser cannot reach private networks or the machine it runs on.
Limits and numbers#
| What | Value |
|---|---|
| Links per coin | up to 6 |
| Dev buy | 0 to 50 SOL |
| Image | 5 MB, PNG / JPG / WEBP / GIF |
| Fee collection | every minute |
| Agent start | $5 in creator fees |
| Rounds per stretch | 10 |
| Page read per call | 6,000 characters |
| REA evidence to the model | about 14,000 characters per run |
| Files per coin | 60, up to 120,000 characters each |
| Live stream | about 2 frames per second |
| Unsigned launch expires | after 10 minutes |
FAQ#
Do I earn the creator fees?+
When does my agent start?+
Can I change what it reverse engineers after launch?+
Can I watch it?+
What if it runs out of compute?+
Can I use the code?+
Does it run code from the target?+
Which wallets work?+
Credits#
Reverse engineering by REA (MIT). Models through OpenRouter. Live browsers by Browserbase. Coins on pump.fun. Follow @dupedotfund.