Fee sharing hook on BNB Chain

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

Volume (24h)
$0.04
Value locked (TVL)
<$0.01
All-time volume
$0.04
Pools using this hook
3
Swaps (24h)
8 (1 traders)
Total swaps
8

What it does

This hook takes an unverified-size fee from every swap and splits it between a platform and the pool's project, while LPs keep full freedom to add and withdraw liquidity.

How it works step by step

  • Charges a fee on swaps through its return-delta permissions and splits it between a fixed platform address and a per-pool project balance.
  • Tracks accrued platform fees and per-project (per-pool) fees separately so they can be withdrawn later.
  • Two unnamed functions appear to withdraw accrued platform and project fees by unlocking the PoolManager and taking tokens out.
  • Records a per-pool value (likely a timestamp or price observation) at initialization and on swaps, exposed through a consult view, which suggests a simple oracle feature.
  • Checks pools at initialization, likely to make sure the pool is set up to use this hook correctly.
Swap behaviour
On each swap the hook can take a cut of the swap amount before or after the trade and credit it to platform and project balances. The exact fee rate cannot be confirmed from bytecode, though a PLATFORM_PPM constant suggests the platform share is set in parts-per-million.
Liquidity behaviour
No liquidity callbacks; LPs can add and withdraw freely.
Fee behaviour
A hook fee is taken from swaps via return deltas, with a platform share defined by a fixed parts-per-million constant and the rest credited to the pool's project. The exact percentages are not visible in unverified bytecode.
Owner & admin controls
The platform fee share looks like a fixed constant. Fee withdrawal functions exist, but who can call them and whether any fee rate is adjustable cannot be confirmed from bytecode.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize: validates new pools and records initial per-pool data; beforeSwap: can take a fee from swap input and update tracking; afterSwap: can take a fee from swap output and update tracking; beforeSwapReturnDelta/afterSwapReturnDelta: let the hook adjust swap amounts to collect its fee.

Security & trust assessment

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

Who controls it: A fixed platform address receives a share of fees, and some caller, likely the platform or project owner, can withdraw accrued fees. Whether any admin can change fee rates is unknown from bytecode.

Risk to user funds: The hook can take a portion of each swap's tokens as a fee, with the exact rate unverified. LP principal is not touched and LPs can always withdraw.

Security findings

  • [medium] Unverified swap fee via return deltas: The hook can deduct tokens from swaps through return deltas, but the fee size and any cap cannot be verified without source code.
  • [info] Fee withdrawals through PoolManager: Accrued platform and project fees are paid out by unlocking the PoolManager and calling take, which is standard fee collection.
  • [info] LP withdrawals unrestricted: Remove-liquidity callbacks are disabled, so the hook can never block or charge LP withdrawals.

Contract details

Verified source
No
Bytecode size
8,708 bytes
Upgradeable proxy
No
Detected patterns
moves-currency, return-delta, self-unlock

Pools using Fee sharing hook