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
- ETH / test (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today