Likely custom pricing hook on Robinhood Chain

Uniswap v4 Hook Contract 0xed12a8042538dc7334d973ec7c37640319410088 on Robinhood Chain · Custom pricing

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 takes over swap pricing on its pool through a return delta, moving currency during each trade, though without verified source it cannot be confirmed which trades pay more or less.

How it works step by step

  • Implements beforeSwap with beforeSwapReturnDelta, so the hook can override the pool's swap amounts and settle the trade itself.
  • Calls take(address,address,uint256) on the PoolManager, moving currency out of the pool to a recipient during the swap.
  • Writes storage slots 0 and 1 from an external function (selector 0x92f34736, two uint256 arguments), likely an owner or configuration setter for two parameters.
  • Reads slots 0 to 3 during beforeSwap and the view function, and writes slot 2 inside beforeSwap, indicating per-swap state tracking.
  • Uses checked arithmetic that can revert with a Panic(uint256), typical of overflow or division-by-zero checks in pricing math.
Swap behaviour
On each swap the hook's beforeSwap runs first, reads its stored parameters, updates slot 2 and may take currency from the pool with take() and return a delta that replaces part of the pool's swap accounting, so trades routed through this pool are priced by the hook rather than the standard curve. Which trades pay more or less cannot be determined from the bytecode alone.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Fees or price adjustments are not clearly identifiable from the decoded bytecode; the hook appears to influence swap amounts through its return delta rather than an explicit fee field.
Owner & admin controls
The external function at selector 0x92f34736 writes storage slots 0 and 1; whether it is access-controlled cannot be verified without source, so the caller restrictions are unknown.

Enabled Uniswap v4 callbacks

beforeSwap, beforeSwapReturnDelta

beforeSwap: runs before every swap to compute and apply the custom swap amounts. beforeSwapReturnDelta: lets the hook return a delta that changes the amounts the pool settles, and the bytecode shows it calling take() to move currency.

Security & trust assessment

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

Who controls it: If the setter at 0x92f34736 is callable by a privileged key, that key could change the parameters that determine swap amounts and redirect pool currency through take().

Risk to user funds: The hook can take tokens from the pool and alter settlement via return deltas during swaps, so LP and trader funds are exposed to whatever logic the bytecode implements.

Security findings

  • [high] Hook moves pool currency and returns deltas: beforeSwap calls take() on the PoolManager and uses beforeSwapReturnDelta, so the hook can alter the amounts a swap settles and remove tokens from the pool.
  • [medium] Unverified external setter: The function selector 0x92f34736 is state-changing and writes storage slots 0 and 1, but no source is available to confirm whether it is restricted to an owner.
  • [medium] Unknown pricing logic: Pricing and fee math is only visible as opaque bytecode, so the exact economic effect on traders and LPs cannot be confirmed.

Contract details

Verified source
No
Bytecode size
1,079 bytes
Upgradeable proxy
No
Detected patterns
moves-currency, return-delta

Pools using Likely custom pricing hook