Fee sharing hook on Robinhood Chain

Uniswap v4 Hook Contract 0xf77957b1c399935bf0b78cc1d92354112b71a0cc 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

This hook takes a toll on swaps through the pool's return-delta mechanism and routes it to configured payees, so traders receive slightly less than the pool quote, while exact amounts and direction are not fully confirmed from the bytecode.

How it works step by step

  • Tax hook on a Uniswap v4 pool: beforeSwap and afterSwap take a return delta, so part of each swap is diverted from the trader rather than priced by the pool alone
  • Keeps per-till state (tills, homePool, TOLL_BPS, HOME_TICK_SPACING) that appears to route collected amounts to configured payees
  • Takes and settles currency through the PoolManager unlock flow (unlockCallback, take, mint/burn of ERC6909 claims) and issues an ERC20 token alongside
  • Blocks liquidity changes via before/after add and remove callbacks that revert or gate them
  • Initialization callbacks (beforeInitialize, afterInitialize) store pool parameters that the swap logic reads back
Swap behaviour
beforeSwap and afterSwap take return deltas and move currency via the PoolManager, so swappers receive less than the pool quote by an amount tied to the toll; exact split between buy and sell direction could not be determined from bytecode.
Liquidity behaviour
Before and after add and remove liquidity callbacks are present and appear to restrict or gate liquidity changes; exact conditions could not be determined.
Fee behaviour
Fees are not the pool's static fee: a toll (TOLL_BPS) is taken through return deltas and routed to payees, with exact amounts and recipients determined by storage that could not be fully decoded.
Owner & admin controls
Ownable: owner can transfer or renounce ownership; payee assignment and toll parameters appear to be set by privileged logic, exact control could not be confirmed from bytecode.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize and afterInitialize record pool parameters; beforeSwap and afterSwap take return deltas to collect the toll; beforeSwapReturnDelta and afterSwapReturnDelta allow the hook to take currency from swaps; beforeAddLiquidity, afterAddLiquidity, beforeRemoveLiquidity and afterRemoveLiquidity gate liquidity changes.

Security & trust assessment

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

Who controls it: A privileged owner key may be able to change payee routing and toll-related parameters and transfer ownership, affecting every swap through the pool.

Risk to user funds: The hook takes currency through return deltas and settles via the PoolManager, so it can divert a portion of swap proceeds and possibly block liquidity operations.

Security findings

  • [high] Return-delta toll on every swap: beforeSwap and afterSwap take return deltas, so the hook can take a cut of any swap through the pool manager. The toll rate and payee routing are set in storage that could not be fully decoded.
  • [medium] Owner-controlled parameters: The contract is Ownable and exposes ownership transfer and renounce functions; an owner key can likely change payee and toll-related state.
  • [medium] Liquidity gating: Before and after liquidity callbacks can block adds or removes, which could trap LP positions if the gating logic is restrictive.
  • [info] Unverified source: No verified source is available, so the exact toll formula, payee logic and admin functions are inferred from decoded selectors and storage only.

Contract details

Verified source
No
Bytecode size
11,330 bytes
Upgradeable proxy
No
Detected patterns
erc20, erc6909-claims, moves-currency, ownable, return-delta, self-unlock, tax

Pools using Fee sharing hook