UniHooks

AdaptivePoolPolicyHookV1

EthereumRegistered

A Uniswap v4 hook that enforces directional dynamic LP fees and configurable price bounds per swap direction, restricts liquidity provision to owner-approved addresses (unless public liquidity is enabled), and optionally charges an additional hook fee on the swap's unspecified amount collected via poolManager.take().

0xbd90e823ac3c20f1cea5aa07d1dc3702cd4048c4 First pool 9 Sept 2026View on explorer
ALooks safeRegistered, verified, immutable
Pools
1
Dynamic-fee pools
1
Last new pool
58d
Code size
16,262 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.

Safety report

Automated checks, not an audit
✓Not upgradeableNo proxy pattern found: the code is fixed.
!Has an adminowner() is <a href="https://etherscan.io/address/0xc3eea93b9789cb98ea977d4880fb3b9c2a7ae441" target="_blank" rel="noopener nofollow" class="mono">0xc3ee…e441</a>. That account can usually change fees, limits or allowlists after you trade.
✓Listed in Uniswap’s hook registryRegistered with Uniswap Labs (a listing, not a security review). <a href="https://github.com/Uniswap/hooklist" target="_blank" rel="noopener">Open the registry</a>
✓Source code publishedThe code on the block explorer matches what's deployed (contract: AdaptivePoolPolicyHookV1). <a href="https://etherscan.io/address/0xbd90e823ac3c20f1cea5aa07d1dc3702cd4048c4#code" target="_blank" rel="noopener">Read the code</a> · <a href="https://repo.sourcify.dev/1/0xbd90e823ac3c20f1cea5aa07d1dc3702cd4048c4" target="_blank" rel="noopener">Sourcify</a>
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

1 total
PairCreatedFeePool ID
PAXG / USDC 58d dynamic 0xdb2a…af7f Tx ↗