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 cadence

That 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#

HookWhat it does
Holder rewardsPays collected fees to holders in the token itself or in SOL, pro rata, on a cadence.
Stock rewardsConverts a share of fees into a tokenized equity and distributes that instead. Holders accumulate an asset the token does not control.
LotteryPools a share of fees and pays one holder per round, weighted by holding, drawn from an on-chain source of randomness.
Referral rewardsCredits the wallet that referred a buyer with a slice of that buyer's fees.
Loyalty rewardsScales a holder's share by how long they have held without selling.
Revenue shareRoutes a fixed share of fees to named wallets: the team, a treasury, a charity, the utility's own running costs.

Trading#

HookWhat it does
BuybackSpends collected fees buying the token back off the market.
Auto burnBurns what the buyback bought, or burns a share of each transfer. Supply only goes down.
Anti-snipeCaps the size and rate of buys in the opening window, so the first block cannot take the float.
Dynamic feeMoves the fee with conditions — higher on sells into weakness, lower on quiet markets — within bounds the creator sets at launch.
LP rewardsPays a share of fees to the wallets providing liquidity rather than to all holders.

Access and privacy#

HookWhat it does
Access rulesGates 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 rulesAllow and deny lists, lockups, per-wallet caps, cooldowns between transfers.
ComplianceJurisdiction 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 → launch

The 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 24

The 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.
NextHook marketplace →