Oracle hook on Robinhood Chain

Uniswap v4 Hook Contract 0x57869786bed8665cbb767b3fada842be05b8d0c0 on Robinhood Chain · Oracle

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

What it does

This hook records a TWAP price oracle on every swap and applies an owner-set swap fee, with an unverified cap, that one exempt address may avoid, while LPs keep full freedom to add and withdraw.

How it works step by step

  • Records a time-weighted price (TWAP) history of the pool's tick on initialization and after each swap, which others can read through a consult function.
  • Appears to set a swap fee in beforeSwap from an owner-set fee value, with certain addresses (a fee-exempt address) possibly paying less or nothing.
  • Tracks bounds such as a floor tick, a maximum tick move and a staleness window, likely used to sanity-check prices.
  • The owner can register the tracked pool, set a fee value (guarded by a FeeTooHigh check), set a fee-exempt address and adjust a small configuration value.
Swap behaviour
Before each swap the hook reads its stored fee settings and may return a fee override, with an exempt address possibly treated differently; after each swap it records the new tick into its price history. It cannot take tokens from swaps because return-delta permissions are disabled.
Liquidity behaviour
No liquidity callbacks; LPs can add and withdraw freely.
Fee behaviour
The swap fee appears to be an owner-set value that may be applied as a dynamic fee override, and a FeeTooHigh check suggests a cap exists, but the exact cap cannot be confirmed from bytecode. Fees go to LPs through the normal pool fee mechanism, since the hook cannot take tokens.
Owner & admin controls
The owner, using two-step ownership transfer, can set the tracked pool, the swap fee (bounded by an unverified cap), the fee-exempt address and a 16-bit config value. The owner cannot touch LP withdrawals or take tokens from swaps.

Enabled Uniswap v4 callbacks

afterInitialize, beforeSwap, afterSwap

afterInitialize: starts the price history for the pool; beforeSwap: applies the configured fee and exemption logic; afterSwap: writes a new price observation.

Security & trust assessment

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

Who controls it: A single owner controls the fee setting, the fee-exempt address and the tracked pool. At worst they can raise swap fees up to an unverified cap or favor one exempt address.

Risk to user funds: The hook holds no user funds and cannot deduct tokens from swaps or liquidity; its only influence is the swap fee level, whose exact maximum is unverified. LP principal cannot be locked or drained.

Security findings

  • [low] Owner-set swap fee with unverified cap: The owner can change the fee, and a FeeTooHigh error shows a cap check exists, but the exact maximum cannot be read from the unverified bytecode.
  • [info] Fee exemption address: One owner-chosen address may get a different fee on swaps than other traders.
  • [info] LP withdrawals unrestricted: Remove-liquidity callbacks and return deltas are disabled, so the hook cannot block withdrawals or take tokens.

Contract details

Verified source
No
Bytecode size
9,151 bytes
Upgradeable proxy
No
Detected patterns
dynamic-fee, ownable

Pools using Oracle hook