Custom pricing hook on Robinhood Chain

Uniswap v4 Hook Contract 0x0f60ea935db902fffa4eaff047e24eaf6e428088 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

A swap hook that runs logic before each swap, can alter settled amounts through a return delta, and appears to mint a soybean token as a side effect, though the exact mechanism is unclear without source.

How it works step by step

  • Runs custom logic in beforeSwap for every swap on pools using this hook
  • Uses a return delta to adjust the amounts settled by the pool
  • Calls take to move currency out of the pool during swaps
  • Calls mintSoybean(uint32), suggesting it mints a token as a side effect
  • Reads a uint24 parameter from storage slot 0 that may control fees or thresholds
Swap behaviour
beforeSwap runs on every swap and can take currency through a return delta, changing the amounts settled with the pool.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Likely reads a uint24 value from storage slot 0 offset 0 or 3 that may act as a fee or parameter; the exact fee logic cannot be determined from the decoded bytecode.
Owner & admin controls
Selector 0x987477df is a nonpayable function taking two uint256 arguments that writes storage slot 0 (uint24 at offset 0); no owner check is evident in the decoded data, so it may be an unrestricted parameter setter, but this cannot be confirmed without source.

Enabled Uniswap v4 callbacks

beforeSwap, beforeSwapReturnDelta

beforeSwap: runs custom logic before each swap and can alter the swap through a return delta, which is the only enabled callback; beforeSwapReturnDelta: lets the hook's return value shift the amounts the pool settles, so the hook can take or give currency during swaps.

Security & trust assessment

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

Who controls it: The function at 0x987477df appears to write hook parameters with no detectable access control, so any caller may be able to change the stored value; if it is restricted, a single privileged key would control the parameter.

Risk to user funds: Because beforeSwapReturnDelta is enabled and the hook calls take, the hook can take currency from pool flows during swaps, which can change amounts traders receive or pay.

Security findings

  • [high] Hook moves currency during swaps: beforeSwapReturnDelta is enabled and the bytecode contains a take(address,address,uint256) call, so the hook can withdraw currency from the pool during swaps.
  • [medium] Possibly unprotected state-changing function: Selector 0x987477df writes to storage without any visible owner or role check in the decoded data, so unauthorized callers may be able to alter the stored parameters.
  • [medium] Side-effect token minting: The bytecode contains a mintSoybean(uint32) selector, suggesting the hook mints an external token as a side effect of swaps.
  • [info] Unverified source: Source is not verified, so behaviour is inferred from selectors and storage layout only and the exact logic is uncertain.

Contract details

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

Pools using Custom pricing hook