Fee sharing hook on Robinhood Chain

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

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

What it does

A Uniswap v4 hook that charges a toll on swaps and accrues it to the hook, with owner-controlled withdrawal of collected funds.

How it works step by step

  • Charges a basis-point toll (tollBps) on swaps through an afterSwap return delta
  • Accumulates collected toll amounts and tracks them in tollCollected
  • Uses unlockCallback and take to move currency with the pool manager
  • Sets a hatched flag during beforeInitialize to mark pool setup
  • Lets the owner withdraw accumulated balances via drain
Swap behaviour
beforeSwap and afterSwap run on every swap; afterSwap computes a toll (tollBps) and takes a share of the swap via return delta, recording it in tollCollected.
Liquidity behaviour
beforeAddLiquidity, beforeRemoveLiquidity, afterAddLiquidity, afterRemoveLiquidity and beforeDonate/afterDonate selectors are present in the ABI but the hook does not enable those permissions, so no liquidity callbacks are used.
Fee behaviour
Hook takes a toll (tollBps) on swaps via afterSwap return delta, with a creditBps parameter and tollCollected counter; the exact fee split is not confirmed without source.
Owner & admin controls
Owner (Ownable) can call drain(uint8,uint256), transferOwnership and renounceOwnership; drain can move funds out of the hook, and the owner can transfer control. No pause or upgrade mechanism identified in decoded selectors.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize: runs once on pool setup (hatched flag set). beforeSwap: reads/updates swap state and interacts with the pool. afterSwap: computes and records the toll and returns a delta. beforeSwapReturnDelta and afterSwapReturnDelta: allow the hook to take a share of swap tokens from the trader via return deltas.

Security & trust assessment

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

Who controls it: The owner can call drain to withdraw hook-held tokens and can transfer or renounce ownership. A compromised owner key could drain accumulated tolls.

Risk to user funds: The hook can take a toll from swap flows via return deltas and holds accumulated balances that the owner can withdraw through drain; it cannot be confirmed from bytecode alone whether trader funds can be blocked.

Security findings

  • [medium] Swap return delta takes tokens from traders: Return delta permissions let the hook take a share of each swap's input or output token, so every swap routes value through the hook.
  • [medium] Owner can drain hook balances: drain(uint8,uint256) is an owner-gated function that can move tokens held by the hook.
  • [info] Hook moves currency via pool manager unlock: The hook calls unlock and take on the pool manager (unlockCallback is present), which means it moves currency itself as part of swaps.
  • [info] Limited verification: Without verified source, the exact toll formula, the nucleus/poolId relationship and the drain authorization logic cannot be confirmed.

Contract details

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

Pools using Fee sharing hook