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
- ETH / IDM (1.25% fee) — 24h volume $231.99K, TVL $18.53K, 1,643 swaps today