1
Read the options
GET /launch-options and look under pons: who may launch, the creator tax range, and the payout assets holders can be paid in. Pairs are under pons in GET /pairs. A token not in the list can be checked with GET /pons/assets/{address}.2
Prepare
POST /pons/launches/prepare with name, symbol, creatorWallet and optionally pairToken (an address from pons in /pairs; the zero address or omitted means ETH), devBuy (ETH, decimal string) and creatorTaxBps. This is the one launch that still signs a message first: launching here is invite-only, and the signature is how the invite is checked before anything is spent. The message carries a launches: line saying the name, ticker, pair, creator tax and first buy in words; read it, then sign message with personal_sign.3
Submit
POST /pons/launches/submit with the same terms (including the same devBuy and creatorTaxBps, which are part of what you signed), the logo, socials, ts and signature. Keep walletKey from the response.4
Send the steps
Send each of
steps from the creator wallet, in order, waiting for each receipt: an optional swap and approval when there is a dev buy in a token pair, then the launch. requiredWei tells you what the wallet needs; shortByWei is 0 when it has enough. The hash of the last step is the launch transaction.5
Find the launch
Once the launch transaction has succeeded,
GET /pons/launches/{ref} with the hash (or the token address) returns the token address, and the walletKey again if you lost it.6
Register the strategy
POST /pons/register/prepare with creatorWallet, txHash, walletKey and your strategy config; the message says the strategy in words next to its hash. Sign it. Then POST /pons/register/submit with the same four fields plus name, symbol, imageUrl (an https link), ts and signature. If registered is false with a reason, the launch is not indexed yet: wait a few seconds and retry. The config is the same shape as a Solana strategy launch: a paying coin names its asset in payoutMint and up to four more in payoutMintsExtra, each a 0x address from the launchpad’s payoutAssets or any token GET /pons/assets/{address} says is payable.Sending a step
Each step is{ label, tx: { to, data, value, chainId } }. With viem: