What StonkBlend is
StonkBlend 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 ten minutes.
The launcher. The launcher picks up to five xStocks. 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
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.
| Wallet | Address | What it does |
|---|---|---|
| Payout wallet | 9vQa…kL2d | One per coin. It is the coin's creator on chain, so StonkFun forwards the creator fee here. The keeper swaps its STONK into the basket and pays holders from it. |
| Ops wallet | 3nB9…xR1t | Receives the 10 % ops slice off the top of every round, and pays network rent for payouts. |
| Keeper | Hq5w…c8Lp | Signs the swaps and the payouts. Holds the payout keypairs in v1. |
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. Holders are paid by their share of the coin at the snapshot. 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. StonkBlend does not issue a token of its own.
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.
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
Where the fees go
Two splits, and both are fixed.
| Of every trade | Share | Goes to |
|---|---|---|
| StonkFun | 0.5 % | The platform's half of the 1 % fee |
| Payout wallet | 0.5 % | The creator's half, forwarded automatically in STONK |
| Of every round | Share | Goes to |
|---|---|---|
| Holders | 90 % | Swapped into the basket and sent out pro rata |
| Ops | 10 % | The ops slice, taken off the top before the swap |
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.
Getting paid
There is nothing to claim. The keeper sends each leg of the basket straight to the holder's wallet. If the holder has no token account for a stock yet, the pad opens one and pays the rent.
Accruals worth less than 0.005 SOL roll forward. A wallet holding dust is not paid every round; it is paid once its accrual clears the threshold.
Paste a wallet
Choosing the basket
A basket is one to five xStocks, 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 ten minutes, and only when STONK has arrived since the last one.
Snapshot
Read every holder's balance at one slot and record the slot on the round.
Slice
Move 10 % of what arrived to the ops wallet.
Swap
Swap the rest into the basket through Jupiter, equal parts by value, one swap per leg.
Pay
Send each leg to every holder above the threshold, pro rata. Roll the rest forward.
Every step is a transaction on the coin page's rounds table, with a link to it.
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.
Quote
POST /api/launch/quote with the basket and the dev buy. Returns the STONK the launch will need and the rate at launch.
Prepare
POST /api/launch/prepare with name, symbol, uri, basket and creator. Returns a partially signed transaction and the coin's mint.
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.
// 2. prepare
const res = await fetch("https://stonkblend.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 fields
| Field | Type | Notes |
|---|---|---|
| mint | string | Base58 public key of a fresh keypair you hold. It becomes the coin's mint. |
| name | string | Up to 32 characters. |
| symbol | string | Up to 13 characters, letters and numbers. |
| uri | string | Metadata JSON, pinned anywhere public. |
| creator | string | Your wallet. It signs, and it is recorded as the launcher. The payout wallet is the on-chain creator. |
| basket | string[] | One to five xStock tickers from the picker. |
| devBuyPct | number | 0 to 10. Share of supply to buy in the launch transaction, paid in STONK. |
When it fails
| Status | Body | Meaning |
|---|---|---|
| 400 | invalid_basket | A ticker is unknown or has no Jupiter route right now. |
| 400 | symbol_too_long | Symbol over 13 characters. |
| 409 | mint_in_use | That mint already exists on chain. |
| 429 | slow_down | More than ten prepares a minute from one address. |
| 503 | stonkfun_unreachable | StonkFun did not answer. Retry in a minute. |
The numbers
| Value | |
|---|---|
| Pair | STONK, on Raydium LaunchLab |
| Trading fee | 1 % on the curve, 1 % on the pool after graduation |
| Fee split | 0.5 % StonkFun · 0.5 % payout wallet |
| Round split | 90 % holders · 10 % ops |
| Round cadence | About every 10 minutes, when STONK has arrived |
| Basket | 1 to 5 xStocks, equal parts by value |
| Payout threshold | 0.005 SOL of accrued value; smaller amounts roll forward |
| Account rent | ~0.002 SOL per holder, per stock. We pay it, not you. |
| Dev buy | 0 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.