Docs

How StonkFuse works, wallet by wallet and round by round. There is no key and nothing to sign up for: every coin is a real StonkFun launch paired to STONK, and everything the pad does with its fees is a transaction you can open.

Pair STONK

What StonkFuse is

StonkFuse is a Solana launchpad where every coin is a real StonkFun launch paired to STONK, and the coin's trading fees are turned into a basket of tokenized stocks the launcher chose and paid out to holders automatically, in proportion to what they hold.

Every trade on chain pays a fee to somebody. On almost every venue that somebody is the team, and holders get a token and a roadmap. We route it the other way. The fees arrive as STONK, the pad spends them on stocks, and the stocks go straight into holders' wallets, about every five minutes.

The launcher. The launcher picks up to ten stocks. From then on, every trade of the coin earns STONK, the pad buys those stocks with it in equal parts by value, and holders receive the stocks in their wallets. Nobody claims anything.

The pair. Every coin here trades against STONK, not SOL. Fees therefore arrive in STONK already, which is what the pad swaps into the basket.

All of it is on chain

Every swap and every payout is a transaction. Each coin page lists its rounds and links to the transaction behind each one, so you can check any figure here yourself.

The wallets

Every fee this pad handles passes through one of these, and all of them are public. Nothing below is a claim you have to take on trust: open any of them and the transactions are the record.

WalletAddressWhat it does
Payout walletone per coin, on its pageOne per coin, made by the keeper at launch, never the launcher's own wallet. The launch transaction sets this wallet as the coin's creator on chain, so StonkFun sends every creator fee here, as STONK, and only the keeper can sign for it. Each round the keeper takes the 10 % ops slice, buys the basket with the rest, and from those stocks pays 85 % to holders and keeps 15 % here as the coin's lottery pot until a draw pays it out.
Ops walletAKUB…RZHvThe keeper’s own wallet: it signs every swap, payout and top-up, pays the network rent for payouts, and receives the 10 % ops slice off the top of every round. The keeper is the program that runs the rounds; this is the only wallet it acts from, besides the payout keypairs it holds in v1.
Fee walletAxrK…6AkJThe wallet the StonkFuse coin is launched from, so StonkFun sends its creator fees here. The keeper splits them: 75 % to the burn wallet, 25 % to the lottery wallet.
Burn wallet7E4Z…Upp5Buys the StonkFuse coin with every STONK it receives and burns every coin it holds, every minute. Nothing leaves it any other way.
Lottery walletHNZU…waqFHolds the StonkFuse coin’s lottery pot in STONK. Every ten minutes the whole balance goes to one random holder of the coin.

The addresses the program itself runs on are at the bottom of this page.

How a coin works

Launch. A coin is a standard StonkFun launch, paired to STONK on Raydium's LaunchLab. The coin's creator, on chain, is its payout wallet, not the launcher's own wallet.

Earn. Every trade on the curve pays a 1 % platform fee to StonkFun. StonkFun forwards the creator's half, 0.5 % of the trade, to the coin's payout wallet automatically. There is nothing to claim. After graduation the Raydium pool charges a 1 % creator fee that StonkFun collects, and the coin's share arrives the same way.

Buy. Each round, the keeper takes a 10 % ops slice off the top of what arrived, then swaps the rest of the payout wallet's STONK into the basket through Jupiter, equal parts by value.

Pay. Of the stocks a round buys, 85 % goes to the holders by their share of the coin at the snapshot, and 15 % goes into the coin's lottery pot (the lottery). A holder shares a round only while their holding is worth at least $10 of the coin at its current price; under that, their part goes to the holders over it, and anything they were owed from earlier rounds is still paid. Accruals worth less than 0.005 SOL roll forward to the next round instead of being sent. Everything else is paid straight into the holder's own wallet.

What STONK is for

STONK is the quote token every coin here is paired to. It is what a trade pays its fee in, and what the pad holds between rounds. StonkFuse's own coin (below) is a StonkFun coin paired to STONK like every other.

Because every coin trades against STONK, every trade on the pad is also a STONK trade. That is the whole reason the pad pairs to it: the volume flows through one token, and the fees arrive in one asset the keeper knows how to swap.

The StonkFuse coin

The site's own coin is not launched from the pad. It is launched on StonkFun from the fee wallet, so its creator fees land there, and the keeper splits every fee it counts two ways, once a minute, from a ledger of what StonkFun has forwarded: 75 % buybacks and burns, sent to the burn wallet, which buys the coin with all of it and burns every coin it holds; 25 % lottery, sent to the lottery wallet, which pays its whole balance to one random holder every ten minutes.

