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