UniHooks

FactoryHook

RobinhoodRegistered

A factory hook for bonding-curve token pools that gates swaps on pool graduation (`isLPd()`), computes dynamic LP fees based on volatility via a configurable fee chain, and splits fees between LPs and a protocol treasury, with optional observer notifications after each swap.

0xee588bcf2bd3e658f5160489f4199d1851bbf0cc First pool 28 Aug 2026View on explorer
ALooks safeRegistered, verified, immutable
Pools
77
Dynamic-fee pools
77
Last new pool
5d
Code size
19,852 B

What it can do

Runs code on every swap

Its code executes inside each trade in pools that use it.

Can take tokens from swaps

It can take or add tokens during a swap. Fees, burns and custom curves work this way, and so do scams.

Sets its own swap fee

Pools using it let the hook choose the swap fee instead of a fixed tier.

Runs at pool creation

It runs when a pool is created, often to lock in that pool’s settings.

Safety report

Automated checks, not an audit
✓Not upgradeableNo proxy pattern found: the code is fixed.
✓No owner foundNo owner() function: nobody has an admin switch (as far as the standard check goes).
✓Listed in Uniswap’s hook registryRegistered with Uniswap Labs (a listing, not a security review).
✓Source code publishedThe code on the block explorer matches what's deployed (contract: FactoryHook).
iCan change swap amountsIt has a ReturnDelta permission. Normal for fees and burns, but also how fake-quote hooks steal.
iRestricted swapsSwap access: governance. Not everyone can trade every pool.
?No audit linkedAutomated checks only.

Pools using this hook

77 total, newest 50 shown
PairCreatedFeePool ID
ETH / CONAI 5d dynamic 0x1f44…3ee2 Tx ↗
ETH / NOSAFU 6d dynamic 0x3718…322e Tx ↗
ETH / WIF 7d dynamic 0x3777…06ee Tx ↗
ETH / Wolves 7d dynamic 0xa50d…bcea Tx ↗
ETH / FINU 7d dynamic 0xac28…f73f Tx ↗
ETH / fore 7d dynamic 0x0ce1…c70b Tx ↗
ETH / Frontier 7d dynamic 0x0e32…15df Tx ↗
ETH / FOREVER 7d dynamic 0x1bf9…1bbd Tx ↗
ETH / 0x7990…b8a9 7d dynamic 0xa183…e4ef Tx ↗
ETH / 0x8331…bb61 7d dynamic 0xf943…ef83 Tx ↗
ETH / 0xe1ec…9d4a 7d dynamic 0x704b…d1c4 Tx ↗
ETH / 0x60a7…a9ba 7d dynamic 0xcc67…a8ed Tx ↗
ETH / 0x118f…d8fd 7d dynamic 0x3cde…f352 Tx ↗
ETH / 0x2a2f…e9e2 7d dynamic 0xd40c…16fa Tx ↗
ETH / 0x7f5d…90d7 7d dynamic 0xe9f7…73fa Tx ↗
ETH / 0x573a…7c6e 7d dynamic 0x9c7c…e6c2 Tx ↗
ETH / FOREVER 7d dynamic 0x5132…edb0 Tx ↗
ETH / 0x3d51…85e7 7d dynamic 0x3647…f66e Tx ↗
ETH / 0x7fea…db4e 7d dynamic 0xa34a…a7f7 Tx ↗
ETH / 0xe1f7…ea03 7d dynamic 0x81cf…871a Tx ↗
ETH / 0xc63b…17e7 7d dynamic 0x2347…596b Tx ↗
ETH / 0x0e79…2cd7 7d dynamic 0x7dd5…2ca6 Tx ↗
ETH / 0x60da…a5ce 7d dynamic 0xb755…683e Tx ↗
ETH / 0x7caf…5374 7d dynamic 0x7ee1…e274 Tx ↗
ETH / 0x3d7a…2c49 7d dynamic 0x1e79…3f63 Tx ↗
ETH / 0xc224…78a7 7d dynamic 0x27d0…6c52 Tx ↗
ETH / 0x8df2…890e 7d dynamic 0xff80…a811 Tx ↗
ETH / 0x7c72…ef4e 7d dynamic 0xb9ad…4cbd Tx ↗
ETH / 0x43bb…afd9 7d dynamic 0x0311…b7ef Tx ↗
ETH / 0x1325…6e2c 7d dynamic 0x8e1d…cb29 Tx ↗
ETH / 0xb5f6…7b75 8d dynamic 0xcfe0…323b Tx ↗
ETH / 0xea2f…b056 8d dynamic 0x4539…8043 Tx ↗
ETH / 0xc698…14a4 8d dynamic 0xbf05…4485 Tx ↗
ETH / 0x730a…a7b0 12d dynamic 0x4e2a…15af Tx ↗
ETH / 0x7b27…6e50 12d dynamic 0x3011…9ca9 Tx ↗
ETH / 0x9d80…2232 13d dynamic 0xb73b…96bd Tx ↗
ETH / 0x2d53…08c3 19d dynamic 0xc486…2687 Tx ↗
ETH / 0x9a69…fda6 23d dynamic 0x596f…2c88 Tx ↗
ETH / 0x6c45…fced 25d dynamic 0xb951…9a2b Tx ↗
ETH / 0x6b6d…fb9b 26d dynamic 0x75cd…9353 Tx ↗
ETH / 0x57b3…7582 27d dynamic 0x9d40…6555 Tx ↗
ETH / 0x89f5…7d4f 27d dynamic 0xd058…c46f Tx ↗
ETH / 0x9c91…6175 29d dynamic 0xf685…42f6 Tx ↗
ETH / 0xe25d…a231 29d dynamic 0x6a4f…d688 Tx ↗
ETH / 0x0cf8…4871 29d dynamic 0x1165…4412 Tx ↗
ETH / 0x3bda…6127 29d dynamic 0x6898…75bc Tx ↗
ETH / 0x110b…9751 29d dynamic 0x39dc…f48c Tx ↗
ETH / 0x6da3…aab9 29d dynamic 0x288a…2d48 Tx ↗
ETH / 0xaf31…6e00 29d dynamic 0x3181…9600 Tx ↗
ETH / 0xb677…ada8 30d dynamic 0x8a1c…a7c0 Tx ↗