UniHooks

CornersHookStaticFee

BaseRegistered

A Corners protocol hook that manages Uniswap v4 pools with two configurable static LP fees (one for buying the "corners" token, one for selling it), collects a 20% protocol cut of each swap fee, and runs an optional MEV-protection module during the first 2 minutes after pool creation.

0xd2f43d17307e31a706f83055ebc82a0738bda8cc First pool 22 Nov 2025View on explorer
ALooks safeRegistered, verified, immutable
Pools
39
Dynamic-fee pools
39
Last new pool
11mo
Code size
12,571 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).
✓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: CornersHookStaticFee).
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

39 total
PairCreatedFeePool ID
0x711f…efe8 / SAND 11mo dynamic 0xeec9…0206 Tx ↗
0x7b5a…760f / SAND 11mo dynamic 0x3648…b09c Tx ↗
SAND / 0xb478…7a17 11mo dynamic 0xd6e8…57b7 Tx ↗
0x964c…f666 / SAND 11mo dynamic 0xf2fb…d88f Tx ↗
SAND / 0xb690…1282 11mo dynamic 0x1de4…161f Tx ↗
0x3d50…cef0 / SAND 11mo dynamic 0xbb5d…eb67 Tx ↗
0x96bc…ae16 / SAND 11mo dynamic 0xfef9…f1a1 Tx ↗
SAND / 0xb58c…13e5 11mo dynamic 0x557d…3340 Tx ↗
0x5009…9aab / SAND 11mo dynamic 0xa5ca…cba6 Tx ↗
SAND / 0xc23c…4ece 11mo dynamic 0x56ee…ae81 Tx ↗
0x2eb3…6187 / SAND 11mo dynamic 0x3d7d…4667 Tx ↗
0x3c8b…5ce4 / SAND 11mo dynamic 0x2e94…dc11 Tx ↗
SAND / 0xe939…e7a9 11mo dynamic 0xcebd…f73b Tx ↗
SAND / 0xf94d…a99a 11mo dynamic 0x19a3…1236 Tx ↗
0x59e8…1fdc / SAND 11mo dynamic 0xac1e…a5a3 Tx ↗
SAND / 0xbcc7…aebf 11mo dynamic 0x6ad0…fc1c Tx ↗
SAND / 0xaffd…044e 11mo dynamic 0x4dd4…8fd9 Tx ↗
0x633d…6e29 / SAND 11mo dynamic 0x79c6…7aae Tx ↗
0x9e5d…6c35 / SAND 11mo dynamic 0xfe8e…3933 Tx ↗
SAND / 0xe0ce…6b26 11mo dynamic 0x3d6e…6eef Tx ↗
0x794c…6395 / SAND 11mo dynamic 0x70b4…c09c Tx ↗
0x3eda…2189 / SAND 11mo dynamic 0x0fbf…61de Tx ↗
0x21f4…97c0 / SAND 11mo dynamic 0x2c84…1fb9 Tx ↗
SAND / 0xc1b3…fd4c 11mo dynamic 0xbaad…1c67 Tx ↗
0x1cee…a91a / SAND 11mo dynamic 0xa6b2…74e9 Tx ↗
0x9a29…eb06 / SAND 11mo dynamic 0x24b7…0f4d Tx ↗
0x157a…081c / SAND 11mo dynamic 0xd5e6…8765 Tx ↗
SAND / 0xde03…c2a4 11mo dynamic 0x1c25…77c0 Tx ↗
0x909e…c490 / SAND 11mo dynamic 0x3c2e…c7d3 Tx ↗
0x2d55…8182 / SAND 11mo dynamic 0xf35a…a68b Tx ↗
SAND / 0xcf0a…146e 11mo dynamic 0xa88a…4cc9 Tx ↗
0x6b78…3bda / SAND 11mo dynamic 0xcc7e…5c46 Tx ↗
0x50d2…079e / SAND 11mo dynamic 0x617c…32b4 Tx ↗
SAND / 0xce6b…75ea 11mo dynamic 0x381b…7036 Tx ↗
WETH / 0xe48c…488f 11mo dynamic 0x9050…b4a5 Tx ↗
WETH / 0x65d2…eb58 11mo dynamic 0xb9a9…6816 Tx ↗
WETH / 0xb9f7…a18a 11mo dynamic 0x5b78…0ad0 Tx ↗
WETH / 0x5d78…08a5 11mo dynamic 0x43cd…62d8 Tx ↗
WETH / 0xb236…0dd9 11mo dynamic 0xa268…b869 Tx ↗