Fee sharing hook on Robinhood Chain

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

Volume (24h)
$0
Value locked (TVL)
<$0.01
All-time volume
$97.70K
Pools using this hook
138
Swaps (24h)
0 (0 traders)
Total swaps
9,524

What it does

A Uniswap v4 hook that applies owner-configured per-pool fees and takes a share of swap value for fee recipients, with a pause switch controlled by its owner.

How it works step by step

  • Stores a per-pool fee and tick spacing configuration set by the owner.
  • Overrides the LP fee in beforeSwap using an override flag.
  • Takes a share of swap value via before and after swap return deltas.
  • Splits collected fees between a dev address (devShareBps) and payee addresses.
  • Charges creation fees in ETH or USDG when pools are launched through the hook.
  • Can be paused by the owner, blocking swaps.
Swap behaviour
beforeSwap applies a pool fee override and may take input or output via return deltas; afterSwap performs accounting and distributes fee shares to dev and payees.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Pool-specific fee is stored in a mapping keyed by pool id and set by owner via setPoolFee; OVERRIDE_FEE_FLAG and DYNAMIC_FEE_FLAG selectors suggest the hook can return an overridden LP fee from beforeSwap; a dev share (devShareBps) and a creation fee split are part of the fee flow, but exact split logic could not be confirmed without source.
Owner & admin controls
Owner (Ownable2Step: transferOwnership, acceptOwnership, renounceOwnership) can call setPoolFee, setCreationFees, setPayees, setDev (dev address and share up to a bps cap), setPaused, and the sweeper/desk/usdg/creation fee configuration; owner can also set the stored fee and tick spacing mappings per pool and pause the hook.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize: validates and records per-pool configuration (pause check and pool state). beforeSwap: applies pool fee override and may take or deliver currency through the pool manager. afterSwap: runs post-swap accounting and fee distribution. beforeSwapReturnDelta and afterSwapReturnDelta: allow the hook to take a share of swap input or output, so the hook can hold a portion of user swap value.

Security & trust assessment

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

Who controls it: The owner can change pool fees, payee and dev addresses, creation fee amounts and pause state. A malicious or compromised owner could redirect fee shares to an address they control, set fee values per pool, or halt swaps via pause.

Risk to user funds: The hook can hold and move currency through the pool manager (take and transferFrom calls) and can take a share of swap deltas. Owner and sweeper roles can withdraw accumulated balances and pause trading, so user swap value is exposed to the privileged keys.

Security findings

  • [medium] Return-delta fee capture: Hook uses beforeSwapReturnDelta and afterSwapReturnDelta, so it can take currency from swaps and divert a share of trade value to dev, payees or the sweeper.
  • [medium] Owner-controlled fee recipients: Owner can change payee, dev and sweeper addresses and the dev share, which can redirect collected fees.
  • [medium] Owner pause blocks swaps: setPaused lets the owner block swaps on pools using this hook via the IsPaused check.
  • [low] Single owner key: Ownable2Step ownership with a single owner key; no timelock visible in selectors.
  • [low] Sweeper can move held tokens: Hook contains a sweeper role and take/transfer calls, so it can move tokens it holds.

Contract details

Verified source
No
Bytecode size
8,188 bytes
Upgradeable proxy
No
Detected patterns
moves-currency, ownable, pausable, return-delta

Pools using Fee sharing hook