Hooklist and routing
Read the hooklist entry for the root hook, the exact flag spellings, and how Uniswap routing allowlisting works.
On this page
Two separate things, often confused. A hooklist entry is a public description of a hook. Routing allowlisting is what lets Uniswap's own routing quote and trade through it. A hooklist entry allowlists nothing.
The Hooklist Entry
The entry describes HookrRoot, on chain 4663. Its address renders below, from the release book the app ships.
Hookr’s contracts
The table lists Hookr’s 35 core contracts, rendered from the hookr-1 release book the app ships, source commit 412960b37a631ce145d49fb4a1887f04a4d1fa74, in deployment order.
Each one’s source is verified on RobinScan, on Sourcify as an exact match and on Blockscout as a full match. The arb recapture table below repeats HookrLane and adds What The Hook’s executor and the whole-pot King of the Pool contracts, and the Wallet Cap table adds Wallet Cap’s core and its module. None of the contracts they add is in the release book.
Arb recapture
The registry opened the lane on HookrRoot on 2026-10-07. The executor is What The Hook’s contract, not Hookr’s. King of the Pool is live on ETH/HOOKR (0xd7cc047d…bc99), on the whole-pot Rules: each arb profit splits What The Hook 25% · Hookr 25% · Pot 50%, with nothing to traders or LPs, and the round’s winner takes the whole pot.
| Contract | Address |
|---|---|
| HookrLane, the arb recapture lane on HookrRoot | 0x9A8a1006469BA196f8FEfc017a53505C83A060BB |
| What The Hook's arb recapture executor, 25% of each arb recapture's profit | 0x4B4c16681401454140a9dBca55e5c186BBE8D728 |
| HookrRules, King of the Pool whole-pot Rules | 0x10f684361b35c8411a2c07f68a6fb1f4b7e555f7 |
| HookrRecapture, the whole-pot Rules' module | 0x60efc4a41498e9433be2155b6cc1677aec31d649 |
Wallet Cap
Wallet Cap runs on a core of its own: the whole-pot core with a cap on each wallet’s buys while a pool’s launch guard lasts. Hookr’s hook admits it, and a Wallet Cap pool’s claims are made on it.
| Contract | Address |
|---|---|
| HookrRulesWalletCap, Wallet Cap's core | 0xb67b73e28c522a3aac438be970bf94976deee52a |
| HookrRecapture, the module of Wallet Cap's core | 0xbbc43dc2f01f5e7882cacd78ef094a44ef0e4d23 |
| Property | Value | Why |
|---|---|---|
dynamicFee | true | the root returns the effective LP fee from beforeSwap, from the base fee and the Hookr dynamic fees the pool froze at launch |
upgradeable | false | there is no proxy and no upgrade path; a pool's Hook Blocks, advisory and caps are frozen at launch |
requires | false | a swap with empty hookData from any caller, the Universal Router included, runs every Hook Block the pool carries |
vanillaSwap | false | the root returns deltas in both swap phases |
The flag set is the address's low fourteen bits, 0x2acc: beforeInitialize, beforeAddLiquidity, beforeRemoveLiquidity, beforeSwap, afterSwap, beforeSwapReturnsDelta, afterSwapReturnsDelta. Donating is not hooked.
Two Spellings
Hooks.Permissions in v4-core spells the delta flags beforeSwapReturnDelta and afterSwapReturnDelta. Uniswap's hooklist schema spells them beforeSwapReturnsDelta and afterSwapReturnsDelta. A hooklist entry uses the hooklist spelling; Solidity uses the struct spelling.
Routing Allowlisting
A hook that uses beforeSwapReturnsDelta, afterSwapReturnsDelta or a dynamic fee has to be reviewed by Uniswap Labs before their routing will trade through it. The review is for routing compatibility, not a security endorsement.
Allowlisting is per hook address. Pools on HookrRoot trade through the Universal Router and through HookrRouter either way, because the root accepts any caller.
Hookr's own tooling routes through one pinned Universal Router, 0x8876789976dEcBfCbBbe364623C63652db8C0904; Contracts and addresses records its runtime code hash.
Outside Hooks
Hookr files a hooklist entry and a routing request for its own hooks. For an outside hook it files them only under an Integrated listing, one of the Listing Tiers. Any other outside hook is indexed or listed on hookr.fun, and its owner keeps the Uniswap filings.
A listing on Hookr is not a hooklist entry and not a routing guarantee. A hook that returns swap deltas or sets a dynamic fee still needs Uniswap's review before their routing trades through it, however it is listed here.
What a Reviewer Can Check
| Claim | Where |
|---|---|
Routable by the Universal Router with empty hookData | Swapping and quoting |
HookrQuoter answers in V4Quoter's shape | Swapping and quoting |
| A pool with arb recapture needs the lane's gas floor | Routing a pool that triggers an arb recapture |
| Every contract in the release, verified | Contracts and addresses |