Likely custom pricing hook on Robinhood Chain

Uniswap v4 Hook Contract 0x59e490c692ba50cb6de62c94ff5721afb7628088 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 changes swap settlement by taking tokens from the pool and returning a delta on every trade, but the exact effect on fees and which trades pay more or less cannot be determined from the decoded bytecode.

How it works step by step

  • Implements beforeSwap with a return delta, so the hook can settle part of a swap itself instead of the pool AMM handling it fully
  • Calls take(currency0 or currency1, recipient, amount) on the PoolManager, which moves tokens out of the pool's reserves to a recipient
  • Keeps two packed counters in storage slot 0 (uint64 values at offsets 0 and 8, plus a third uint64 at offset 16) that are read and updated during swaps
  • Stores a uint256 value in slot 1 that is read and written by beforeSwap
  • Has a view function (selector 0xfe71d0a8) that reads the packed slot 0 values, likely exposing the counters or state
Swap behaviour
beforeSwap runs before each swap, can take tokens from the pool via take(), and returns a delta that changes the amounts the swap settles, so trades may execute at a different price or size than the standard curve would give.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Uses the pool's static fee; no fee logic is visible in the decoded functions, though the return delta may alter effective amounts.
Owner & admin controls
No admin controls found.

Enabled Uniswap v4 callbacks

beforeSwap, beforeSwapReturnDelta

beforeSwap is used to read and update internal counters and state, calling take() to move tokens and returning a delta to change swap settlement; beforeSwapReturnDelta is enabled, which lets the hook modify the swap amounts.

Security & trust assessment

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

Who controls it: No owner or admin functions were identified, so no privileged key was found; centralization risk cannot be fully assessed without source.

Risk to user funds: The hook can take tokens from the pool via take() and alter swap settlement through the return delta, so it can affect pool and user funds on each swap.

Security findings

  • [high] Return delta with currency movement: beforeSwapReturnDelta is enabled and the bytecode calls take(), so the hook can move pool tokens and alter swap amounts on every trade.
  • [medium] Unverified source: No verified source is available, so the exact pricing or settlement logic and any hidden conditions cannot be confirmed from the decoded bytecode.
  • [medium] Stateful swap logic: beforeSwap reads and writes packed counters in storage slot 0 and a value in slot 1, so swap outcomes may depend on accumulated state that users cannot easily inspect.
  • [low] Panic revert path: The bytecode contains a Panic(uint256) selector, indicating arithmetic or bounds checks that can revert swaps under certain conditions.

Contract details

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

Pools using Likely custom pricing hook