Likely fee sharing hook on Robinhood Chain

Uniswap v4 Hook Contract 0x6cff9685c1bc16832c256be40656b1baccc440c4 on Robinhood Chain · Access control

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

What it does

An owner-controlled Uniswap v4 hook that runs before and after swaps and can adjust the swap settlement through a return delta, likely to capture a fee, though the exact logic is not verified.

This read was written for the hook 0x25ef…80c4 on Robinhood Chain and reused here: the two share a code shape, so constants such as fees, owners and addresses can differ.

How it works step by step

  • Runs a check or action before each swap, gated by an enabled flag
  • Runs logic after each swap and can return a token delta to the pool manager
  • Stores a pool key and a configuration array for the pools it manages
  • Owner can toggle the hook on or off with setEnabled
  • Owner can update fee-related parameters stored on-chain
  • Ownership is transferable in two steps
Swap behaviour
Hook runs beforeSwap and afterSwap; afterSwap can return a delta that modifies the swap settlement, likely a fee taken from the swap.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Fee parameters appear to be stored in slot 2 (three uint24 values and a uint32) and set by the owner-only function 0x3c08609d; the decoded bytecode does not confirm whether these are LP fee, protocol fee or a hook-taken fee, so the exact fee logic cannot be determined.
Owner & admin controls
Owner (Ownable with two-step transfer: transferOwnership and acceptOwnership) can call setEnabled(bool) to toggle the hook, call the 0x3c08609d function that writes fee-related parameters in storage slot 2, call 0x533d74e5 (address-taking, writes a uint8 in slot 4 via the unlock flow), call 0xee31ce33 which writes uint16 config values, and call 0xd6e283b9 which writes a dynamic array of pool-config structs. No pause or upgrade mechanism was identified in the decoded functions.

Enabled Uniswap v4 callbacks

beforeSwap, afterSwap, afterSwapReturnDelta

beforeSwap: reads the enabled flag and a stored pool key to decide whether to act before a swap. afterSwap: reads enabled flag, stored config and an array of pool data after each swap. afterSwapReturnDelta: indicates the hook can return a delta after swaps, so it may take or give a token amount from the swap outcome.

Security & trust assessment

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

Who controls it: A single owner key controls the enabled flag, fee-related parameters, pool configuration array and ownership transfer. A malicious or compromised owner could disable the hook, alter fee parameters that feed the return delta, or reconfigure tracked pools.

Risk to user funds: Through afterSwapReturnDelta the hook can take or return a token amount on swaps, so it can affect user proceeds. It does not appear to custody pool liquidity directly, but owner-set parameters govern how much value is moved. Exact amounts cannot be determined without the source.

Security findings

  • [medium] Return-delta fee capture: afterSwapReturnDelta is enabled, so the hook can alter the amounts settled on swaps by returning a delta; an owner-set fee parameter could shift value from traders or LPs.
  • [medium] Owner-adjustable fee and pool configuration: Owner can change the parameters in slot 2 and the config array in slot 3 through owner-gated functions, and can toggle enabled at any time.
  • [low] Single privileged owner: Ownable with two-step transfer; no timelock or multisig was identified from the bytecode.
  • [info] Unverified source: Source is unverified and function names are unknown; several selectors (0x3c08609d, 0xee31ce33, 0xd6e283b9, 0x533d74e5) could not be mapped to intent with confidence.

Contract details

Verified source
No
Bytecode size
12,162 bytes
Upgradeable proxy
No
Detected patterns
ownable, return-delta

Pools using Likely fee sharing hook