UniHooks

BagsV4Hook

RobinhoodRegistered

Shared hook for all Bags pools enforcing full-range-only, permanently-locked liquidity, zero LP fee, and a 2% hook fee on the WETH leg of every swap. Fees accrue per-pool and are swept to a platform vault (50%) and a creator fee share contract (50%), with an optional partner cut carved from the protocol half.

0x2380abf72c17aabab76480244759ac7e2932eecc First pool 13 Jul 2026View on explorer
ALooks safeRegistered, verified, immutable
Pools
28
Dynamic-fee pools
28
Last new pool
58d
Code size
6,628 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.

Can block LP withdrawals

It runs before liquidity is removed, so it can delay or refuse LP exits.

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.
✓Listed in Uniswap’s hook registryRegistered with Uniswap Labs (a listing, not a security review).
✓Source code verifiedPublished source matches the deployed code.
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

28 total
PairCreatedFeePool ID
0x02f8…44a8 / 0x0bd7…ad73 58d dynamic 0x5199…1f4d Tx ↗
0x0bd7…ad73 / 0x6467…5ec4 2mo dynamic 0x3af0…e923 Tx ↗
0x0bd7…ad73 / 0xdc79…1088 2mo dynamic 0x6ae1…cbba Tx ↗
0x0bd7…ad73 / 0xbe83…8acf 2mo dynamic 0x00ce…b0d1 Tx ↗
0x0bd7…ad73 / 0x9395…7a8d 2mo dynamic 0x3c08…bfd1 Tx ↗
0x0bd7…ad73 / 0x1f24…f8af 2mo dynamic 0x08cf…d8b4 Tx ↗
0x0bd7…ad73 / 0x66c9…6c7a 2mo dynamic 0xb61a…283a Tx ↗
0x0bd7…ad73 / 0xcf12…4d33 2mo dynamic 0x5f8d…7ad6 Tx ↗
0x0bd7…ad73 / 0xc2a9…10d5 2mo dynamic 0x8b8b…22fa Tx ↗
0x0bd7…ad73 / 0xea3d…6a38 2mo dynamic 0x3f69…a2b6 Tx ↗
0x0bd7…ad73 / 0xddea…4b70 3mo dynamic 0x517b…6ccd Tx ↗
0x0bd7…ad73 / 0x68ee…28d4 3mo dynamic 0x5110…d680 Tx ↗
0x0bd7…ad73 / 0xf09b…2631 3mo dynamic 0x9d62…4953 Tx ↗
0x0bd7…ad73 / 0x3873…2675 3mo dynamic 0x94e7…eb69 Tx ↗
0x0bd7…ad73 / 0x366c…605c 3mo dynamic 0x5262…9c1a Tx ↗
0x0bd7…ad73 / 0x7195…657a 3mo dynamic 0xd4b1…f018 Tx ↗
0x0bd7…ad73 / 0x1ac4…c5c9 3mo dynamic 0x81e1…c3e6 Tx ↗
0x0bd7…ad73 / 0x238e…8a4f 3mo dynamic 0x9621…a6ef Tx ↗
0x0bd7…ad73 / 0xa264…90c5 3mo dynamic 0x1bfa…a52f Tx ↗
0x0bd7…ad73 / 0x426c…e476 3mo dynamic 0x5d2b…ae7d Tx ↗
0x0bd7…ad73 / 0xbe75…b1ae 3mo dynamic 0xf62b…7407 Tx ↗
0x0bd7…ad73 / 0x7f4e…b4b6 3mo dynamic 0x7931…d054 Tx ↗
0x0bd7…ad73 / 0xa638…1a7f 3mo dynamic 0xc1f9…cf0b Tx ↗
0x0bd7…ad73 / 0x246b…be09 3mo dynamic 0x92dd…9e4c Tx ↗
0x0bd7…ad73 / 0x6d35…c1f5 3mo dynamic 0x5741…902c Tx ↗
0x0bd7…ad73 / 0xa960…babc 3mo dynamic 0x837f…34e3 Tx ↗
0x0bd7…ad73 / 0xa83e…987a 3mo dynamic 0x0344…9abb Tx ↗
0x0bd7…ad73 / 0xc931…a8ed 3mo dynamic 0x2a65…04b7 Tx ↗