Fee sharing hook on Robinhood Chain

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

Volume (24h)
$92.86K
Value locked (TVL)
$961
All-time volume
$92.86K
Pools using this hook
1
Swaps (24h)
664 (206 traders)
Total swaps
664

What it does

This hook takes an adjustable, capped fee from every swap and splits it between a project recipient and another party, while a controller can pause trading; LPs can always withdraw freely.

How it works step by step

  • Charges a swap fee (feeBps) taken from swaps via return deltas, capped by a maxFeeBps value whose exact number is not readable from bytecode.
  • Splits collected fees between a project recipient and another party (likely a protocol vault), with balances stored for later claiming.
  • Lets a controller pause trading, change the fee within the cap, and update fee recipients.
  • Restricts pool initialization to an authorized initializer and is tied to a single pool.
Swap behaviour
Every swap is checked against a trading-pause flag and reverts if trading is paused. A fee is deducted from the swap amounts through return deltas and credited to recipients.
Liquidity behaviour
No liquidity callbacks are enabled, so LPs can add and withdraw freely and the hook can never block withdrawals.
Fee behaviour
A controller-set fee in basis points is taken from each swap, bounded by a maxFeeBps cap that cannot be confirmed from bytecode. Fees are split between a project recipient and a second party (likely a vault) using a configurable split, and recipients claim them later.
Owner & admin controls
A controller can pause or unpause all trading, set the fee up to maxFeeBps (exact value unknown), change fee recipients, and adjust a fee split parameter. It cannot touch LP withdrawals.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize: restricts who can create the pool; beforeSwap: enforces the pause and may take fee from input; afterSwap: computes and records fee splits; beforeSwapReturnDelta/afterSwapReturnDelta: let the hook deduct its fee from swap amounts.

Security & trust assessment

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

Who controls it: A single controller address can pause swaps, change the fee within its cap, and redirect fee recipients. It cannot block LP withdrawals.

Risk to user funds: The hook deducts a fee from swap amounts up to an unknown maxFeeBps cap and holds accrued fees for claiming. LP principal cannot be locked or drained by the hook.

Security findings

  • [medium] Controller can pause trading: setTradingPaused lets the controller halt all swaps in the pool at any time.
  • [low] Adjustable swap fee with unverified cap: The fee can be changed up to a maxFeeBps limit; the cap's exact value is not visible in unverified bytecode.
  • [info] LP withdrawals unrestricted: Remove-liquidity callbacks are disabled, so LPs can always withdraw.

Contract details

Verified source
No
Bytecode size
7,477 bytes
Upgradeable proxy
No
Detected patterns
dynamic-fee, erc20, fee-sharing, liquidity-management, moves-currency, return-delta

Pools using Fee sharing hook