Launchpad (design)
Hooks
What a hook is, the catalogue, and how several stack into one token's behaviour.
What a hook is#
A hook is one on-chain module with one job. It declares when it runs, what it reads, and what it is allowed to move. A creator picks it from a list and fills in numbers; they never see its code, and they never have to.
hook = { when it runs, what it reads, what it may move, its parameters }
example — Stock rewards
when a swap settles on the token's pool
reads the fee collected by that swap
may move only the fees this hook collected
params split 50/50, target asset, payout cadenceThat last line matters more than it looks. A hook can only ever move value that the hook itself collected. It cannot reach into a holder's wallet, cannot mint, and cannot touch another hook's balance. The creator's configuration chooses between behaviours the module already permits — it cannot invent new ones.
The catalogue#
Modules fall into three families, and a token may take from all three.
Rewards#
| Hook | What it does |
|---|---|
| Holder rewards | Pays collected fees to holders in the token itself or in SOL, pro rata, on a cadence. |
| Stock rewards | Converts a share of fees into a tokenized equity and distributes that instead. Holders accumulate an asset the token does not control. |
| Lottery | Pools a share of fees and pays one holder per round, weighted by holding, drawn from an on-chain source of randomness. |
| Referral rewards | Credits the wallet that referred a buyer with a slice of that buyer's fees. |
| Loyalty rewards | Scales a holder's share by how long they have held without selling. |
| Revenue share | Routes a fixed share of fees to named wallets: the team, a treasury, a charity, the utility's own running costs. |
Trading#
| Hook | What it does |
|---|---|
| Buyback | Spends collected fees buying the token back off the market. |
| Auto burn | Burns what the buyback bought, or burns a share of each transfer. Supply only goes down. |
| Anti-snipe | Caps the size and rate of buys in the opening window, so the first block cannot take the float. |
| Dynamic fee | Moves the fee with conditions — higher on sells into weakness, lower on quiet markets — within bounds the creator sets at launch. |
| LP rewards | Pays a share of fees to the wallets providing liquidity rather than to all holders. |
Access and privacy#
| Hook | What it does |
|---|---|
| Access rules | Gates the utility behind a balance: hold n tokens, the content unlocks. This is the existing ownership check with a balance test instead of a purchase test. |
| Transfer rules | Allow and deny lists, lockups, per-wallet caps, cooldowns between transfers. |
| Compliance | Jurisdiction or attestation requirements for tokens that need them. Opt-in, never a default. |
The hook stack#
One token may run several hooks at once. The creator drags them into order, configures each, and launches. The stack is what gives a token its character:
$MONSTER
┌──────────────────────────────────────┐
│ 1 ANTI-SNIPE first 10 min, 0.5% cap │
├──────────────────────────────────────┤
│ 2 DYNAMIC FEE 2–6%, by volatility │
├──────────────────────────────────────┤
│ 3 STOCK REWARD 40% of fees → NVDA │
├──────────────────────────────────────┤
│ 4 BUYBACK 40% of fees │
├──────────────────────────────────────┤
│ 5 BURN everything bought back │
└──────────────────────────────────────┘
drag → drop → configure → launchThe closest familiar thing is an app store for a shop: Shopify apps, but for token economics. The creator assembles behaviour from parts other people wrote and tested.
Order is part of the design#
Hooks run in the order they are stacked, and each one sees what the previous one left. That makes ordering a real decision, not a cosmetic one:
fee collected on a swap: 100 units
stacked as 3 → 4 → 5 stacked as 4 → 5 → 3
stock reward takes 40 buyback takes 40
buyback takes 40 of the rest burn consumes it
burn consumes the buyback stock reward takes 40 of the rest
→ holders get NVDA from 40 → holders get NVDA from 24The launch screen shows this arithmetic with the creator's own numbers before anything is signed, the same way the launch console shows the 95/5 split while a price is being typed. A creator should never discover their own token's behaviour after the fact.
What a stack may not do#
- No hook may mint. Supply is fixed at launch, and only burns move it.
- No hook may move tokens a holder did not send. Rewards come from collected fees, never from balances.
- No hook may be added, removed or reconfigured after launch unless the creator declared it mutable at launch, and that declaration is visible on the token's page forever.
- A stack has a ceiling on total fees. A creator cannot assemble a 90% tax by stacking five modules that each look reasonable alone.