Introduction
What it is#
A token launches through StonkFun, a front end and adoption layer over Raydium LaunchLab. The quote asset is a tokenized stock, so the launch is a token priced in a stock rather than in SOL. The Stags program is made the pool creator, which is the account the creator's share of the pool fee is forwarded to, and from then on an account called the policy owns that fee stream.
The policy is set at launch by the deployer and can be locked forever. It holds two splits: what claimed fees become, and what the vault's profit becomes. Nothing else about the token is special. It trades on the same curve everything else on LaunchLab trades on.
| Thing | Value |
|---|---|
| Program id | 4fhFQ8hgbswQq7PNsrwCcxkpE1oae6fsFcLvAjWEnPhD |
| Launch venue | StonkFun, over Raydium LaunchLab LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj |
| LP and buyback venue | cpamdpZCGKUy5JxQXB4dcpGPiikHawvSWAd6mEn1sGG |
| Quote assets | Tokenized stocks (xStocks), Token-2022, 8 decimals |
| Perps venue | Hyperliquid |
| Options venue | Derive v3, api.derive.xyz/v3. Not available today, see below. |
| Leverage cap | 5x, hard |
| Deployed to mainnet | Yes. Config FFv8SPhxKfj6DBfnUGaRiK6M6E3KDau1Yp9efDswmZ9H, 6 origins and 21 models registered. |
| What a launch costs | 0.0176 SOL, measured |
How the pieces fit#
One Solana program, four off-chain services and two venues it cannot see. The program holds the policy, the bankroll, the escrows and the venue allowlist. A keeper anybody can run calls the permissionless money instructions. An attestor on its own key reports remote equity. An agent runner exists only in Agent mode. An indexer reads events and accounts and serves the API this documentation quotes throughout, and never writes anything.
Two legs of that picture are not the program's and are drawn dashed and gold below. StonkFun's forwarding of the creator share happens off chain, on StonkFun's schedule, and lands directly in the program's own quote escrow. The value bridge to Hyperliquid is an operator-run relayer rather than anything a Solana program can verify. Derive is dashed red because its own provisioning endpoints are down, so an options vault cannot be created at all today.
The gold legs are real and are not the program's: StonkFun forwards the creator share into quote_escrow on its own schedule, and an operator-run relayer carries value to Hyperliquid. Derive is dashed red because its own provisioning endpoints are returning errors, so a per-token options vault cannot be created today.
Where the money goes#
The program keeps two escrows and treats the two legs of the pair differently, because only one of them is money and the other is already the thing holders want destroyed.
Gold is off chain and StonkFun's: real, measured across five launches, and committed to by nothing. Everything from the escrow down is this program, live on mainnet.
quote fees ──▶ protocol cut
──▶ to_lp_bps ──▶ compounded into the LP position
──▶ to_bankroll_bps ──▶ the bankroll, which buys and holds risk
base fees ──▶ burned, unconditionally, no swap needed
(the claim path delivers quote only, see below)
bankroll equity above its high water mark
──▶ profit_to_holders_bps ──▶ buys the token back, then burns it
──▶ profit_to_lp_bps ──▶ compounded into the LP position
──▶ profit_to_bankroll_bps ──▶ stays in the bankroll, compounding"Prioritise fees into the trading vault" is just a high to_bankroll_bps. A launch that wants depth instead sets a high to_lp_bps. They are the same knob, and they must sum to 10000.
The one thing people get wrong#
The program has no instruction that sends a policy's funds to an address a caller chooses. That property stops at the program's edge: once value reaches a trading venue, the venue's own key model applies, and whether a Hyperliquid agent key can withdraw has never been probed. Both halves are on the safety model.
Status: live on mainnet#
Start here#
to_lp_bps and to_bankroll_bps. What is enforced, and what locking actually freezes.SKILL.md, the file an agent reads to trade a bankroll and post its reasoning in public. Downloadable.House rules for this documentation#
Three rules this site follows, so you know how to read it:
- Every number traces to a source. On-chain constants come from the program source, venue figures come from the venue's own public API, and model prices come from each provider's own pricing page on a stated date. Where a number does not exist, this site says so instead of printing a placeholder.
- Unbuilt things are labelled unbuilt. A design that exists only in the specification is described as a design, not as a feature.
- Evidence against the product is included. The agent evidence page exists because agent mode has no demonstrated edge, and that belongs in the documentation rather than in a footnote.
The API examples throughout are real responses. Most were captured from the indexer running against a local validator, and the addresses in those are fixture addresses rather than mainnet tokens; where a figure was read from mainnet instead, the page says so. Mainnet addresses on this site are the program, its Config, the pinned venue programs and StonkFun's own accounts.
$ curl -s http://127.0.0.1:8941/health
{
"ok": true,
"service": "bankroll indexer API"
}