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
- USDG / PEZ (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today