Dynamic fee hook on Robinhood Chain

Uniswap v4 Hook Contract 0x4ebe25e5b6493194a58ac8b62bb13b38156f7040 on Robinhood Chain · Dynamic fee

Volume (24h)
$231.99K
Value locked (TVL)
$18.53K
All-time volume
$231.99K
Pools using this hook
1
Swaps (24h)
1,643 (578 traders)
Total swaps
1,643

What it does

This hook sets up per-pool configuration when a pool is created and records swap activity afterwards, but the decoded bytecode does not show it changing swap fees or prices, so traders and LPs pay the pool's static fee.

How it works step by step

  • Enabled hook callbacks are beforeInitialize, afterInitialize and afterSwap only; liquidity and donate callbacks exist in the dispatcher but are not enabled by the address permissions.
  • Stores pool configuration at initialization (pool id, quote token side, tick spacing, LP fee and a whale threshold) in storage slots 0 to 3.
  • Exposes a whaleThreshold and whaleThresholdAt(int24) view, indicating large trades are identified against a threshold that varies by tick.
  • Exposes T_SNARE, T_GLITCH and T_HAT getters, suggesting tiered trade or fee categories that the afterSwap logic uses to update state.
  • Keeps running state (raw, state) that afterSwap reads and writes, so the hook tracks per-pool activity over time.
  • Reads and checks the pool manager and hook-enabled status through the standard v4 guards (OnlyPoolManager, HookNotEnabled).
Swap behaviour
No beforeSwap callback is enabled; afterSwap runs after each swap and reads and updates stored state (whale threshold, tier and state values) to record the swap. Whether any trades pay more or less cannot be determined from the decoded bytecode.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Uses the pool's static fee; the hook does not enable beforeSwap and no return-delta fee override is present in the enabled permissions. LP_FEE is a stored value readable through the LP_FEE getter.
Owner & admin controls
No admin controls found.

Enabled Uniswap v4 callbacks

beforeInitialize, afterInitialize, afterSwap

beforeInitialize validates or records the pool at creation; afterInitialize writes the initial pool configuration to storage; afterSwap reads and updates tier and state variables after each swap.

Security & trust assessment

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

Who controls it: No privileged setter selector was found in the dispatched functions, so no single key was identified that could change the hook's behaviour after deployment.

Risk to user funds: The hook has no before-swap or return-delta permissions and no liquidity hooks, so it cannot hold, move or block user funds in the enabled flows.

Security findings

  • [info] No swap-time fee or delta control: Only afterSwap is enabled and no beforeSwap or return-delta permission is set, so the hook cannot change swap amounts or take tokens from swappers.
  • [info] Immutable configuration in storage: Pool parameters such as LP fee and whale threshold are written during initialization and do not show a setter in the dispatched selectors.

Contract details

Verified source
No
Bytecode size
9,484 bytes
Upgradeable proxy
No

Pools using Dynamic fee hook