Fee sharing hook on Robinhood Chain

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

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

What it does

A gated pool hook that only allows trusted routers to swap when trading is open, charges every swap a capped dynamic hook fee paid to a fee recipient, records oracle prices, and leaves LP withdrawals unrestricted.

How it works step by step

  • Only pools registered by approved registrars can be initialized with this hook; each pool has its own configuration.
  • Swaps must come through owner-approved trusted routers, and registrars can open or disable trading per pool.
  • Liquidity additions can be limited to an allowlist of addresses per pool.
  • After each swap the hook takes a hook fee from the swap and sends it to a fee recipient, and it records price checkpoints that work as an on-chain oracle.
  • The fee appears to be dynamic per pool, with a hard-coded maximum (MAX_HOOK_FEE_BIPS, MAX_FEE) whose exact value cannot be read from bytecode alone.
Swap behaviour
Before a swap the hook checks that the pool is registered, trading is open, and the router is trusted, and reverts otherwise. After the swap it takes a hook fee from the swap amount, sends it to the fee recipient and updates oracle checkpoints.
Liquidity behaviour
Adding liquidity may be restricted to allowlisted addresses per pool. Remove-liquidity callbacks are disabled, so LPs can always withdraw freely.
Fee behaviour
Charges a per-pool hook fee on swaps via the after-swap return delta, paid to an owner-set fee recipient. It is bounded by hard-coded MAX_HOOK_FEE_BIPS and MAX_FEE constants whose exact values are not confirmed from bytecode.
Owner & admin controls
The owner can set registrars, trusted routers and the fee recipient. Registrars can register and configure pools, set fee parameters within the hard-coded max, manage LP allowlists, and disable trading.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeAddLiquidity, beforeSwap, afterSwap, afterSwapReturnDelta

beforeInitialize: only allows registered pools to be created; beforeAddLiquidity: enforces the LP allowlist; beforeSwap: checks trading status and trusted routers; afterSwap: updates oracle checkpoints and computes the fee; afterSwapReturnDelta: deducts the hook fee from the swap.

Security & trust assessment

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

Who controls it: The owner and owner-approved registrars control pool registration, trading status, router allowlists, LP allowlists and fee settings. At worst they can halt swaps or raise fees up to the hard-coded maximum.

Risk to user funds: The hook can take a fee from swap amounts up to an unverified hard-coded cap; it does not hold LP principal. LPs can always withdraw their liquidity.

Security findings

  • [medium] Trading can be disabled and routers gated: Registrars can disable trading on a pool and the owner controls which routers may swap, so swaps can be halted or restricted.
  • [low] Hook fee via return delta, cap unverified: The hook deducts a fee from swaps and sends it to the fee recipient; a maximum fee constant exists but its value cannot be confirmed from bytecode.
  • [info] LP withdrawals unrestricted: Remove-liquidity callbacks are disabled, so the hook can never block or charge LP withdrawals.

Contract details

Verified source
No
Bytecode size
10,360 bytes
Upgradeable proxy
No
Detected patterns
access-control, dynamic-fee, fee-sharing, moves-currency, oracle, ownable, return-delta

Pools using Fee sharing hook