Fee sharing hook on Robinhood Chain
Uniswap v4 Hook Contract 0xe4c91eaf736cd40e15b902a0d57c06b525bde0cc on Robinhood Chain · Fee sharing
- Volume (24h)
- $171
- Value locked (TVL)
- $0
- All-time volume
- $171
- Pools using this hook
- 1
- Swaps (24h)
- 10 (5 traders)
- Total swaps
- 10
What it does
This hook charges a configured basis-point fee on swaps and accumulates it for a fee recipient to withdraw, so traders pay the fee on every swap in the same direction and liquidity providers are not affected by this hook.
How it works step by step
- Hook is a launchpad-style token (ERC20 with name, symbol, totalSupply, approve and transferFrom) that is attached to a Uniswap v4 pool at initialization.
- beforeSwap and afterSwap both run and can return deltas, so the hook can take or adjust swap amounts and accrue fees on swaps.
- Accrued fees are tracked in storage (pendingFees, totalFeesAccrued, totalWithdrawn) and paid out through withdrawFees.
- withdrawFees and unlockCallback call the pool manager (unlock, take) to move currency out of the pool to the fee recipient.
- feeBps and feeRecipient storage indicate a configurable fee rate and a single recipient address.
- beforeAddLiquidity and beforeRemoveLiquidity selectors are present but the hook does not request liquidity callback permissions.
- Swap behaviour
- beforeSwap and afterSwap run on every swap; the hook may return a delta based on feeBps and accrue the fee amount, so swappers pay the configured fee on the swap amount.
- Liquidity behaviour
- No liquidity callbacks.
- Fee behaviour
- A fee in basis points (feeBps) is taken on swaps, accrued in pendingFees and totalFeesAccrued, and paid to feeRecipient via withdrawFees.
- Owner & admin controls
- withdrawFees is callable to pull accrued fees; the fee recipient receives them. Whether withdrawFees is restricted to feeRecipient or owner cannot be confirmed from bytecode alone; no pause or upgrade functions were found.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize sets the pool's canonical pool id and initialized state; beforeSwap computes and records the fee; afterSwap updates accrued fee accounting; beforeSwapReturnDelta and afterSwapReturnDelta let the hook take a currency delta from swaps.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, low confidence).
Who controls it: If withdrawFees or fee configuration is callable by a privileged key, that key could drain accrued fees or set the fee rate; the exact access control could not be verified.
Risk to user funds: The hook holds and moves accrued fee currency via unlock/take and return deltas, so user swap amounts are affected by the fee taken and the hook's accounting.
Security findings
- [medium] Return-delta fee taking: beforeSwapReturnDelta and afterSwapReturnDelta allow the hook to take currency from swaps, so the fee is enforced by the hook rather than the pool.
- [medium] Fee withdrawal access unclear: withdrawFees moves accrued currency out of the pool; the bytecode does not make clear whether the caller is restricted to feeRecipient.
- [low] Configurable fee rate: feeBps is stored in a slot that is written during setup, so the rate is fixed or set by the launch configuration rather than freely adjustable by swappers.
Contract details
- Verified source
- No
- Bytecode size
- 6,941 bytes
- Upgradeable proxy
- No
- Detected patterns
- erc20, fee-sharing, launchpad, moves-currency, return-delta, self-unlock
Pools using Fee sharing hook
- ETH / ADICTED (0.00% fee) — 24h volume $171, TVL $0, 10 swaps today