UniHooks

ShieldPadRouter

ArbitrumRegistered

A modular Uniswap v4 hook that delegates swap lifecycle callbacks to pluggable security modules via delegatecall. Returns a dynamic LP fee override aggregated from enabled modules, and collects a configurable protocol fee on each swap using afterSwapReturnsDelta.

0xec24a303988d0467c3fafd15b151c8916ea1e0c4 First pool 12 Apr 2026View on explorer
CBe carefulRegistry marks it upgradeable
Pools
1
Dynamic-fee pools
1
Last new pool
6mo
Code size
17,888 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.
!Has an adminowner() is 0x0f09…0cde. That account can usually change fees, limits or allowlists after you trade.
!Registry marks it upgradeableUniswap’s registry lists this hook as upgradeable.
✓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: ShieldPadRouter).
iCan change swap amountsIt has a ReturnDelta permission. Normal for fees and burns, but also how fake-quote hooks steal.
iRestricted swapsSwap access: other. Not everyone can trade every pool.
?No audit linkedAutomated checks only.

Pools using this hook

1 total
PairCreatedFeePool ID
WETH / USDC 6mo dynamic 0x10bb…9d81 Tx ↗