Dynamic fee hook on Base
Uniswap v4 Hook Contract 0xddad8d93f681e8fc802851e64d465cfd246128c0 on Base · Dynamic fee
- Volume (24h)
- $0
- Value locked (TVL)
- $2.13
- All-time volume
- $0
- Pools using this hook
- 1
- Swaps (24h)
- 9 (3 traders)
- Total swaps
- 9
What it does
This upgradeable hook charges a tax or extra fee on swaps and can gate liquidity additions, but without verified source the exact rates and which trades pay more cannot be confirmed.
How it works step by step
- Proxy hook: every call is delegated to implementation 0x241c1ba9cbd22377cb7c4ffbad721a09f83e1819, which is what actually runs.
- Enables beforeInitialize, beforeAddLiquidity, beforeSwap and afterSwap callbacks on the pool.
- Heuristic tag 'tax' suggests the swap path charges an extra fee or tax on trades.
- Dispatches roughly ten selectors including a payable deposit-style entry point that emits a ReferredDeposit event, pointing to a referral or deposit mechanism.
- Reads a nested address array and an address-to-uint256 mapping in storage, consistent with per-address tracking such as referrers or balances.
- Calls sqrtPriceX96 on an external pool and reverts with UnknownAsset or UnknownPool when inputs are unrecognised.
- Swap behaviour
- beforeSwap and afterSwap are enabled, so the hook runs on every swap; it appears to compute a tax or fee adjustment around the swap, but which trades pay more or less could not be determined from the decoded bytecode.
- Liquidity behaviour
- beforeAddLiquidity is enabled, so the hook can gate or inspect liquidity additions; no removal callback is enabled.
- Fee behaviour
- Heuristic tag 'tax' indicates a dynamic or extra fee applied in swap callbacks; exact rates and recipients could not be determined without source.
- Owner & admin controls
- Proxy is upgradeable, so the implementation can be replaced by whoever controls the proxy admin; the admin's identity and any pause or parameter functions could not be determined from the decoded selectors.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeAddLiquidity, beforeSwap, afterSwap
beforeInitialize: runs checks when the pool is created. beforeAddLiquidity: can inspect or restrict liquidity additions. beforeSwap: can compute the tax or fee before execution. afterSwap: can settle or account for the swap after execution.
Security & trust assessment
Risk level: high, estimated (decoded bytecode, low confidence).
Who controls it: The proxy admin can upgrade the implementation and therefore change fees, redirect tax or block swaps and liquidity additions.
Risk to user funds: Swap callbacks and tax logic can take value from traders, and the hook may hold or route funds for referral or deposit flows; the extent could not be verified without source.
Security findings
- [high] Upgradeable proxy: The hook delegates all calls to implementation 0x241c1ba9cbd22377cb7c4ffbad721a09f83e1819, so the logic can be swapped at any time by the proxy admin.
- [medium] Unverified source: No verified source is available, so the fee logic, storage use and admin functions can only be inferred from decoded selectors and storage layout.
- [medium] Swap tax in callbacks: Heuristic tags indicate a tax applied in beforeSwap and afterSwap, which can change trade costs for users and may be altered by an upgrade.
- [low] Liquidity gating: beforeAddLiquidity is enabled, so the hook can block or condition liquidity additions.
Contract details
- Verified source
- No
- Bytecode size
- 21,956 bytes
- Upgradeable proxy
- Yes
- Detected patterns
- tax, upgradeable
Pools using Dynamic fee hook
- TEST66 / NVDAc (0.60% fee) — 24h volume $0, TVL $2.13, 9 swaps today