UniHooks

0xcf8f…b8cc

Robinhood

Runs code on every swap. Can take tokens from swaps. Sets its own swap fee. Gates who can add liquidity. Runs at pool creation.

0xcf8f482e998d18793414d10c9fc48fc8277ab8cc First pool 29 Aug 2026View on explorer
CBe carefulNot in Uniswap’s hook registry · Source code not published · Can take tokens out of swaps
Pools
74
Dynamic-fee pools
74
Last new pool
59d
Code size
6,793 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.

Gates who can add liquidity

It checks every deposit before it goes in.

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).
!Not in Uniswap’s hook registryUnregistered hooks get less scrutiny. Most scam hooks are unregistered.
!Source code not publishedNobody can read what this hook actually does. Treat it as a black box.
iCan change swap amountsIt has a ReturnDelta permission. Normal for fees and burns, but also how fake-quote hooks steal.
?No audit linkedAutomated checks only.

Pools using this hook

74 total, newest 50 shown
PairCreatedFeePool ID
ETH / TEST5 59d dynamic 0xb626…a0ae Tx ↗
ETH / TEST4 59d dynamic 0xf6a8…e0f6 Tx ↗
ETH / TEST3 59d dynamic 0xf460…7b93 Tx ↗
ETH / TEST 59d dynamic 0xb581…437f Tx ↗
ETH / TEST 59d dynamic 0x6111…5673 Tx ↗
ETH / BMW 59d dynamic 0xdfd3…ca3b Tx ↗
ETH / BMW 59d dynamic 0xb99d…852c Tx ↗
ETH / SPY 59d dynamic 0x555e…89ac Tx ↗
ETH / 0x2201…6f0d 59d dynamic 0xb714…4aad Tx ↗
ETH / SPY 59d dynamic 0xc988…e41f Tx ↗
ETH / 0x5c08…bfa9 2mo dynamic 0x3ff4…cfe8 Tx ↗
ETH / 0x4725…71dc 2mo dynamic 0xbd67…a4cb Tx ↗
ETH / 0x7e1f…3474 2mo dynamic 0xe4a1…cf0e Tx ↗
ETH / 0x547c…6092 2mo dynamic 0x9e7c…598e Tx ↗
ETH / 0x5c1b…f369 2mo dynamic 0x1288…e9af Tx ↗
ETH / 0xeadb…3341 2mo dynamic 0x28b6…92c9 Tx ↗
ETH / 0x4bae…2745 2mo dynamic 0x2e27…decc Tx ↗
ETH / 0x1d28…4802 2mo dynamic 0x88bb…074e Tx ↗
ETH / 0x839a…6356 2mo dynamic 0xd6a2…49cd Tx ↗
ETH / 0x823f…c181 2mo dynamic 0x43de…2bb7 Tx ↗
ETH / ORDO 2mo dynamic 0x3b84…87b3 Tx ↗
ETH / 0x8037…df29 2mo dynamic 0x72bc…9f75 Tx ↗
ETH / 0x9aa4…4131 2mo dynamic 0x8dce…5039 Tx ↗
ETH / 0x180b…2208 2mo dynamic 0x460b…7deb Tx ↗
ETH / 0x3b25…bf55 2mo dynamic 0x9bfa…6b55 Tx ↗
ETH / 0x2099…59cf 2mo dynamic 0x1386…d4bd Tx ↗
ETH / 0xa939…e678 2mo dynamic 0x4fbf…42b2 Tx ↗
ETH / 0x920b…5bb4 2mo dynamic 0xd022…0a1f Tx ↗
ETH / 0xb8f4…770c 2mo dynamic 0x56ca…748e Tx ↗
ETH / 0x7cf1…59cb 2mo dynamic 0x0e44…dc0a Tx ↗
ETH / 0xa877…2c8c 2mo dynamic 0xadaa…d613 Tx ↗
ETH / 0xd077…bf93 2mo dynamic 0x4bc8…2348 Tx ↗
ETH / 0x7a05…b328 2mo dynamic 0x784f…7d64 Tx ↗
ETH / 0x999c…92ca 2mo dynamic 0xdc80…c535 Tx ↗
ETH / 0xe723…4e2b 2mo dynamic 0xad06…00c3 Tx ↗
ETH / 0x6e01…9865 2mo dynamic 0x063a…d6fb Tx ↗
ETH / 0xc4bf…f12c 2mo dynamic 0x3a10…4180 Tx ↗
ETH / 0x9262…1cd5 2mo dynamic 0x2af6…9ee7 Tx ↗
ETH / 0xf7e4…d9d0 2mo dynamic 0x5e4a…ce7b Tx ↗
ETH / 0xa980…7846 2mo dynamic 0xb74d…8b36 Tx ↗
ETH / 0x8b86…5e8b 2mo dynamic 0x93c5…3563 Tx ↗
ETH / 0xbe8c…6779 2mo dynamic 0x5254…693a Tx ↗
ETH / 0x54f9…0f54 2mo dynamic 0xb4d0…a161 Tx ↗
ETH / 0xe108…3f68 2mo dynamic 0x8120…8b52 Tx ↗
ETH / 0x6564…60fb 2mo dynamic 0x9bd3…f9c7 Tx ↗
ETH / 0x2e7c…c893 2mo dynamic 0x69ea…2d12 Tx ↗
ETH / 0xeb94…338e 2mo dynamic 0xff64…fc79 Tx ↗
ETH / 0xa319…8a77 2mo dynamic 0x377f…fde9 Tx ↗
ETH / 0xcefb…6152 2mo dynamic 0xad65…b8f1 Tx ↗
ETH / 0xf919…e3b1 2mo dynamic 0xb16a…a86d Tx ↗