UniHooks

EMADynamicFeeHook

ArbitrumRegistered

EMA-based dynamic fee hook for Uniswap V4. Calculates swap fees using Exponential Moving Average of price, with 30-step fee schedule (0.01%-3.00%) and 300-block anti-JIT protection via tx.origin. No owner, no admin functions, fully immutable.

0xe025cb6c58826ac79e2052c350250881f8f51bc0 First pool 1 Apr 2026View on explorer
ALooks safeRegistered, verified, immutable
Pools
13
Dynamic-fee pools
11
Last new pool
2mo
Code size
9,720 B

What it can do

Runs code on every swap

Its code executes inside each trade in pools that use it.

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.
✓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: EMADynamicFeeHook).
?No audit linkedAutomated checks only.

Pools using this hook

13 total
PairCreatedFeePool ID
ARB / USDC 2mo 0.007% 0xd851…4ba0 Tx ↗
ETH / DAI 2mo 0.25% 0xb3e0…234b Tx ↗
HMDB / HMDA 4mo dynamic 0x63d2…6aff Tx ↗
HMDB / HMDA 5mo dynamic 0x2275…107c Tx ↗
HMD / HMD 5mo dynamic 0x9f18…ff38 Tx ↗
0x0000…8a90 / 0x1101…dc66 5mo dynamic 0x5555…9656 Tx ↗
ETH / WBTC 6mo dynamic 0x0eba…7a90 Tx ↗
ETH / LDO 6mo dynamic 0x2517…7a7a Tx ↗
ETH / ARB 6mo dynamic 0x2883…9620 Tx ↗
ETH / ARB 6mo dynamic 0x1048…7ab2 Tx ↗
ETH / ARB 7mo dynamic 0x3905…abba Tx ↗
ETH / HYPER 7mo dynamic 0x100a…936e Tx ↗
ETH / HYPER 7mo dynamic 0x0a84…3c35 Tx ↗