1
Read the options
GET /launch-options and look under pumpfun: who may launch, who may use a custom pair, and the payout assets. Pairs are under pumpfun in GET /pairs; perp markets in GET /markets.2
Build
POST /pumpfun/launches with name, symbol, creatorWallet, the logo (image as a data URL, or imageUrl), the strategy, and optionally quoteMint (from pumpfun in /pairs; SOL when omitted), devBuySol, description, twitter and telegram.The strategy in its shortest form is a preset and the markets, every one long at 2x:legs instead of markets; for anything else, the full config. The purps.lol guide has all three forms and every option. We check it before anything is spent: a bad strategy is refused before the upload, with the reason.You get back transactions, createIndex, mintSecret and feeRouting.transaction.3
Sign and send the create
Sign the
transactions (the one at createIndex with the mint key too) and send them through /transactions/send or your own node (nothing on pump.fun needs our relay), one at a time, waiting for each to confirm.4
Sign and send the fee routing
Once the create has confirmed: sign
feeRouting.transaction with the creator wallet only (no mint key) and send it the same way. This is pump.fun’s fee-sharing config. Once set, the coin’s creator fees go to its PURPS wallet permanently.It was built with the launch and carries that blockhash, so send it within a minute or so. If it has aged out (/transactions/send answers 400 with code expired), POST /pumpfun/fees with mint and creatorWallet builds a fresh one. The same call covers a build whose feeRouting came back null.5
Done
We watch the chain and register the strategy within about 15 seconds of the fee routing landing. You don’t need to stay online. Poll
GET /coins/{mint} until it answers, or GET /redirects/{mint} (with your X-Helius-Key header) until registered is true. The coin is then live on purps.lol with its strategy running.Without a strategy in the build
A build sent withoutstrategy still works the old way: send the create, send the fee routing (feeRouting.transaction, or one from /pumpfun/fees), then POST /redirects with mint and the strategy as config, as on the redirect page. Nothing is registered until you do.
What it costs
The creator wallet needs about 0.04 SOL plus the dev buy (0.045 with a custom pair). The build checks that before uploading anything (when it can read the balance) and answers400 when it’s short. Fetching the logo by imageUrl is budgeted at 20 an hour per address; when the build answers 429 about image fetches, send the bytes as image instead.
A strategy that pays holders needs holderPayoutsEnabled in /launch-options to be true. When it isn’t, the build is refused with a 403 before anything is spent.
If a strategy sent with the build couldn’t be attached, the lookup says so:
strategy.status is refused with the reason on GET /redirects/{mint}, waiting until the chain shows what it needs, attached once done.