Fee sharing hook on Robinhood Chain

Uniswap v4 Hook Contract 0x4cb0e37db4821ec35b5d7aedd6ca4a11421e20cc on Robinhood Chain · Fee sharing

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 a configurable levy from swaps through return deltas and credits a portion back under owner-set rates, but the exact direction and recipients of the levy cannot be confirmed without verified source.

How it works step by step

  • Hook is an ERC20-style token contract with owner, name/symbol/decimals/totalSupply and transfer/approve functions, deployed as a Uniswap v4 hook.
  • Enables beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta and afterSwapReturnDelta, so it can take a cut of swap amounts through return deltas.
  • Stores a levy rate (levyBps) and a credits rate (creditsBps) as configurable parameters, and tracks a levied counter.
  • Uses an unlockCallback path and calls take() on the pool manager to move currency out of the pool during swaps.
  • Exposes a plinth() getter and poolManager() reference, indicating the hook is tied to a specific pool manager and an internal reserve/plinth accounting mechanism.
Swap behaviour
beforeSwap and afterSwap run on every swap; they update levy and credit accounting and can return a delta that takes a levy portion of swap amounts from the trade, so the exact direction and size of the levy depends on logic not visible in the decoded input.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Levy taken from swaps via return deltas at a rate set by levyBps; the pool's own fee is not otherwise changed. Credits are governed by creditsBps. Exact fee-sharing recipients cannot be determined from decoded bytecode.
Owner & admin controls
Ownable: owner can transferOwnership and renounceOwnership; owner-restricted parameter setters for levyBps and creditsBps are likely but not confirmed from decoded selectors.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize sets initialization state; beforeSwap computes the pre-swap levy and any delta; afterSwap settles the levy and credits after execution; beforeSwapReturnDelta and afterSwapReturnDelta allow the hook to take currency from the swap.

Security & trust assessment

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

Who controls it: The owner can renounce or transfer ownership and likely change levy and credit parameters; a compromised owner key could raise fees or redirect levy proceeds.

Risk to user funds: The hook can take tokens from pool swaps through return deltas and holds a token balance, so user swap proceeds are exposed to the levy mechanism.

Security findings

  • [high] Return-delta currency capture: The hook has beforeSwapReturnDelta and afterSwapReturnDelta enabled and calls take() on the pool manager, so it can extract a share of every swap's currency.
  • [medium] Owner-configurable levy rate: levyBps and creditsBps are read from storage and the owner controls the contract, so a privileged key could raise the levy to a high percentage and extract user value from swaps.
  • [medium] Unverified source: No verified source is available, so the exact accounting, rate bounds and recipient logic can only be inferred from selectors and storage.
  • [info] Token functionality on hook: The hook also implements a full ERC20 interface (transfer, approve, transferFrom), which may represent a share or claim token tied to the pool.

Contract details

Verified source
No
Bytecode size
7,579 bytes
Upgradeable proxy
No
Detected patterns
erc20, moves-currency, ownable, return-delta, self-unlock

Pools using Fee sharing hook