Hook 0xd076…c145 on Base
Uniswap v4 Hook Contract 0xd076833386f4690af9c88c04cb5ebc99ecf1c145 on Base · Other
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $5.26M
- Pools using this hook
- 1
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 25,259
What it does
A Uniswap v4 hook that takes a configurable fee on swaps and liquidity removals, with a sell tax threshold and possible whitelist gating, controlled by a privileged address.
How it works step by step
- Takes a configurable hook fee on swaps via afterSwap and afterSwapReturnDelta
- Takes a share of liquidity removal deltas via afterRemoveLiquidityReturnDelta
- Stores a hook fee (setHookFee) and a sell tax threshold (setSellTaxThreshold) that a privileged address can change
- Uses self-unlock and the unlockCallback path to move currency through the pool manager
- Calls isWhitelist, which suggests access is gated for some addresses
- Swap behaviour
- afterSwap runs after each swap and afterSwapReturnDelta is enabled, so the hook can take a share of the swap output currency; beforeSwap is only declared as a view selector.
- Liquidity behaviour
- afterAddLiquidity and afterRemoveLiquidity are present, and afterRemoveLiquidityReturnDelta is enabled, so the hook can adjust the delta on removals. beforeAddLiquidity and beforeRemoveLiquidity are only declared as view selectors and their behaviour is not clear.
- Fee behaviour
- A hook fee (uint24) is stored and settable by setHookFee, and a sell tax threshold is settable by setSellTaxThreshold. The hook takes its fee through afterSwap, and the afterSwapReturnDelta permission indicates it may take a share of the swap's output currency. Exact fee math could not be recovered from the decoded input.
- Owner & admin controls
- Storage slot 3 holds an address read by setSellTaxThreshold and setHookFee and by the 1d45c7ee and 6c2bbe7e paths, which suggests an owner or privileged role. setHookFee(uint24) sets a fee stored in slot 0; setSellTaxThreshold(uint256) sets a threshold stored in slot 1. The access check on these functions could not be confirmed from bytecode alone, so it is unclear who can call them.
Enabled Uniswap v4 callbacks
afterRemoveLiquidity, afterSwap, afterSwapReturnDelta, afterRemoveLiquidityReturnDelta
afterRemoveLiquidity: runs after liquidity removal, and the hook can adjust the balance deltas on removal. afterSwap: runs after each swap, the hook applies fee or accounting logic here. afterSwapReturnDelta: lets the hook take a share of the swap's output currency. afterRemoveLiquidityReturnDelta: lets the hook take a share of the removed liquidity's tokens.
Security & trust assessment
Risk level: high (decoded bytecode, low confidence).
Who controls it: A privileged key appears able to change the hook fee via setHookFee and the sell tax threshold via setSellTaxThreshold. Because the hook can also take a share of swap and removal deltas, changing these values changes how much of user flows the hook retains.
Risk to user funds: The hook has afterSwapReturnDelta and afterRemoveLiquidityReturnDelta enabled and calls take, mint, burn and transfer, so it can hold and move a share of user swap output and removed liquidity. It may also block users through the whitelist check.
Security findings
- [high] Hook moves currency via return deltas: The hook can take tokens through return deltas on swap and liquidity removal, and it calls take, mint, burn and transfer selectors, so it moves pool and user funds.
- [medium] Fee setter access control not confirmed: setHookFee(uint24) is nonpayable and writes to slot 0 with no visible access check in the decoded input, so unauthorised fee changes cannot be ruled out.
- [medium] Whitelist gate may restrict access: The hook calls isWhitelist(address) and has an unlockCallback path with self-unlock, which suggests gated or whitelisted behaviour that could block some users.
- [info] Unverified source: No verified source is available, so function behaviour is inferred from selectors and storage only.
Contract details
- Verified source
- No
- Bytecode size
- 11,344 bytes
- Upgradeable proxy
- No
- Detected patterns
- erc6909-claims, moves-currency, return-delta, self-unlock
Pools using Hook 0xd076…c145
- WETH / VIMAX (0.01% fee) — 24h volume $0, TVL $0, 0 swaps today