Fee sharing hook on Base
Uniswap v4 Hook Contract 0xb69ec3f073ac2eb8d81fa0585523ca026124c0cc on Base · Fee sharing
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $8.44M
- Pools using this hook
- 1
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 19,070
What it does
A Uniswap v4 hook that intercepts swaps before and after execution and appears to take a share of swap amounts, likely routing that value to a configured address.
How it works step by step
- Runs custom logic before each swap executes via beforeSwap
- Runs custom logic after each swap completes via afterSwap
- Adjusts swap settlement amounts through beforeSwapReturnDelta and afterSwapReturnDelta
- Can transfer ERC-20 tokens it holds using transfer(address,uint256)
- Reads token balances via balanceOf(address)
- Stores a configurable address that is read by the 0x6a3b3644 function
- Swap behaviour
- Runs logic in beforeSwap and afterSwap and adjusts swap settlement through return deltas, which likely skims a portion of swap amounts.
- Liquidity behaviour
- No liquidity callbacks.
- Fee behaviour
- Uses the pool's static fee; the hook has beforeSwapReturnDelta and afterSwapReturnDelta permissions and may take a share of swap amounts via return deltas, but the exact fee calculation cannot be determined from the decoded bytecode.
- Owner & admin controls
- Function 0x6a3b3644 takes an address argument and is nonpayable, and the inferred storage layout shows an address slot that is read by that selector, which suggests a configurable address such as an owner or designated recipient; the exact authorization logic cannot be confirmed without source, and no owner-setter path is clearly identified.
Enabled Uniswap v4 callbacks
beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeSwap and afterSwap are enabled to run logic around each swap; beforeSwapReturnDelta and afterSwapReturnDelta are enabled so the hook can alter the amounts settled in a swap, likely to take a cut of the swap.
Security & trust assessment
Risk level: medium (decoded bytecode, low confidence).
Who controls it: Cannot be fully determined; a privileged address controlled through the 0x6a3b3644 setter could potentially redirect value taken through the return-delta mechanism.
Risk to user funds: The hook can take a portion of swap amounts through return deltas and can transfer tokens it holds, so user swap proceeds may be partially diverted to the hook or its configured recipient.
Security findings
- [medium] Return-delta fund extraction: The hook enables beforeSwapReturnDelta and afterSwapReturnDelta, which lets it adjust the amounts a swapper pays or receives, so it can extract value from swaps.
- [medium] Hook holds and transfers tokens: The bytecode contains transfer(address,uint256) and balanceOf(address) selectors, indicating the hook can move ERC-20 tokens it holds and read token balances.
- [medium] Configurable address may redirect funds: A nonpayable function takes an address argument and an address storage slot is read by it, suggesting a configurable recipient or admin that could change where taken value is sent.
- [info] Unverified source: Source is unverified, so the authorization checks on the address-setting function and the exact fee logic cannot be confirmed.
Contract details
- Verified source
- No
- Bytecode size
- 981 bytes
- Upgradeable proxy
- No
- Detected patterns
- return-delta
Pools using Fee sharing hook
- ETH / IDLE (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today