Fee sharing hook on Robinhood Chain

Uniswap v4 Hook Contract 0x8fefe50ca6e758ddb4522b91e4c4bcb8abec60cc on Robinhood Chain · Fee sharing

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

What it does

Charges a controller-adjustable swap fee (capped by a stored maximum) that is split between project recipients, with the controller able to pause trading, while LPs can always withdraw freely.

How it works step by step

  • Takes a hook fee on swaps (set by a controller, bounded by a maximum fee value stored in the contract) and splits it between a project recipient and a second recipient.
  • Fees are held as claimable balances that recipients withdraw later via a claim function.
  • A controller can pause trading on the pool.
  • Can call an optional external observation module after swaps with a gas limit, which the controller can set or disable.
  • Only an authorized initializer can create the pool attached to this hook.
Swap behaviour
Before each swap the hook checks whether trading is paused and reverts if so; on swaps it can deduct a fee from the swap amounts using return deltas and record it for the fee recipients. After swaps it may notify an external observation module.
Liquidity behaviour
No liquidity callbacks are enabled; LPs can add and withdraw freely and the hook can never block withdrawals.
Fee behaviour
A hook fee in basis points (feeBps) is taken from swaps and split between a project recipient and another recipient for later claiming; the controller can change it up to a maxFeeBps cap whose exact value cannot be read from bytecode alone.
Owner & admin controls
A controller can change the swap fee (bounded by maxFeeBps), change fee recipients, pause or unpause trading, and set or disable the observation module. The exact fee cap is not visible in unverified bytecode.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize restricts who can create the pool; beforeSwap enforces the pause and may take fees; afterSwap collects fees and pings the observation module; beforeSwapReturnDelta and afterSwapReturnDelta let the hook deduct its fee from swap amounts.

Security & trust assessment

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

Who controls it: A single controller address can pause trading, change fees up to the stored maximum, and redirect fee recipients. It cannot touch LP principal.

Risk to user funds: The hook can deduct its fee from swap amounts, up to the unverified maxFeeBps cap, and holds those fees for claiming. LP principal cannot be locked or drained.

Security findings

  • [medium] Controller can pause swaps: A setTradingPaused function lets the controller block all swaps on the pool; withdrawals are unaffected.
  • [low] Adjustable swap fee with unknown cap: The controller can set the fee up to a stored maximum; the cap value is not confirmed from bytecode.
  • [info] LP withdrawals unrestricted: Remove-liquidity callbacks are disabled, so LPs can always withdraw.

Contract details

Verified source
No
Bytecode size
7,461 bytes
Upgradeable proxy
No
Detected patterns
dynamic-fee, erc20, fee-sharing, liquidity-management, moves-currency, return-delta

Pools using Fee sharing hook