Fee sharing hook on BNB Chain
Uniswap v4 Hook Contract 0x9015e089913adedd8bce3fd88ae8906b180f8044 on BNB Chain · Fee sharing
- Volume (24h)
- $0
- Value locked (TVL)
- <$0.01
- All-time volume
- $4.89M
- Pools using this hook
- 28
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 56,348
What it does
A fee-sharing hook that takes a tiered fee from swaps after execution and routes it to a configured recipient address.
How it works step by step
- Applies a tiered fee (tierOne, tierTwo, tierThree) to swaps through afterSwap return delta
- Tracks a swap count per pool id in a mapping
- Forwards collected tokens to a configurable recipient address
- Holds a gas threshold parameter that influences fee tier selection
- Owner can reconfigure fee parameters and withdraw balances
- Swap behaviour
- After each swap, afterSwap records a per-pool swap count and, using the configured tier fees, takes a share of the swap output that is sent to the recipient; beforeSwap is also present in the dispatch table.
- Liquidity behaviour
- beforeAddLiquidity, afterAddLiquidity, beforeRemoveLiquidity and afterRemoveLiquidity are exposed as selectors but appear to be default or pass-through handlers; no liquidity-modifying logic was identified.
- Fee behaviour
- Fees are tiered: tierOne, tierTwo and tierThree fee values plus a gas threshold are stored in contract state and read in afterSwap; the owner-set configuration (via 0x24d64c99) controls these tiers, and a recipient address receives the collected amount. Exact tier selection logic is inferred, not confirmed from source.
- Owner & admin controls
- Owner (slot 0) can set fee tiers and thresholds via the nonpayable setter at selector 0x24d64c99, change the fee recipient via setRecipient(address), withdraw tokens via withdraw(address,address,uint256), and transfer ownership via transferOwnership(address). No pause or upgrade mechanism was identified.
Enabled Uniswap v4 callbacks
afterSwap, afterSwapReturnDelta
afterSwap is used to inspect swaps and account a swap counter per pool key; afterSwapReturnDelta lets the hook take a share of the swap output and forward it, which is how fees are diverted to the recipient.
Security & trust assessment
Risk level: medium (decoded bytecode, medium confidence).
Who controls it: The owner can reconfigure fee tiers, change the recipient address to redirect collected fees, withdraw tokens held by the hook, and transfer ownership to any address.
Risk to user funds: The hook can hold and transfer tokens (moves-currency tag, withdraw and take selectors), and it takes a share of swap output through afterSwapReturnDelta. Users are exposed to fee changes and to the owner withdrawing accumulated balances.
Security findings
- [medium] Hook takes swap output via return delta: afterSwapReturnDelta allows the hook to take a portion of every swap's output, so the hook directly affects trader proceeds.
- [medium] Owner can withdraw hook-held tokens: The owner can call withdraw(address,address,uint256) to move tokens the hook holds, including accumulated fees.
- [medium] Owner can redirect and raise fees: The owner can change the recipient via setRecipient and the fee configuration via the nonpayable setter, which can redirect or inflate the fee taken from swappers.
- [info] Single owner key controls configuration: Ownable pattern with transferOwnership; no timelock or multisig is evident in the bytecode.
Contract details
- Verified source
- No
- Bytecode size
- 5,240 bytes
- Upgradeable proxy
- No
- Detected patterns
- moves-currency, ownable, return-delta
Pools using Fee sharing hook
- USDC / BREW (0.0075% fee) — 24h volume $0, TVL $0, 0 swaps today
- USDC / BREW (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- BNCB / USDC (0.0001% fee) — 24h volume $0, TVL $0, 0 swaps today
- BNCB / USDC (0.0075% fee) — 24h volume $0, TVL $0, 0 swaps today
- BNCB / USDT (0.0001% fee) — 24h volume $0, TVL <$0.01, 0 swaps today
- FLNCB / USDT (0.0001% fee) — 24h volume $0, TVL <$0.01, 0 swaps today
- USDC / SGOVon (0.0001% fee) — 24h volume $0, TVL $0, 0 swaps today
- USDC / SPCXB (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- USDT / HIMSB (0.0001% fee) — 24h volume $0, TVL $0, 0 swaps today
- BNCB / USDC (0.0002% fee) — 24h volume $0, TVL $0, 0 swaps today
- USDC / GSTOCK (0.0002% fee) — 24h volume $0, TVL $0, 0 swaps today
- USDT / FORM (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- USDT / SGOVon (0.0001% fee) — 24h volume $0, TVL $0, 0 swaps today
- VC / USDC (0.0075% fee) — 24h volume $0, TVL $0, 0 swaps today
- BNCB / USDT (0.0002% fee) — 24h volume $0, TVL $0, 0 swaps today
- USDT / GSTOCK (0.0001% fee) — 24h volume $0, TVL $0, 0 swaps today
- BNCB / USDC (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- USDC / BREW (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today
- BNCB / USDT (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- BEM / USDC (0.0001% fee) — 24h volume $0, TVL $0, 0 swaps today