Fee sharing hook on Robinhood Chain

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

Volume (24h)
$13.75K
Value locked (TVL)
$118.54K
All-time volume
$232.19K
Pools using this hook
7
Swaps (24h)
69 (38 traders)
Total swaps
909

What it does

A fee-sharing hook that charges tiered swap and liquidity-related fees and splits them among the owner, a creator and a fee recipient.

How it works step by step

  • Applies tiered fees (tier one, two and three, plus a default) to swaps and liquidity events
  • Supports per-pool fee overrides set by the owner
  • Splits collected fees between owner BPS, creator BPS and a fee recipient
  • Gates access via pause, whitelist-only mode and trusted router lists
  • Uses return deltas in swap and liquidity callbacks to take a share of balance changes
  • Allows the owner to withdraw tokens held by the contract
Swap behaviour
beforeSwap and afterSwap are enabled, with afterSwapReturnDelta, so the hook can apply a fee and take a portion of swap output during swaps, subject to pause and whitelist checks.
Liquidity behaviour
afterAddLiquidity and afterRemoveLiquidity callbacks are enabled and return deltas are used, so the hook can adjust the balance deltas for LPs. The exact accounting is not determinable from decoded bytecode alone.
Fee behaviour
Fees are tiered (tierOne, tierTwo, tierThree fees with a default fee and per-pool overrides) and split between an owner share (ownerBps), a creator share (creatorBps) and a fee recipient. Fee overrides are stored per address in mappings and set by the owner. Exact fee derivation from the tier configuration could not be confirmed without source.
Owner & admin controls
Owner (slot 0) can set paused state via setPaused, toggle whitelistOnly, set trusted routers and origins, set per-pool fee overrides via setFeeOverride and clearFeeOverride, change fee tiers and BPS splits (setOwnerBps, setCreatorBps, setFeeRecipient, setExemptAddress, setTrustedRouter(Batch)), withdraw tokens via withdraw, and transfer ownership. Owner can also call setFeeConfig-style function 0x65a08c0e which writes fee tier parameters.

Enabled Uniswap v4 callbacks

afterAddLiquidity, afterRemoveLiquidity, beforeSwap, afterSwap, afterSwapReturnDelta, afterAddLiquidityReturnDelta, afterRemoveLiquidityReturnDelta

afterAddLiquidity and afterRemoveLiquidity with return deltas: adjust balance deltas on liquidity changes, likely to take a share of fees or accrued amounts. beforeSwap and afterSwap with afterSwapReturnDelta: apply fee logic and take a portion of swap output via return delta, and track swap counts. beforeAddLiquidity and beforeRemoveLiquidity are present as selectors but their permission flags are not set on the address.

Security & trust assessment

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

Who controls it: The owner holds broad control: it can pause swaps and liquidity, change fee splits and tiers, override fees for specific pools, whitelist or exempt routers and addresses, and withdraw tokens held by the hook. A compromised owner key could redirect fees to itself or block trading.

Risk to user funds: The hook can take a share of swap output and liquidity deltas via return-delta permissions, and the owner can withdraw tokens the contract holds. Users are exposed to fee changes, pausing and owner withdrawals.

Security findings

  • [high] Owner-controlled fee routing and withdrawals: The owner can set fee recipients, BPS splits and per-pool fee overrides, and can withdraw tokens held by the contract, so a single key controls fee flows.
  • [medium] Pausable and whitelist-gated trading: setPaused and whitelistOnly can block swaps or restrict access to trusted routers, halting trading for users.
  • [medium] Hook takes tokens via return deltas: The hook uses afterSwapReturnDelta and return-delta hooks on liquidity, so it can take tokens from swap and liquidity flows.
  • [info] Single-owner admin model: The contract is Ownable with ownership transferable via transferOwnership; no timelock or multisig is evident from bytecode.
  • [info] Unverified source: No verified source is available, so the exact fee math and withdraw restrictions could not be verified.

Contract details

Verified source
No
Bytecode size
17,715 bytes
Upgradeable proxy
No
Detected patterns
erc20, moves-currency, ownable, pausable, return-delta

Pools using Fee sharing hook