Likely custom pricing hook on Robinhood Chain

Uniswap v4 Hook Contract 0xd859c5929db5ed17a83321bc5c31f58a706c4088 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 runs custom logic before every swap and can take a share of the swap through its return delta, but without source it is unclear whether traders in either direction pay more or less.

How it works step by step

  • Exposes a beforeSwap callback that runs before each swap in a pool using this hook.
  • Reads and writes a per-address mapping (slot 0, uint128 values) inside beforeSwap, suggesting per-caller accounting.
  • Maintains two uint256 state variables (slots 1 and 2) that are updated on swaps and read by a view function.
  • Calls take(address,address,uint256) on the PoolManager, which moves currency out of the pool to the hook during swaps.
  • Uses beforeSwapReturnDelta, so it can return a delta that changes the amounts the swapper receives or pays.
Swap behaviour
beforeSwap updates the mapping and counters and, through the take call and the return delta, can alter the swap amounts or move currency to the hook; the exact pricing rule cannot be determined from bytecode alone.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Uses the pool's static fee; no fee-setting selector was decoded, although the return delta may capture part of the swap amount.
Owner & admin controls
No admin controls found.

Enabled Uniswap v4 callbacks

beforeSwap, beforeSwapReturnDelta

beforeSwap is used to run custom logic and update hook state before each swap; beforeSwapReturnDelta lets the hook return a delta that changes the swap's settled amounts and takes currency via take.

Security & trust assessment

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

Who controls it: No privileged owner was identified, so centralization risk appears limited, but without source this cannot be confirmed.

Risk to user funds: The hook can move pool currency via take and alter swap settlement via its return delta, so it can hold or redirect value from swappers and pool liquidity.

Security findings

  • [high] Hook takes currency via return delta: The hook has beforeSwapReturnDelta permission and calls take(address,address,uint256), so it can extract tokens from swaps. The amounts depend on logic not visible without source.
  • [medium] Unverified source: No verified source is available, so the pricing, accounting and access checks can only be inferred from selectors and storage access.
  • [info] Unauthenticated beforeSwap: No owner or caller check was identified in the decoded functions; the beforeSwap selector is nonpayable and the code does not clearly gate it, which may be intended since only the PoolManager calls it in normal flow.

Contract details

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

Pools using Likely custom pricing hook