Dynamic fee hook on Base
Uniswap v4 Hook Contract 0xf4ea85c0fb40d361d0646140afe18c0378ad28c0 on Base · Dynamic fee
- Volume (24h)
- $0
- Value locked (TVL)
- $2.43
- All-time volume
- $0
- Pools using this hook
- 1
- Swaps (24h)
- 19 (4 traders)
- Total swaps
- 19
What it does
This hook appears to apply a custom tax-style fee on swaps through an upgradeable implementation, but the exact rate and which trades pay more or less could not be confirmed without source.
How it works step by step
- Hook is proxied; the implementation at 0xc6858742618e7db09b2d7cc22d997e3e601a57db is what runs and exposes ten dispatched functions, none with a recognised name.
- Uses beforeInitialize and beforeAddLiquidity to gate pool creation and liquidity additions, then beforeSwap and afterSwap around each trade.
- Calls external sqrtPriceX96 on a pool, and can revert with UnknownAsset or UnknownPool, indicating it reads pool state and checks registered assets.
- Reads a nested address array and an address-to-uint256 mapping from storage, suggesting a whitelist or per-address accounting.
- Exposes a ReferredDeposit event, indicating a referral attribution path for deposits.
- Heuristic tags flag tax-style fee logic, so swap pricing likely includes a custom fee or levy applied in beforeSwap or afterSwap.
- Swap behaviour
- beforeSwap and afterSwap are enabled; the exact fee or levy applied per trade could not be determined from decoded bytecode without names or source, so which trades pay more or less is unknown.
- Liquidity behaviour
- beforeAddLiquidity is enabled and may restrict or check liquidity additions; no removal callbacks are enabled.
- Fee behaviour
- Likely a custom tax-style fee set by the hook, based on the tax heuristic tag and beforeSwap/afterSwap permissions; exact computation could not be confirmed.
- Owner & admin controls
- Upgradeable proxy implies an admin or owner can replace the implementation; specific owner-only functions could not be identified from selectors alone.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeAddLiquidity, beforeSwap, afterSwap
beforeInitialize gates pool creation; beforeAddLiquidity checks or restricts liquidity additions; beforeSwap applies pre-trade logic and fee handling; afterSwap runs post-trade accounting.
Security & trust assessment
Risk level: high, estimated (decoded bytecode, low confidence).
Who controls it: A privileged upgrade key could change fee rates, redirect logic or gate trades entirely, since the implementation is replaceable.
Risk to user funds: Hooks with swap and liquidity callbacks can alter pricing and potentially block operations; whether the hook takes tokens via return deltas could not be determined from bytecode.
Security findings
- [high] Upgradeable proxy: Every call delegates to implementation 0xc6858742618e7db09b2d7cc22d997e3e601a57db, which can likely be replaced by an admin, changing hook logic and fee behaviour at any time.
- [medium] Possible swap tax: Tax heuristic and beforeSwap/afterSwap permissions suggest the hook may take a fee or levy on trades, with rate controlled by the implementation.
- [medium] Unverified source: No verified source is available, so exact fee rates, admin powers and any pause or blocking logic cannot be confirmed from the bytecode.
- [low] Whitelist-style gating: Storage mapping and nested address array plus UnknownAsset and UnknownPool errors suggest access restrictions on which pools or assets can interact with the hook.
Contract details
- Verified source
- No
- Bytecode size
- 22,139 bytes
- Upgradeable proxy
- Yes
- Detected patterns
- tax, upgradeable
Pools using Dynamic fee hook
- TEST66 / NVDAc (0.60% fee) — 24h volume $0, TVL $2.43, 19 swaps today