Fee sharing hook on Robinhood Chain

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

Volume (24h)
$60.00K
Value locked (TVL)
$0
All-time volume
$60.00K
Pools using this hook
1
Swaps (24h)
230 (91 traders)
Total swaps
230

What it does

This hook takes a configured buy or sell fee from swaps in the pool, accrues it in the contract, and lets the fee recipient claim it, so traders pay the fee on each affected swap while the rest of the swap flows normally.

How it works step by step

  • Stores a launcher address, a pool id and a fee recipient at initialization (beforeInitialize reads and records pool parameters)
  • Charges a buy fee and a sell fee (buyFeeBps and sellFeeBps) on swaps routed through the pool
  • Takes the fee as a currency delta via the return-delta hook mechanism and accrues it in contract storage
  • Tracks accrued and total collected fees in storage and exposes them through view functions
  • Allows the recipient to withdraw accumulated fees through claimFees, which transfers tokens out
Swap behaviour
beforeSwap and afterSwap run on every swap. Both read the configured buy and sell fee basis points and apply them through return deltas, so the fee amount is taken from the swap flow and accrued to the hook. Exact direction mapping (which swap side pays buyFeeBps versus sellFeeBps) cannot be confirmed from bytecode alone.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Fees are set by buyFeeBps and sellFeeBps (basis points) and taken through the hook's return delta on swaps. Accrued fees are held in the hook and shared to the recipient, which is read from storage, through claimFees.
Owner & admin controls
No owner or admin setter selectors were decoded; fee parameters appear to be set at construction or initialization and are read-only views. claimFees appears callable to withdraw fees to the recipient; whether it is restricted to the recipient cannot be confirmed without source.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize records the pool id and launcher configuration. beforeSwap computes and applies the swap fee via return delta. afterSwap updates the accrued and total collected counters and may take an additional delta. beforeSwapReturnDelta and afterSwapReturnDelta are enabled so the hook can take a share of the swap amounts.

Security & trust assessment

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

Who controls it: The recipient address controls where claimed fees go, and the launcher address is referenced during initialization. Without source, it is unclear whether any key can change fee rates or recipient after deployment.

Risk to user funds: The hook holds and moves token balances: it accrues fee amounts from swaps and transfers them out in claimFees. Swap amounts are reduced by the fee taken through return deltas, so traders pay the configured buy or sell fee on affected swaps.

Security findings

  • [medium] Hook takes currency via return deltas: beforeSwap and afterSwap both enable return-delta permissions and the bytecode contains take and transfer calls, so the hook can take a portion of every swap's tokens.
  • [medium] claimFees access control unknown: claimFees (0xd294f093) is nonpayable and transfers tokens out of the hook, but no caller check could be confirmed from decoded bytecode; if unrestricted, anyone could trigger payout to the stored recipient.
  • [low] Fee rates not verified as immutable: buyFeeBps and sellFeeBps are read from packed storage slot 5 with no setter decoded, but the absence of a setter in the bytecode is not proof that the values cannot be changed by other means.
  • [info] Pool initialization gated by launcher: beforeInitialize reads a launcher address from storage, suggesting only the configured launcher flow creates pools using this hook.

Contract details

Verified source
No
Bytecode size
2,828 bytes
Upgradeable proxy
No
Detected patterns
erc20, fee-sharing, launchpad, moves-currency, return-delta

Pools using Fee sharing hook