Fee sharing hook on Robinhood Chain
Uniswap v4 Hook Contract 0x7021dcaf57b7262bc02213a291361476357fa0cc on Robinhood Chain · Fee sharing
- Volume (24h)
- $331
- Value locked (TVL)
- $0
- All-time volume
- $331
- Pools using this hook
- 1
- Swaps (24h)
- 9 (8 traders)
- Total swaps
- 9
What it does
This hook takes a fee on swaps in this pool, which it accumulates for a fee recipient to withdraw, though exactly which trades pay more or less could not be confirmed from the bytecode.
How it works step by step
- Acts as an ERC20-style token launchpad hook: exposes name, symbol, decimals, totalSupply, balances and allowances, plus a launcher address and metadata URI.
- Sets a fee in basis points (feeBps) and a fixed pool fee (POOL_FEE) and tracks fees accrued and pending for a fee recipient.
- On beforeSwap and afterSwap it can take a share of swap amounts through return deltas, accumulating fees in storage slots 8 and 9.
- Allows the fee recipient or privileged caller to withdraw accumulated fees via withdrawFees, tracking totalWithdrawn.
- Has an unlockCallback path that calls the pool manager unlock and take functions to move currency during swaps.
- Includes BURN_ADDRESS, BURN_SUPPLY and LP_SUPPLY constants suggesting a burn or supply split mechanic tied to the launched token.
- Swap behaviour
- beforeSwap and afterSwap are both enabled with return-delta permissions, so the hook can alter the amounts a swap settles and take a fee from the swap; the exact direction (which trades pay more or less) cannot be determined from decoded bytecode alone.
- Liquidity behaviour
- beforeAddLiquidity, afterAddLiquidity, beforeRemoveLiquidity and afterRemoveLiquidity are present as view-selector entries, and no liquidity hook permission is enabled, so liquidity callbacks are not invoked on the pool.
- Fee behaviour
- Fee is a configurable feeBps value with fees accrued into storage and withdrawable by the fee recipient; the pool itself uses a POOL_FEE value.
- Owner & admin controls
- A fee recipient can withdraw accumulated fees via withdrawFees; no explicit owner, pause or upgrade function was identified from the decoded selectors.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize sets canonical pool id and initialization flag; beforeSwap and afterSwap apply fee logic and update fee accounting; beforeSwapReturnDelta and afterSwapReturnDelta let the hook take currency from swap deltas.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, low confidence).
Who controls it: Whoever controls the fee recipient or withdrawal authority can collect accumulated fees; if the fee rate is adjustable, that key could raise the fee charged on swaps.
Risk to user funds: The hook can take currency from swaps through return deltas and holds accrued fee balances in its own storage/token balance, so user swap proceeds are exposed to fee capture.
Security findings
- [medium] Return-delta fee capture: beforeSwapReturnDelta and afterSwapReturnDelta are enabled and the hook moves currency via take and unlock, so it can skim value from every swap on this pool.
- [medium] Privileged fee withdrawal: withdrawFees(uint256) lets a privileged caller pull accumulated fees; the access check could not be confirmed from bytecode.
- [info] Fee rate parameter: feeBps is stored and readable; whether it can be changed by an admin could not be determined from the decoded functions.
- [info] Unverified source: No verified source is available, so access control and fee bounds are inferred only from selectors and storage.
Contract details
- Verified source
- No
- Bytecode size
- 7,428 bytes
- Upgradeable proxy
- No
- Detected patterns
- erc20, fee-sharing, launchpad, moves-currency, return-delta, self-unlock
Pools using Fee sharing hook
- ETH / RICH (0.15% fee) — 24h volume $331, TVL $0, 9 swaps today