Fee sharing hook on BNB Chain

Uniswap v4 Hook Contract 0x85b9fc3d3a33a59ed15fb6771056bdc396ecc044 on BNB Chain · Fee sharing

Volume (24h)
$0
Value locked (TVL)
<$0.01
All-time volume
$11.15M
Pools using this hook
4
Swaps (24h)
0 (0 traders)
Total swaps
17,445

What it does

A Uniswap v4 hook that charges a tiered fee on swaps via afterSwap and forwards it to a configurable recipient address.

How it works step by step

  • Runs afterSwap to compute a fee on each swap
  • Takes the fee from swap output using a return delta
  • Selects the fee from tier one, two or three based on stored configuration
  • Forwards collected fees to a recipient address set by the owner
  • Exposes owner-only setters for fee configuration and recipient
  • Includes before and after liquidity and donate callbacks that appear to be pass-through
Swap behaviour
After each swap, the hook computes a fee from its tier configuration and takes it from the output via afterSwapReturnDelta.
Liquidity behaviour
Before/after add and remove liquidity and donate callbacks are exposed but appear to be standard pass-through checks; no clear liquidity-altering logic is confirmed.
Fee behaviour
Fee configuration is stored as tiered fees (tierOne, tierTwo, tierThree) with a gas threshold and BPS/FEE denominators; the hook appears to take a fee from swap output via afterSwap return delta and forward it to a recipient address. Exact tier logic cannot be confirmed without source.
Owner & admin controls
Owner (slot 0) can call transferOwnership and setRecipient; owner can call setter 0x24d64c99 which writes fee tiers, thresholds and a uint256 parameter (slot 3) and a uint16 (slot 2). No pause or upgrade mechanism found.

Enabled Uniswap v4 callbacks

afterSwap, afterSwapReturnDelta

afterSwap: runs after each swap to compute and collect a fee amount; afterSwapReturnDelta: lets the hook take a share of the swap's output currency as a return delta.

Security & trust assessment

Risk level: medium (decoded bytecode, low confidence).

Who controls it: The owner can change the recipient address (setRecipient) to redirect collected fees and can reconfigure fee tiers and thresholds, changing the fee taken from every swap in the pool.

Risk to user funds: The hook can take a share of swap output tokens via return delta and holds or forwards them to the recipient address; the owner can change both the fee rate and the recipient, so users trading in this pool are exposed to owner-set fees.

Security findings

  • [medium] Hook takes swap output via return delta: afterSwapReturnDelta lets the hook take a portion of swap output, so the hook contract itself can accumulate user-paid tokens.
  • [medium] Owner-controlled fee recipient: Owner can change the fee recipient address through setRecipient, redirecting all collected fees.
  • [medium] Owner-adjustable fee parameters: Owner can call an unnamed setter writing fee tiers and thresholds, so the fee charged on swaps can be changed after deployment.
  • [low] Single owner key controls the hook: Ownable pattern with transferOwnership; no timelock or multisig is evident in the bytecode.
  • [info] Unverified source: Source is unverified and function names are partly unknown, so behaviour is inferred from selectors and storage only.

Contract details

Verified source
No
Bytecode size
6,963 bytes
Upgradeable proxy
No
Detected patterns
ownable, return-delta

Pools using Fee sharing hook