Likely fee sharing hook on BNB Chain

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

Volume (24h)
$0
Value locked (TVL)
$0.05
All-time volume
$876
Pools using this hook
3
Swaps (24h)
0 (0 traders)
Total swaps
51

What it does

A fee-sharing hook that takes a configurable cut of swap and liquidity flows, splits it between a creator and a fee recipient, and lets the owner pause or restrict trading.

How it works step by step

  • Takes a fee from swap output via afterSwapReturnDelta and routes it to a creator share and a fee recipient share
  • Applies per-address fee overrides and an exempt list that can bypass fees
  • Gates swaps with pause, whitelist-only mode and a trusted-router allowlist
  • Uses return-delta flags on add and remove liquidity to adjust balance deltas
  • Holds tokens and allows the owner to withdraw them and execute batched calls
Swap behaviour
beforeSwap checks pause state, whitelist mode, trusted routers and exemptions; afterSwap with afterSwapReturnDelta takes a fee from swap output and distributes it to the creator and fee recipient.
Liquidity behaviour
afterAddLiquidity and afterRemoveLiquidity run with return-delta flags enabled, so the hook can alter the balance deltas of liquidity operations. Whitelist-only and trusted-router checks may gate access to pool actions, but precise liquidity effects could not be confirmed from the bytecode alone.
Fee behaviour
Fees are set through a fee config (several uint24 fee tiers and uint16 bps splits) with per-address fee overrides and exemptions. The hook takes a creator share (creatorBps) and a fee recipient share, and afterSwap is combined with afterSwapReturnDelta, so the hook can take a portion of swap output as a return delta. Exact fee tier selection logic could not be fully determined without source.
Owner & admin controls
Owner (two-step ownership via transferOwnership/acceptOwnership, renounceOwnership) can pause and unpause the hook (setPaused), toggle whitelist-only mode, set the fee recipient, set creator share in bps, set per-address fee overrides, manage exempt addresses and exempt lists, manage trusted routers, set the gas threshold, set the fee config (uint24 fee tiers and uint16 bps values), withdraw tokens held by the hook (withdraw), and batch-execute arbitrary calldata (0xe4a0fad4 taking (uint256,bytes)[]). Owner is the only key with these powers.

Enabled Uniswap v4 callbacks

afterAddLiquidity, afterRemoveLiquidity, beforeSwap, afterSwap, afterSwapReturnDelta, afterAddLiquidityReturnDelta, afterRemoveLiquidityReturnDelta

beforeSwap gates or prepares swaps (including trusted-router and exemption checks). afterSwap and afterSwapReturnDelta take a fee from swap outputs and route part to the creator and fee recipient. afterAddLiquidity and afterRemoveLiquidity (with return-delta flags) can adjust liquidity deltas. Other lifecycle callbacks are dispatched but appear unused for permissions.

Security & trust assessment

Risk level: high, estimated (decoded bytecode, low confidence).

Who controls it: A single owner key can pause the hook, switch whitelist-only mode, change fee splits and fee recipient, set per-address fee overrides, add exemptions, and execute arbitrary calls through the batch function. A compromised owner could redirect fees, block swaps via pause or whitelist, or drain tokens through withdraw or batch execution.

Risk to user funds: The hook uses return deltas on swaps and liquidity operations and can hold tokens, so user flows pass through it. The owner can withdraw hook balances, change fee splits and per-address fees, and pause or whitelist swaps. Users cannot exit a paused or whitelist-restricted pool through the hook.

Security findings

  • [high] Owner can move hook-held tokens and execute arbitrary calls: The owner can call withdraw(address,address,uint256) and an arbitrary batch executor (0xe4a0fad4). Any balance the hook holds is controlled by the owner.
  • [medium] Owner can change fee splits and per-address fees: setFeeOverride and setCreatorBps/fee config setters let the owner change fees for specific addresses and splits without a visible timelock in the decoded functions.
  • [medium] Owner can pause or restrict swaps: setPaused and setWhitelistOnly let the owner halt or restrict swaps for all users.
  • [info] Return-delta permissions give hook a share of flows: Return-delta permissions allow the hook to take a portion of swap and liquidity deltas, so user funds pass through hook logic.

Contract details

Verified source
No
Bytecode size
12,531 bytes
Upgradeable proxy
No
Detected patterns
moves-currency, ownable, pausable, return-delta

Pools using Likely fee sharing hook