Dynamic fee hook on Robinhood Chain

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

Volume (24h)
$324
Value locked (TVL)
$435
All-time volume
$324
Pools using this hook
1
Swaps (24h)
52 (40 traders)
Total swaps
52

What it does

This hook sets a dynamic LP fee for its pool after each swap, but without verified source it cannot be said which trades pay more or less.

How it works step by step

  • Hook receives afterInitialize and afterSwap callbacks from the Uniswap v4 PoolManager
  • afterInitialize stores per-pool initial state (a mapping of uint256 keys to int24 values) and fetches or records parameters for the pool
  • afterSwap reads stored state and a second int16 mapping and computes a dynamic fee outcome
  • Calls updateDynamicLPFee on the PoolManager to push a new LP fee for the pool, indicating the fee is adjusted dynamically based on swap activity
  • Exposes view functions for model, modelHash, modelCodeHash, startToken, maximumWords, poolManager and getHookPermissions, suggesting a parameterised model or oracle-like pricing component
  • Uses a CALLBACK_GAS_RESERVE constant and a Panic/InvalidConfiguration error set for internal safety checks
Swap behaviour
afterSwap runs after each swap, reads stored state and computes a new dynamic fee which it pushes to the pool via updateDynamicLPFee; from the decoded bytecode alone it is not possible to determine which swap direction or trade size pays more or less.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Dynamic LP fee: the hook calls updateDynamicLPFee on the PoolManager after swaps to set a new fee for the pool; the exact fee formula cannot be determined without source.
Owner & admin controls
No admin controls found.

Enabled Uniswap v4 callbacks

afterInitialize, afterSwap

afterInitialize records initial pool state and parameters for the new pool; afterSwap computes and pushes the updated dynamic LP fee after each swap.

Security & trust assessment

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

Who controls it: No owner or admin function was identified in the decoded selectors, so no privileged key is apparent; the hook's own logic and any contract it reads from define outcomes.

Risk to user funds: The hook does not appear to take custody of tokens; its main effect is setting the LP fee, which affects amounts received by traders and earned by LPs, and it does not obviously block swaps.

Security findings

  • [medium] Hook can change the pool LP fee: afterSwap calls updateDynamicLPFee on the PoolManager, so the hook fully determines the fee charged on subsequent swaps; a bug in the fee formula could set extreme fees.
  • [info] No source verification: Contract source is not verified, so the fee formula and any owner or upgrade paths cannot be confirmed from bytecode alone.
  • [low] External extsload dependency: The hook calls extsload on a contract, so its behaviour depends on external state that could change.

Contract details

Verified source
No
Bytecode size
7,331 bytes
Upgradeable proxy
No
Detected patterns
dynamic-fee

Pools using Dynamic fee hook