The home page shows this coin's lottery and nothing else: the pot (the lottery wallet's STONK), the countdown to the next draw, the last winners, and Lottery distributed, the dollar total of every prize it has paid. Buybacks is the STONK the burns have spent. Coins launched on the pad have their own lottery, shown on their own page.

Until the coin is launched and its address is set, the keeper runs none of this and the home page shows $0.

What a launch is

A launch is one transaction. It creates the coin on StonkFun paired to STONK, sets the payout wallet as creator, and bundles your first buy if you asked for one. If your wallet is short of STONK when it lands, nothing launches: the buy and the launch fail together.

Once the coin is on chain the site records it, usually within a minute. Until then the coin page says a launch is still being recorded.

Before you sign

The coin launches on StonkFun, paired to STONK, with its payout wallet as creator. Every trade pays 1 %; StonkFun forwards the creator's half to the payout wallet. Every five minutes the pad buys the basket and pays holders.

Where the fees go

Two splits, and both are fixed.

Of every tradeShareGoes to
StonkFun0.5 %The platform's half of the 1 % fee
Payout wallet0.5 %The creator's half, forwarded automatically in STONK
Of every roundShareGoes to
Ops10 %The ops slice, taken off the top of what arrived, before the swap
Holders76.5 %The other 90 % is swapped into the basket; 85 % of those stocks go to the holders by their share
Lottery pot13.5 %The remaining 15 % of those stocks go into the coin’s pot; one random holder wins it every ten minutes

Said in order: 10 % ops off the top, the rest buys the stocks, and of the stocks bought 85 % goes to holders and 15 % to the lottery pot. The three rows above are those two steps as shares of what arrived.

After graduation the split does not change. The Raydium pool's creator fee is collected by StonkFun and forwarded the same way.

What holders earn

Holders earn the basket, not the coin. If a coin pays NVDAX, SPYX and TSLAX, a holder's wallet fills with NVDAX, SPYX and TSLAX. The amount depends on two things: how much the coin traded since the last round, and how large the holder's share of supply was at the snapshot.

Shares are by balance at the snapshot slot, which is recorded on every round. A holder who sells right after the snapshot is still paid for that round; a holder who buys right after it waits for the next one.

Choosing the basket

A basket is one to ten stocks, bought in equal parts by value. The launcher picks it at launch and it does not change afterwards.

Only stocks with a live Jupiter route are offered in the picker. A stock whose route dries up later is skipped, not replaced; see when a leg is skipped.

What a round does

The keeper runs a round for each coin about every five minutes, and only when STONK has arrived since the last one.

01
Snapshot·Read every holder's balance at one slot and record the slot on the round.
02
Slice·Move 10 % of what arrived to the ops wallet.
03
Swap·Swap the rest into the basket through Jupiter, equal parts by value, one swap per leg.
04
Pot·Set 15 % of each stock bought aside in the coin’s lottery pot; it stays in the payout wallet until a draw pays it out.
05
Pay·Share the other 85 % among the holders worth at least $10 of the coin, by their balance. Send each leg to every holder above the threshold. Roll the rest forward.

Every step is a transaction on the coin page's rounds table, with a link to it.

The lottery

Every coin on the pad runs a lottery beside its payouts. Each round, 15 % of the stocks it buys go into the coin's pot instead of the pro-rata share; the pot's stocks stay in the payout wallet until they are won. Every ten minutes of the wall clock, one random holder of the coin wins the whole pot.

01
Tickets·One per wallet holding at least $10 of the coin at its current price. The payout wallet, the ops wallet, the pool and the keeper’s own wallets never hold one.
02
The draw·At the first keeper tick of each ten-minute slot. The winner is sha256(blockhash:mint:slot) mod n over the eligible wallets sorted by address; the blockhash and the seed are stored with the draw, so anyone can recompute the pick.
03
The prize·Every stock in the pot worth at least 0.005 SOL, sent in one transaction from the payout wallet, at most four stocks a draw (the largest first, the rest next slot). Dust stays in the pot.
04
The record·One draw per coin per slot, written before the send and marked paid only when the send confirms. A send that fails leaves the pot whole and the next slot draws again. Nothing is paid twice.

A coin page shows its pot by stock, the countdown and its last winners; the Rewards page lists every coin's winners. The StonkFuse coin's own lottery pays STONK from the lottery wallet instead of stocks (above) and is the one the home page shows.

When a leg is skipped

If a stock is delisted from Jupiter or its route dries up, that leg is skipped and its STONK rolls to the next round. The coin page says so on the round, and a paused stock stalls only its own payouts. The other legs pay as usual.

Custody, plainly

