Fee sharing hook on Robinhood Chain

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

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

What it does

This hook takes a fee on swaps through return deltas, splits it between a protocol recipient and LPs, and lets its owner change the fee destination and upgrade the logic, so traders may pay the configured total fee on swaps and the protocol share goes to the recipient.

How it works step by step

  • Proxy hook that forwards every call to implementation 0x9b8bf8dec8edc52e13c25c8cd04611a09ad830cc, which is what actually runs.
  • Enables beforeSwap and afterSwap with return deltas, so the hook can take a share of swap amounts and account it internally before and after each swap.
  • Tracks per-pool accrued fees for a protocol recipient and for LPs, with distribute, payout and pendingFees style accounting.
  • Splits total fee bips (TOTAL_FEE_BIPS, BIPS denominator) between the protocol share (PROTOCOL_SHARE_BIPS) and the remainder.
  • Uses an unlockCallback and a controller/vault setup, which suggests it moves currency through the PoolManager to settle the fee deltas.
Swap behaviour
beforeSwap and afterSwap both run and can return deltas, so a portion of each swap's input or output is diverted to hook accounting; the exact direction and whether it applies to both swap directions could not be confirmed from decoded bytecode.
Liquidity behaviour
beforeAddLiquidity, afterAddLiquidity, beforeRemoveLiquidity and afterRemoveLiquidity selectors exist but the liquidity hooks are not listed as enabled permissions, so no liquidity callbacks are expected to run.
Fee behaviour
Fees are computed from TOTAL_FEE_BIPS and split by PROTOCOL_SHARE_BIPS against BIPS; currentFeeBips and MAX_FEE_BIPS are exposed, and the protocol recipient receives its share. The exact fee amounts and how the LP share is credited could not be determined from decoded bytecode.
Owner & admin controls
Owner-controlled via Ownable two-step transfer (transferOwnership, acceptOwnership, renounceOwnership). The owner or controller can set the protocol recipient, vault and controller (setProtocolRecipient, setVault, setController). The contract is behind an upgradeable proxy, so the implementation can be replaced.

Enabled Uniswap v4 callbacks

beforeInitialize, afterInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize and afterInitialize validate and set up each pool; beforeSwap and afterSwap take or account fees and use return deltas to adjust swap amounts; beforeSwapReturnDelta and afterSwapReturnDelta allow the hook to alter the amounts the pool settles.

Security & trust assessment

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

Who controls it: The owner can upgrade the implementation, change the protocol recipient, vault and controller, and thereby change fee accounting and where fees are paid.

Risk to user funds: The hook can take a share of swap amounts through return deltas and hold accrued fees, so user swap proceeds are exposed to the fee logic and to any admin upgrade or redirection.

Security findings

  • [high] Upgradeable proxy: The hook delegates all calls to implementation 0x9b8bf8dec8edc52e13c25c8cd04611a09ad830cc, so the admin can change the logic that runs on every swap and liquidity action.
  • [medium] Return-delta fee taking: beforeSwapReturnDelta and afterSwapReturnDelta let the hook take tokens from swaps through deltas; the amount is set by fee parameters that the owner or controller can influence.
  • [medium] Privileged redirection of fees: setProtocolRecipient and setController let the owner redirect accrued protocol fees to a new address.
  • [info] Unverified source: No verified source is available, so behaviour is inferred from decoded selectors and storage only.

Contract details

Verified source
No
Bytecode size
793 bytes
Upgradeable proxy
Yes
Detected patterns
liquidity-management, moves-currency, ownable, return-delta, self-unlock, upgradeable

Pools using Fee sharing hook