Likely dynamic fee hook on Robinhood Chain

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

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

What it does

This hook runs custom logic before each swap and appears to read pool state for time-based configuration, but from the decoded bytecode alone I cannot confirm whether it changes fees or which trades pay more or less.

How it works step by step

  • Exposes a manager() view returning the pool manager address the hook is bound to
  • Implements beforeSwap, which runs before every swap in a pool using this hook
  • Has a register(PoolKey, address) function that stores an address in a mapping keyed by uint256 slot 0, apparently recording per-pool configuration
  • Has a WINDOW() view and a getHookPermissions() view, suggesting a time window parameter and standard permission reporting
  • Calls extsload on the pool manager, indicating it reads pool state from transient or persistent storage
  • Only beforeSwap is enabled from the address permissions, so it cannot alter liquidity or after-swap accounting
Swap behaviour
beforeSwap is executed on every swap; the exact fee or logic applied cannot be determined from decoded bytecode alone, but it reads pool state via extsload and a time WINDOW parameter, consistent with a time-dependent or oracle-driven adjustment.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Uses the pool's static fee as far as the enabled permissions show; no dynamic fee override could be confirmed from the decoded functions, and the beforeSwap return value was not decoded.
Owner & admin controls
No admin controls found in the decoded functions; the register function is the only state-writing entry point and its access control could not be determined from bytecode.

Enabled Uniswap v4 callbacks

beforeSwap

beforeSwap is used to run custom logic before each swap, most likely reading pool state and a registered parameter set.

Security & trust assessment

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

Who controls it: If register is access-controlled, a privileged key could set the parameter address for pools, altering hook behaviour; the decoded bytecode does not show an owner or upgrade mechanism.

Risk to user funds: beforeSwap has no return-delta permission enabled, so the hook cannot take or move user tokens directly; funds exposure is limited to any fee or price effect it applies during swaps.

Security findings

  • [medium] Unverified source: No verified source is available, so the exact logic of beforeSwap and its effect on swap pricing cannot be confirmed from the bytecode.
  • [medium] Unrestricted register function: register(PoolKey, address) writes to storage slot 0 and its caller restrictions could not be determined; if unprotected, anyone could bind arbitrary configuration to a pool.
  • [info] Pool state reads via extsload: The hook calls extsload on the pool manager to read state, which is a read-only dependency but means its behaviour depends on external pool state.

Contract details

Verified source
No
Bytecode size
2,650 bytes
Upgradeable proxy
No

Pools using Likely dynamic fee hook