Fee sharing hook on Ethereum

Uniswap v4 Hook Contract 0x27b585e82620b00f9bab79cbadf1b797991a8888 on Ethereum · Fee sharing

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

What it does

A fee-sharing hook that gates liquidity additions and adjusts swap accounting, with owner-controlled fee accrual and LP management, though full behaviour cannot be confirmed without verified source.

How it works step by step

  • Gates liquidity additions through beforeAddLiquidity
  • Runs beforeSwap logic and can return a balance delta to take a share of swaps
  • Accrues fees tracked by accruedFees and claimable via claimFees for a feeRecipient
  • Manages its own LP position with removeLP, lpInfo and tick/sqrt range views
  • Supports owner rescue of stuck tokens and ownership transfer or renunciation
Swap behaviour
beforeSwap is enabled with return-delta permission, so the hook can alter swap amounts and take a share of swap flow to accrue fees for a recipient.
Liquidity behaviour
beforeAddLiquidity is enabled and gates liquidity additions; beforeRemoveLiquidity and afterRemoveLiquidity selectors are present with lpInfo/removeLP/lpPoolId views suggesting the hook manages its own LP position (hookLiquidity, sqrtLower/sqrtUpper, tickLower/tickUpper) and can remove it via removeLP.
Fee behaviour
Hook takes a fee-sharing role: beforeSwap and stats functions track accrued fees and fee recipient (feeRecipient, accruedFees, claimFees); the exact fee rate or split cannot be determined from decoded bytecode alone.
Owner & admin controls
Owner (storage slot 0) can transfer or renounce ownership, claim/remove LP via removeLP, and rescue stuck tokens via rescueStuckTokens; the owner can also write to slots that gate hook configuration (addresses at slot 5/6/8 patterns) per decoded writes, so parameter changes are possible but the exact mutable parameters cannot be confirmed without source.

Enabled Uniswap v4 callbacks

beforeAddLiquidity, beforeSwap, beforeSwapReturnDelta

beforeAddLiquidity: runs before liquidity is added to validate or restrict LP entry. beforeSwap: runs before each swap, can adjust swap accounting. beforeSwapReturnDelta: lets the hook return a delta that alters the amounts exchanged in the swap, meaning it can take or give currency.

Security & trust assessment

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

Who controls it: The owner can renounce or transfer ownership, rescue tokens held by the hook, and remove the hook's LP position, which can affect pool depth and user funds routed through the hook.

Risk to user funds: The hook can take or redirect value during swaps through return deltas and holds LP positions and tokens that the owner can rescue or remove, so user and pool funds are exposed to hook logic and owner actions.

Security findings

  • [high] Return delta can alter swap settlement: beforeSwapReturnDelta allows the hook to modify swap amounts and take currency from swaps, so user swap outputs depend on hook logic that cannot be fully verified.
  • [medium] Owner can withdraw hook-held funds: rescueStuckTokens and removeLP let the owner move tokens and liquidity held by the hook.
  • [medium] Single privileged owner: Owner-controlled ownership transfer and renounce functions are present; no timelock or multisig is evident from the bytecode.
  • [info] Moves currency via PoolManager: Hook contains transfer/transferFrom and take/unlock selectors, consistent with moving ERC20 currency via the PoolManager.

Contract details

Verified source
No
Bytecode size
15,437 bytes
Upgradeable proxy
No
Detected patterns
erc20, fee-sharing, moves-currency, ownable, return-delta, self-unlock

Pools using Fee sharing hook