Hook block combinations
Which rules a market may carry per lane and per asset, the fee model, the dev-buy rules, and the warning each combination earns.
Which rules a market may carry, which combinations the contracts refuse, and which ones the product warns about. The tables are rendered from src/lib/v2-combinations.ts, the same module the launch surfaces evaluate against, so the printed rules and the enforced rules cannot drift apart.
Every limit on this page is a structural constant of the V2 contracts on chain 4663 (HookrNativeMechanicsBlockV2, HookrMarketCoordinatorV5), restated in source and pinned by unit tests. Nothing here is read from the chain when the page renders. The protocol share printed below, 20%, is the default the contracts shipped with, not a live reading: the owner can move it for future pools within the 50% ceiling, and each pool freezes the share the coordinator resolves for its creator at creation (ProtocolShareResolved).
V2 fee model
There is no flat swap-time protocol fee. The base LP fee is untouched, and the protocol takes a share of each add-on the pool opted into — carved out of that stream, never added on top of it. A pool that carries only a base fee earns the protocol nothing.
| Stream | Recipient | Recipient share | Protocol share |
|---|---|---|---|
| Base LP feeUntouched. A pool that carries only a base fee earns the protocol nothing. | In-range LPs | 100% | none |
| Surge surchargeThe surcharge above the base fee only; the base fee underneath it stays whole. | In-range LPs | 80% | 20% |
| Snipe taxGuard window, new-token lane only. The recipient side reaches the creator's lpFeeRecipient. | Founding position | 80% | 20% |
| LP-reward cut | Donated to LPs | 80% | 20% |
| Pot cut | The pot | 80% | 20% |
| Burn cutThe protocol's slice is taken as quote-equivalent value; the rest is burned. | Burned subject output | 80% | 20% |
| RoyaltyA share of the 80% remainder of the LP-reward and pot cuts, after the protocol slice. | Royalty recipient | 100% | none |
- Protocol share: 20% of each add-on the pool opted into, never any part of the base LP fee. The share is frozen when the pool is created; the owner can change it only for future pools, up to a hard ceiling of 50%.
- Exact-output sells: the protocol takes nothing on those swaps. The surcharge stays with liquidity.
- A pool carrying any input cut (surge, guard, burn, LP reward, or pot) does not support partial fills on exact-input buys. A base-fee-only pool does.
- Protocol slices accrue per quote currency inside the native block, to its protocolRecipient: the treasury forwarder, read on chain. They stay claimable until anyone calls collect(quote) on the forwarder, which pulls that quote's accrual and forwards it as-is, in the same currency, to the treasury. This release ships no burner: no slice is converted, swapped or bought back on chain.
Rules per lane
OK is allowed and sensible. Warn is allowed by the contracts with a warning the surface must show. Block is rejected on chain, with the revert named.
| Rule | New-token lane (founding position) | Existing-asset lane (initialization only) |
|---|---|---|
| Protocol share (inside each add-on) | OKDefault 20% of each add-on the pool opts into, frozen per pool when it is created; none of the base LP fee | OKSame. A base-fee-only pool earns the protocol nothing |
| Base LP fee | OKFixed launchpad standard | OKCreator picks a tier, base + surge headroom ≤ 50% |
| Surge | OKSensitivity 1–10 | OKSensitivity 1–10 |
| Guard (snipe tax, max buy, LP lock) | OKUp to 100,000 blocks | BlockGuardRequiresLockedFoundingPosition |
| Dev buy (creator's first buy) | OKAny quote; at most 5% of supply net of burn; pays the snipe tax and respects the max buy | BlockNo founding position to buy against |
| Auto-burn (subject output) | OKBurns the subject the buyer receives | WarnWarn when the subject is a stock token, a stablecoin, or a token you do not control |
| LP Rewards (quote donation) | OKDonated in the quote currency | OKDonated in the quote currency |
| Nth-buy pot (quote) | OKFloor 0.001 ETH, or 10^(decimals−3) of an ERC-20 quote | OKSame floors; the pot leg needs the Hookr router |
| Royalty (share of cuts) | OKUp to 10% of the cuts | OKUp to 10% of the cuts |
Asset semantics per side
Every rule runs on every quote currency: the V2 root keys its cut ledger by quote, so the HOOKR, USDG, stock-token and other-ERC-20 columns carry the same rules as the ETH column. What differs from cell to cell is the guidance the pair earns.
| Subject \ Quote | ETH | HOOKR | USDG | RWA stock | Other ERC-20 |
|---|---|---|---|---|---|
| New Hookr token | OKAll rules | OKAll rules (new in V2) | OKAll rules | WarnAll rules; Pause registry | OKAll rules |
| Existing memecoin / ERC-20 | WarnAll rules except the guard; Burn warns: uncontrolled token | WarnAll rules except the guard; Burn warns: uncontrolled token | WarnAll rules except the guard; Burn warns: uncontrolled token | WarnAll rules except the guard; Burn warns: uncontrolled token; Pause registry | WarnAll rules except the guard; Burn warns: uncontrolled token |
| HOOKR | OKAll rules except the guard; burn is HOOKR deflation | BlockSubject = quote | OKAll rules except the guard | WarnAll rules except the guard; Pause registry | OKAll rules except the guard |
| RWA stock | WarnAll rules except the guard; Burn warns: destroys shares; Pause registry | WarnAll rules except the guard; Burn warns: destroys shares; Pause registry | WarnAll rules except the guard; Burn warns: destroys shares; Pause registry | WarnAll rules except the guard; Burn warns: destroys shares; Pause registry | WarnAll rules except the guard; Burn warns: destroys shares; Pause registry |
| USDG / stablecoin | WarnAll rules except the guard; Burn warns: destroys dollars | WarnAll rules except the guard; Burn warns: destroys dollars | BlockSubject = quote | WarnAll rules except the guard; Burn warns: destroys dollars; Pause registry | WarnAll rules except the guard; Burn warns: destroys dollars |
- Cuts are limited to 10% of buy size in total.
- The quote is the currency of every cut except the burn, which takes subject output.
- UniversalRouter swaps skip the pot leg on every pool.
- Nothing is withheld at collect time: the snipe tax splits at the pool's frozen protocol share while the guard is up, and every founding-position collection routes 100% to lpFeeRecipient on both sides.
- The protocol takes its frozen share of each add-on the pool opted into (default 20%) and nothing at all of the base LP fee.
Recommended settings
The recommendation each option carries in the launch wizard and on the Create pool panel, grouped the way the wiring guide states them. Every option stays yours to set; these are the settings the product suggests beside it.
- Existing pairs: the 0.30% tier with surge on, and no burn when the subject is a stock token or a stablecoin.
- New tokens: guard on with a 25% to 45% snipe tax and a per-block max buy, burn 2% to 3%, LP reward 1% to 2%, royalty 5% to 10% of the cuts, dev buy at or under 5% of supply.
- Stock or stable pairs: base fee plus surge only.
- Protocol share (inside each add-on) · Not a choice: the default is 20% of each add-on the pool opts into, never any of the base LP fee; your pool freezes the share shown in the Protocol share row when it is created.
- Base LP fee · Existing pairs: the 0.30% tier, 100% of it to LPs. New tokens open at the launchpad standard.
- Surge · On, for every pair. A stock or stable pair carries the base fee plus surge and nothing else.
- Guard (snipe tax, max buy, LP lock) · New tokens: on, with a 25% to 45% snipe tax and a per-block max buy.
- Dev buy (creator's first buy) · At or under 5% of supply, which is also the ceiling.
- Auto-burn (subject output) · New tokens: 2% to 3%. Never on a stock token or a stablecoin subject.
- LP Rewards (quote donation) · New tokens: 1% to 2%.
- Nth-buy pot (quote) · No standing recommendation. Only swaps through the Hookr router pay into it.
- Royalty (share of cuts) · New tokens: 5% to 10% of the cuts.
Dev buy
- Available on every quote — ETH, HOOKR, USDG, a tokenized stock, any ERC-20 — on the new-token lane only.
- The Price step carries the dev buy as an explicit field. Its default is the largest quote amount that delivers at most 99.5% of the 5% cap —
maxInitialBuySubject, 50,000,000 tokens of the 1,000,000,000 supply — computed from the opening price and the founding band through the cuts, the base fee and the snipe tax. Type any smaller amount, or zero for no dev buy. - The review shows the expected delivery in tokens beside the cap, and the exact quote amount the launch transaction carries. A delivery above the cap reverts the whole launch (
InitialBuyAboveCap), so the review refuses it before a wallet opens. - An ERC-20 quote adds one step before the launch: approve the Hookr router for the quote amount. The router pulls the tokens inside the launch transaction, so a missing allowance reverts the whole launch, not just the buy.
- The dev buy is an ordinary guarded buy: it pays the snipe tax and it respects the per-block max buy. Under the V2 fee model 80% of that snipe tax returns to you through the founding position.
- The ceiling is on what you receive, net of any burn rule — 5% of the fixed 1,000,000,000 supply. It binds only this same-transaction buy; later buys from any wallet are ordinary guarded buys.
- Recommendation: At or under 5% of supply, which is also the ceiling.
- Existing-asset pools have no founding position, no guard, and no dev buy. The opener picks the base-fee tier, and the protocol earns only from add-ons they enable.
Warning catalogue
Every warning and note the guidance layer can raise, with the exact copy a creator sees. Warnings marked with a confirmation ship off by default and cannot be enabled without an explicit acknowledgement.
This would destroy tokenized shares on every buy. Not recommended.
The burn transfers subject output to the dead address on every buy. If the token blocks that transfer (pausable, blocklist, transfer hooks), every buy will revert and the pool fails closed. Verify before enabling.
Shared pause registry: a pause of this stock token halts this pool. Corporate actions change the displayed multiplier, not the pool math.
Payouts are denominated in shares.
Only swaps through the Hookr router/quoter pay into and out of the pot; UniversalRouter swaps skip the pot leg.
This would destroy dollars on every buy. Not recommended.
80% of the snipe tax comes back to you, the creator: it lands as LP fee on your founding position, the only liquidity while the guard is up, and collectLpFees pays it to your lpFeeRecipient. 20% goes to the protocol. Base fees earned during the window take the same path, and nothing is withheld at collect time — so a creator who buys their own launch pays the tax and gets the founding position's side of it straight back.