Likely custom pricing hook on Robinhood Chain

Uniswap v4 Hook Contract 0xf778162207f384ebb196e31d270ac44ef10c60cc on Robinhood Chain · Access control

Volume (24h)
$0
Value locked (TVL)
$7.88K
All-time volume
$356.42K
Pools using this hook
5
Swaps (24h)
0 (0 traders)
Total swaps
5,644

What it does

A tax-style Uniswap v4 hook that collects a configurable fee on swaps for a platform treasury, with pool registration gated by beforeInitialize; exact behaviour is inferred from bytecode only.

How it works step by step

  • Registers pools on initialization and tracks them in pool mappings (hasPool, poolOfToken).
  • Reads per-pool configuration (poolConfigs) on each swap.
  • Takes a tax from swaps via beforeSwapReturnDelta and afterSwapReturnDelta.
  • Forwards collected currency to a platform treasury through the pool manager.
  • Exposes owner-controlled setters for treasury, config manager, router and tax parameters.
Swap behaviour
beforeSwap and afterSwap run on every swap and use return deltas to take a currency amount as a tax, which is forwarded to the platform treasury.
Liquidity behaviour
beforeAddLiquidity, afterAddLiquidity, beforeRemoveLiquidity and afterRemoveLiquidity selectors are present as views in the dispatch table; the hook does not appear to declare these permissions, so they are likely unused by the hook's permission flags.
Fee behaviour
Dispatch names suggest a tax model: BASE_FEE_BPS, MAX_TAX_BPS, LP_FEE and FEE_DENOMINATOR are exposed, and the hook uses return deltas to take a currency amount per swap, likely routing part of it to a platform treasury. Exact fee formula could not be confirmed without source.
Owner & admin controls
Owner (Ownable) can transfer or renounce ownership, set the config manager (e09562fc), set platform treasury (8b869b3b), and call functions 0cf2178d, 3644a335, 62595e0e, d2f00b0b (takes uint256,uint16,uint16 - likely fee/tax parameters), and c074cb52 (router/treasury address setter). Manager address is also authorized for some actions (OnlyOwnerOrManager). Pausing or upgrades not identified.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize: registers or validates pool creation for tokens and fee tier. beforeSwap: reads pool config and can adjust swap via return delta. afterSwap: post-swap accounting and possibly tax collection via return delta, moving currency to treasury.

Security & trust assessment

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

Who controls it: The owner can change the platform treasury, config manager and router, and call parameter-setting functions that likely alter tax amounts, so a compromised owner key could redirect swap proceeds or raise the tax on users.

Risk to user funds: The hook can take a portion of swap input or output via return deltas and forward it to the platform treasury; it does not appear to hold user funds long term, but a misconfigured or malicious owner could raise tax up to the cap or change the destination.

Security findings

  • [medium] Hook takes currency from swaps via return deltas: The hook sets beforeSwapReturnDelta and afterSwapReturnDelta, so it can take or redirect tokens from swaps, and the take(address,address,uint256) and deposit selectors show it moves currency.
  • [medium] Owner-controlled treasury and fee parameters: The owner can set the treasury address and tax parameters (d2f00b0b, c074cb52 and others), so a single key controls where fees flow.
  • [info] Source not verified: Without verified source, the exact tax calculation and bounds enforced on owner-set parameters cannot be confirmed beyond the MAX_TAX_BPS constant.
  • [low] Single owner key with no timelock detected: Ownable pattern with renounceOwnership and transferOwnership; no timelock or multisig indicated in the bytecode.

Contract details

Verified source
No
Bytecode size
7,901 bytes
Upgradeable proxy
No
Detected patterns
moves-currency, ownable, return-delta

Pools using Likely custom pricing hook