Likely fee sharing hook on BNB Chain
Uniswap v4 Hook Contract 0x9300f56d33ab4fb3930dc99ac7f972e740c3c5c7 on BNB Chain · Fee sharing
- Volume (24h)
- $0
- Value locked (TVL)
- <$0.01
- All-time volume
- $10.21K
- Pools using this hook
- 3
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 185
What it does
A fee-sharing hook that charges tiered swap fees and splits them between a creator and the owner, with owner controls for pausing, whitelisting and withdrawing funds.
How it works step by step
- Charges swap fees chosen from tiered and per-address fee config
- Splits collected fees between creatorRecipient (creatorBps) and owner (ownerBps)
- Can pause swaps and restrict them to whitelisted or trusted routers
- Counts swaps per pool and tracks a gas threshold
- Takes or returns currency through return-delta hooks on swaps and liquidity changes
- Owner can withdraw tokens held by the hook
- Swap behaviour
- beforeSwap and afterSwap run on every swap; the hook checks pause and whitelist state and router trust, counts swaps, and applies a tiered fee with creator and owner splits via return delta.
- Liquidity behaviour
- afterAddLiquidity and afterRemoveLiquidity are enabled with return-delta flags, so the hook can adjust balance deltas after liquidity changes. Exact accounting cannot be determined from bytecode alone.
- Fee behaviour
- Fees are set from tiered config (tierOne, tierTwo, tierThree, quote and default fees) and per-address fee overrides, then split between creator (creatorBps, default creator BPS) and owner (ownerBps) recipients. Fee tier selection likely depends on router trust and whitelist status and gas usage, but this cannot be confirmed without source.
- Owner & admin controls
- Owner (slot 5) can pause and unpause swaps via setPaused, toggle whitelistOnly, set trusted routers and origins, set the exempt address, change owner, creator and fee-recipient addresses, set creator and owner BPS splits, set the gas threshold, and withdraw tokens via withdraw. Owner can also update fee tiers and per-address fees through the decoded config functions.
Enabled Uniswap v4 callbacks
afterAddLiquidity, afterRemoveLiquidity, beforeSwap, afterSwap, afterSwapReturnDelta, afterAddLiquidityReturnDelta, afterRemoveLiquidityReturnDelta
afterAddLiquidity: post-add accounting, possibly taking a share via return delta. afterRemoveLiquidity: post-remove accounting, possibly taking a share via return delta. beforeSwap: pre-swap checks such as pause, whitelist and router trust. afterSwap: post-swap fee accounting and swap counting, with a return delta that can take a fee. afterSwapReturnDelta, afterAddLiquidityReturnDelta and afterRemoveLiquidityReturnDelta: allow the hook to take or return currency from the pool's deltas.
Security & trust assessment
Risk level: high, estimated (decoded bytecode, low confidence).
Who controls it: The owner key controls pause, whitelist, router trust, fee recipients, fee splits and gas threshold, and can withdraw tokens. A compromised owner could redirect fees, block swaps or drain hook-held balances.
Risk to user funds: The hook can take currency through return deltas on swaps and liquidity operations and holds accumulated balances that the owner can withdraw. It can also block swaps by pausing or restricting them. Without source, the extent of user exposure cannot be fully confirmed.
Security findings
- [high] Owner withdrawal of hook-held tokens: Owner can call withdraw(address,address,uint256) to move tokens held by the hook, so fees accumulated in the hook are controlled by the owner key.
- [medium] Owner can pause or restrict swaps: setPaused and setWhitelistOnly let the owner halt swaps or restrict them to whitelisted addresses.
- [medium] Owner can redirect and re-split fees: Owner can change feeRecipient, creatorRecipient and the BPS splits, redirecting fee revenue.
- [info] Return-delta hooks take value from pool flows: Several afterSwap and liquidity hooks return deltas, meaning the hook takes currency from pool accounting on every affected operation.
- [info] Unverified source: Source is not verified, so exact fee logic, withdrawal limits and upgrade paths are inferred from selectors and storage only.
Contract details
- Verified source
- No
- Bytecode size
- 10,721 bytes
- Upgradeable proxy
- No
- Detected patterns
- moves-currency, ownable, pausable, return-delta
Pools using Likely fee sharing hook
- USDC / 4Stock (0.00% fee) — 24h volume $0, TVL <$0.01, 0 swaps today
- USDC / 4Stock (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- USDC / 4Stock (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today