Dynamic fee hook on Robinhood Chain
Uniswap v4 Hook Contract 0xcf8f482e998d18793414d10c9fc48fc8277ab8cc on Robinhood Chain · Dynamic fee
- Volume (24h)
- $1.71K
- Value locked (TVL)
- $11.63K
- All-time volume
- $5.31M
- Pools using this hook
- 74
- Swaps (24h)
- 27 (25 traders)
- Total swaps
- 22,327
What it does
A Uniswap v4 hook that sets dynamic LP fees and routes a share of pool activity into an associated vault using return deltas and ERC-6909 claims.
How it works step by step
- Maps each pool key to a vault address in storage through register and vaultOf
- Sets the dynamic LP fee on the pool manager via updateDynamicLPFee
- Takes or adjusts swap deltas through beforeSwapReturnDelta and afterSwapReturnDelta
- Mints or credits ERC-6909 claim balances tied to the vault
- Reads a creatorFeePPM value that suggests a creator fee share
- Swap behaviour
- beforeSwap and afterSwap run custom logic, may update the dynamic LP fee, and can alter swap amounts through return deltas.
- Liquidity behaviour
- Hooks before and after add and remove liquidity are present; beforeAddLiquidity is a view function and afterRemoveLiquidity is pure, suggesting liquidity callbacks mainly validate or observe rather than move funds.
- Fee behaviour
- Calls updateDynamicLPFee on the pool manager, indicating the hook sets a dynamic LP fee per pool; the fee calculation logic and any creatorFeePpm-based sharing could not be determined from bytecode alone.
- Owner & admin controls
- No admin controls found. The hook exposes register() which maps a pool key to a vault address (storage slot 0 mapping); access to register is not visible in decoded bytecode so it may be permissionless.
Enabled Uniswap v4 callbacks
beforeInitialize, afterInitialize, beforeAddLiquidity, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize and afterInitialize set up per-pool state and vault mapping; beforeSwap and afterSwap run swap-time logic including dynamic fee updates; beforeSwapReturnDelta and afterSwapReturnDelta indicate the hook can take or settle a share of swap amounts via return deltas; liquidity and donate callbacks appear present but are largely stubbed.
Security & trust assessment
Risk level: medium (decoded bytecode, low confidence).
Who controls it: Without visible owner or admin functions the hook appears largely non-custodial, but a dynamic fee setter or a register path without access control could let a party alter fees for pools it is attached to.
Risk to user funds: The hook can alter swap deltas and mint or credit ERC-6909 claims tied to vaults, so it can affect how pool value is split between traders, LPs and the vault, but no direct withdrawal of user funds was identified.
Security findings
- [medium] Return-delta swap manipulation: The hook uses beforeSwapReturnDelta and afterSwapReturnDelta, so it can alter the amounts exchanged in swaps and take a cut of trades.
- [medium] Dynamic fee control: The bytecode calls updateDynamicLPFee, so fees are set by hook logic and could be adjusted over time; the exact bounds and who triggers the update are not confirmed.
- [medium] Possibly unrestricted register function: The register function writes a pool-to-vault mapping in storage slot 0 and no access check was identified in decoded selectors, so any caller may be able to register pools.
- [low] ERC-6909 claim accounting: Calls to mint and credit on ERC-6909 claims show the hook can hold or mint claim balances on the pool manager on behalf of a vault.
- [info] Unnamed selectors: Several selectors (e.g. 0x8bf8eeae, 0x987f4f8c) have no known names, so their behaviour is unconfirmed.
Contract details
- Verified source
- No
- Bytecode size
- 6,793 bytes
- Upgradeable proxy
- No
- Detected patterns
- dynamic-fee, erc6909-claims, return-delta
Pools using Dynamic fee hook
- ETH / ORDO (Dynamic fee) — 24h volume $1.71K, TVL $9.28K, 26 swaps today
- ETH / SCL (Dynamic fee) — 24h volume $0.07, TVL $2.06K, 1 swaps today
- ETH / ORDO (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / SEED (Dynamic fee) — 24h volume $0, TVL $0.12, 0 swaps today
- ETH / ORDO (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / METRICS (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / SEED (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / BOTS (Dynamic fee) — 24h volume $0, TVL $61, 0 swaps today
- ETH / ORDO (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / P4096 (Dynamic fee) — 24h volume $0, TVL $0.44, 0 swaps today
- ETH / BARK (Dynamic fee) — 24h volume $0, TVL $0.70, 0 swaps today
- ETH / SCL (Dynamic fee) — 24h volume $0, TVL $22, 0 swaps today
- ETH / PAYGENT (Dynamic fee) — 24h volume $0, TVL $0.42, 0 swaps today
- ETH / 5050 (Dynamic fee) — 24h volume $0, TVL $45, 0 swaps today
- ETH / CBTC (Dynamic fee) — 24h volume $0, TVL $7.69, 0 swaps today
- ETH / ORDO (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / BMW (Dynamic fee) — 24h volume $0, TVL $2.71, 0 swaps today
- ETH / SPY (Dynamic fee) — 24h volume $0, TVL $5.85, 0 swaps today
- ETH / ORDO (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / BMW (Dynamic fee) — 24h volume $0, TVL $3.11, 0 swaps today