Routing a pool that triggers an arb recapture
Read what a router, an aggregator or an indexer has to change for a pool that triggers an arb recapture: gas, the route's effect on the split, and the events.
What changes for a router, an aggregator, a quoter or an indexer when the pool on the other side of a swap has arb recapture on. Three things change: the gas the swap needs, how the profit splits, and how close to execution a quote should be taken.
Which Pools These Are
Every pool on Hookr's shared hook names HookrRoot in PoolKey.hooks. The root reaches the arb recapture lane only for a pool that turned arb recapture on at launch; a pool without it never reaches the lane code. The registry holds one lane per root: the executor, its runtime code hash, the gas cap and the partner share. A pool fixes its terms when it opens, so whether it recaptures is read once from the pool and holds for its life.
The root's 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 |
The Gas Point
A swap on a pool with arb recapture on must carry the lane's gas floor plus its own gas. Read the floor as gasFloor from laneOf(id) on the root, or laneGasFloor in hookr-sdk. It is 6,802,619 at the lane's 3,000,000 gas cap. The root requires the whole floor before the first arb recapture runs, whether or not the lane finds a profit, so eth_estimateGas includes it.
A 0.001 ETH buy on ETH/HOOKR estimates at about 7.5 million now. Send the estimate plus a sixth, and never override the result downwards. A fixed limit should be at least 8.8 million. Unused gas is refunded.
How the Profit Splits
Each arb recapture profit splits three ways: the partner keeps up to the lane's share, Hookr takes its cut, and the rest is the pool's, as it froze it at launch. recaptureSplit in hookr-sdk works it out to the wei at the lane's share. On a King of the Pool pool, the pool's part feeds the pot.
What The Hook's executor runs the arb recapture, and if it cannot, the trade goes through without it.
Quoting
Quote the path you route: HookrQuoter's quoteExactInputSingle and quoteExactOutputSingle, in V4Quoter's shape, for the Universal Router, and quote(Swap, payer) for HookrRouter. quoteDetailed(Swap, payer) adds the payer's arb recapture claim. Swapping and quoting has each call.
An arb recapture moves the pool's price, so a quote can be stale by one arb recapture even within the same block. Quote close to execution and use the amount bound for slippage.
What an Indexer Sees
Read the pool's terms from the pool, never from events: its Hook Blocks and its lane are frozen at launch. Keep arb recapture profit apart from swap fees: it is paid out of the arb's profit, never out of a trade.