Each coin's payout wallet is a keypair only the keeper holds. The keeper could misdirect funds. Every swap and every payout is an on-chain transaction listed on the coin page, and the wallet's balance is public. A program that can only buy the basket and pay holders is the next version.

Launching from your own app

A launch here is three requests and one signature. This site's launcher makes exactly the same calls in the same order, so anything it can do, so can you. There is no key, no registration and no allow list.

What the API will not do is sign for you. It builds the transaction, partially signs the part only it holds, and hands it back. The coin's own key and the launcher's are yours to add, so a response leaving this server can do nothing on its own.

01
Quote·POST /api/launch/quote with the basket and the dev buy. Returns the STONK the launch will need and the rate at launch.
02
Prepare·POST /api/launch/prepare with name, symbol, uri, basket and creator. Returns a partially signed transaction and the coin's mint.
03
Confirm·Sign with the mint keypair and the creator wallet, send it, then POST /api/launch/confirm with the signature so the site records the coin.
launch.mjs
// 2. prepare
const res = await fetch("https://stonkfuse.fun/api/launch/prepare", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    mint: mintKeypair.publicKey.toBase58(),
    name: "My Coin",
    symbol: "MINE",
    uri: metadataUri,
    creator: wallet.publicKey.toBase58(),
    basket: ["NVDAX", "SPYX", "TSLAX"],
    devBuyPct: 0,
  }),
});
const { transaction } = await res.json();

// 3. sign and send
const tx = VersionedTransaction.deserialize(Buffer.from(transaction, "base64"));
tx.sign([mintKeypair]);
const signed = await wallet.signTransaction(tx);
const sig = await connection.sendRawTransaction(signed.serialize());

Not wired yet

The endpoints above describe the shape of the API. This site is a front end only for now; the calls return nothing until the pad's backend is connected.

The fields

FieldTypeNotes
mintstringBase58 public key of a fresh keypair you hold. It becomes the coin's mint.
namestringUp to 32 characters.
symbolstringUp to 13 characters, letters and numbers.
uristringMetadata JSON, pinned anywhere public.
creatorstringYour wallet. It signs, and it is recorded as the launcher. The payout wallet is the on-chain creator.
basketstring[]One to five xStock tickers from the picker.
devBuyPctnumber0 to 10. Share of supply to buy in the launch transaction, paid in STONK.

When it fails

Every failure returns { error }. Branch on the body, which is stable.

BodyHTTPMeaning
invalid_basket400A ticker is unknown or has no Jupiter route right now.
symbol_too_long400Symbol over 13 characters.
mint_in_use409That mint already exists on chain.
slow_down429More than ten prepares a minute from one address.
stonkfun_unreachable503StonkFun did not answer. Retry in a minute.

The numbers

Value
PairSTONK, on Raydium LaunchLab
Trading fee1 % on the curve, 1 % on the pool after graduation
Fee split0.5 % StonkFun · 0.5 % payout wallet
Round split10 % ops off the top · of the stocks bought, 85 % holders · 15 % lottery pot (76.5 / 13.5 / 10 of what arrived)
Round cadenceAbout every 5 minutes, when STONK has arrived
Basket1 to 10 xStocks, equal parts by value
Payout threshold0.005 SOL of accrued value; smaller amounts roll forward
Holder floor$10 of the coin at its current price, to share a round or hold a lottery ticket
Lottery drawEvery 10 minutes of the wall clock, one random eligible holder, the whole pot
Account rent~0.002 SOL per holder, per stock. We pay it, not you.
Dev buy0 to 10 % of supply, paid in STONK

What can go wrong

StonkFun stops forwarding creator fees, or changes the split, and rounds stop. The keeper raises an alert for the operator when a coin with trades has had no fee arrival for an hour.

A stock is delisted from Jupiter or its route dries up. That leg is skipped and its STONK rolls to the next round.

Holder count explodes. Payouts are threshold-gated, so cost scales with holders who actually earn enough, not with wallets that hold dust.

A holder sells right after the snapshot. Shares are by balance at the snapshot slot, which is the only defensible rule, and the slot is recorded on every round.

The keeper key is custodial in v1, which is why it is stated here in plain words.

The accounts

Every address this runs on.

STONK mint
·6GmA…UNgx
LaunchLab program
·LanM…J3uj
Ops wallet
·AKUB…RZHv
Burn wallet
·7E4Z…Upp5
Lottery wallet
·HNZU…waqF
Fee wallet
·AxrK…6AkJ
Jupiter router
·JUP6…TaV4

Everything on this page can be checked on chain. What you agree to by using the pad is in the Terms of Service.