{"version":"1","chainId":4663,"updatedAt":"2026-10-25T20:34:43.523Z","root":{"address":"0xb3cA29cF721380CEe8b8e4755F3865Ebc68Fe8cC","name":"HookrModularHookV6","release":"V2","explorer":"https://robin.etherscan.io/address/0xb3cA29cF721380CEe8b8e4755F3865Ebc68Fe8cC","sources":"https://github.com/Hookr-fun/hookr-contracts"},"profiles":[{"id":"default","label":"Hookr","rootHook":"0xb3cA29cF721380CEe8b8e4755F3865Ebc68Fe8cC","kernelId":"0x1be0c118b1c6520d97de31ee9f0c33069f0e715ffcdcb16c87a343752bb5be14","status":"sealed","summary":"The five native rules: dynamic fees, snipe guard, auto burn, LP reward, Nth-buy pot."},{"id":"recapture","label":"Arb recapture","rootHook":"0xb914f955294799de4b891bd2EA8AF628Fa1c68CC","kernelId":"0xd8b6c165b82efc3b7498081f071ea4f2476e2fb9c61b2e614aba2a016f94555a","status":"sealed","summary":"The same five rules, plus a partner executor (WTH) that trades the pool's price gap against its other venues on every swap and shares the profit with the creator, the trader, the pool's LPs and Hookr."},{"id":"recaptureV4","label":"Arb recapture (v4)","rootHook":"0xE5429dB8f63912E632E86733905667AaEb6ea8cC","kernelId":"0x3891d8f8737b180aca6a06d1bea169f4db3dfbfb5d41d64edce62f1556c67bff","status":"retired","summary":"Recaptures before and after every swap. It cannot refuse the arbitrage bot that closes its leg inside a v3 callback, which is what the current root adds."},{"id":"recaptureV3","label":"Arb recapture (v3)","rootHook":"0xa99902a2922014bBe2Bf2dCF15742ac5104828Cc","kernelId":"0x23f5f5e924788e61e69ea32b267442f73167384ca2f02ed8cc6b1c8806896c31","status":"retired","summary":"The first always-on recapture root. Its pools keep recapturing after every swap; only the pre-swap phase is missing."},{"id":"recaptureLegacy","label":"Arb recapture (retired)","rootHook":"0xc7c516CD5546bCB2592Fe3f8aa91C2A4bA3768CC","kernelId":"0x0b0491a68fdc7a094883a724ee31325d27fe2f10ddcf78bbca23e56345941d30","status":"retired","summary":"The first arbitrage-recapture root. Its pools still trade and still run the five native rules; only the arb recapture lane is dead."}],"contracts":{"coordinator":"0x53A192A3fCeE94Da77916B461E0cCa2Dd6402442","router":"0xf0E528c39f33F565876cbaa7e0DFaCa38Df966E9","quoter":"0x5Ba8FBbB4aB20Ff6Daf0ecDEBe3784f869BcB1B5","nativeBlock":"0xD700492b504ba5A72D7de28dDe11Cd7985a7F1ae","registry":"0x5b7f1A117A83aaac15B0698Aa4eB9D53fE5f5BA3","catalog":"0x6a3561d5B6305E2229F30EDF66702e8Bc4fA19D1","factory":"0xBc54e888C1A5B71744B035DfeC5611B4DC69ccDe"},"feeModel":{"baseFee":{"tiers":[{"id":"tier005","pips":500,"label":"0.05%","blurb":"Pegged pairs that barely move","recommended":false},{"id":"tier030","pips":3000,"label":"0.30%","blurb":"Recommended for existing pairs","recommended":true},{"id":"tier100","pips":10000,"label":"1.00%","blurb":"Thin or volatile pairs","recommended":false}],"minPips":100,"maxPips":500000,"allToLiquidity":true},"protocolShareBps":2000,"protocolShareCeilingBps":5000,"totalFeeCeilingPips":500000,"protocolFeeUse":"The protocol's share buys back HOOKR and burns it."},"rules":[{"key":"snipe","name":"Anti-Snipe","summary":"Caps early buys and adds an LP fee in the first blocks","explanation":"It caps total ETH bought per pool block and adds an extra LP fee during a fixed opening window.","params":[{"key":"guard","label":"Guard window","min":5,"max":500,"step":5,"default":100,"unit":"BLK"},{"key":"maxbuy","label":"Max buy","min":0.1,"max":5,"step":0.1,"default":0.5,"unit":"%"},{"key":"tax","label":"Snipe tax","min":0,"max":45,"step":5,"default":40,"unit":"%"}]},{"key":"fee","name":"Dynamic fees","summary":"Fee scales with how far a swap moves the price","explanation":"It raises the LP fee from a base rate toward a ceiling as trade size grows relative to in-range depth.","params":[{"key":"base","label":"Base fee","min":0.05,"max":1,"step":0.05,"default":0.3,"unit":"%"},{"key":"max","label":"Max fee","min":1,"max":10,"step":0.5,"default":3,"unit":"%"},{"key":"sens","label":"Size sensitivity","min":1,"max":10,"step":1,"default":5,"unit":"X"}]},{"key":"burn","name":"Auto Burn","summary":"Burns a share of actual buy output","explanation":"It sends a chosen share of each exact-input buy's token output directly to the dead address.","params":[{"key":"cut","label":"Output burn","min":0.1,"max":5,"step":0.1,"default":1,"unit":"% OUT"}]},{"key":"lp","name":"LP Rewards","summary":"Fee share streams to LPs","explanation":"It donates an ETH-side share of each exact-input buy to liquidity positions that are in range.","params":[{"key":"share","label":"LP fee share","min":0.05,"max":1,"step":0.05,"default":0.25,"unit":"%"}]},{"key":"pot","name":"Nth-buy Pot","summary":"A public counter pays every Nth buy","explanation":"It fills a deterministic pot from exact-input buys and pays it to the recipient of every Nth qualifying buy.","params":[{"key":"cut","label":"Pot share","min":0.1,"max":2,"step":0.1,"default":0.5,"unit":"% SWAP"},{"key":"every","label":"Pays every N buys","min":100,"max":5000,"step":100,"default":500,"unit":"EVERY"},{"key":"minbuy","label":"Min qualifying buy","min":0.001,"max":1,"step":0.001,"default":0.01,"unit":"ETH"}]}],"composition":{"maxRules":8,"rulesAvailableToday":5,"onePerRule":true,"notes":"A stack composes zero or more of these rules, each at most once, on top of the base fee. An empty stack with the base fee alone is a valid, base-fee-only pool. The rule set is not fixed: new modules and root profiles seal over time, up to the contract's 8-module ceiling per pool."},"launch":{"builder":"https://hookr.fun/builder","launch":"https://hookr.fun/launch","liquidity":"https://hookr.fun/liquidity","remixFormat":"A configuration is one URL-safe string, `?stack=` on the builder: `type:value,value,...` segments, one per active rule with its parameter values in that rule's own order, joined by `|`, plus an optional trailing `base:<percent>` segment carrying the pool's base fee when it differs from the launchpad default. A stack with no rule segments and only a `base:` segment is a base-fee-only pool.","examples":[{"name":"Base fee only","blocks":[],"baseFeePercent":1,"url":"https://hookr.fun/builder?stack=base%3A1"},{"name":"Dynamic fees plus snipe guard","blocks":[{"type":"snipe","params":{"guard":100,"maxbuy":0.5,"tax":40}},{"type":"fee","params":{"base":0.3,"max":3,"sens":5}}],"baseFeePercent":0.3,"url":"https://hookr.fun/builder?stack=snipe%3A100%2C0.5%2C40%7Cfee%3A0.3%2C3%2C5"},{"name":"Every current rule at defaults","blocks":[{"type":"snipe","params":{"guard":100,"maxbuy":0.5,"tax":40}},{"type":"fee","params":{"base":0.3,"max":3,"sens":5}},{"type":"burn","params":{"cut":1}},{"type":"lp","params":{"share":0.25}},{"type":"pot","params":{"cut":0.5,"every":500,"minbuy":0.01}}],"baseFeePercent":0.3,"url":"https://hookr.fun/builder?stack=snipe%3A100%2C0.5%2C40%7Cfee%3A0.3%2C3%2C5%7Cburn%3A1%7Clp%3A0.25%7Cpot%3A0.5%2C500%2C0.01"}]},"docs":{"catalog":"https://hookr.fun/docs/previous-releases#fee-model","agents":"https://hookr.fun/agents/SKILL.md"}}