Fee sharing hook on Robinhood Chain
Uniswap v4 Hook Contract 0x2cd91bd228ff4c537031d6b8204782090c84c0cc on Robinhood Chain · Fee sharing
- Volume (24h)
- $17.38K
- Value locked (TVL)
- $508.41K
- All-time volume
- $53.07M
- Pools using this hook
- 11
- Swaps (24h)
- 112 (35 traders)
- Total swaps
- 92,982
What it does
Charges a fixed basis-point fee on swaps in pools using this hook and sends the fee to a treasury address.
How it works step by step
- Reads swap parameters in beforeSwap and afterSwap callbacks
- Computes a fee as FEE_BPS basis points of the swap amount
- Adjusts the swap return delta so the fee is withheld from the trader
- Withdraws the fee currency from the pool manager with take()
- Forwards the collected fee to the treasury address
- Leaves liquidity add and remove callbacks as no-ops
- Swap behaviour
- On beforeSwap and afterSwap the hook adjusts the swap delta, taking a FEE_BPS fee and moving it to the treasury via take().
- Liquidity behaviour
- Liquidity add and remove callbacks are present as view stubs and appear to take no action on positions.
- Fee behaviour
- Takes a fixed fee expressed in basis points (FEE_BPS) on swaps and routes it to a treasury address via take(); the pool's static fee is otherwise unchanged.
- Owner & admin controls
- A treasury() getter exists and FEE_BPS() is a constant-style view; no owner setter or pause selector was decoded, so no admin controls found.
Enabled Uniswap v4 callbacks
beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeSwap and afterSwap are used to read swap parameters and move currency; beforeSwapReturnDelta and afterSwapReturnDelta let the hook alter the swap's delta so it can take a cut of the swap amount.
Security & trust assessment
Risk level: medium (decoded bytecode, medium confidence).
Who controls it: No privileged setter was decoded, so the treasury address and fee rate appear fixed; a proxy or upgrade path could not be ruled out from bytecode alone.
Risk to user funds: The hook can take a fee from swap amounts and forward it to the treasury through return deltas, so swappers receive less than the raw pool output; it does not appear to hold LP principal.
Security findings
- [info] Hook takes currency from swaps: Permissions include beforeSwapReturnDelta and afterSwapReturnDelta, so the hook can take tokens from swaps via return deltas and the take(address,address,uint256) call.
- [low] Currency movement in swap path: The bytecode contains take(address,address,uint256) and a SafeCastOverflow error, indicating currency is withdrawn from the pool manager and sent onward during swaps.
- [info] Unverified source: No source is available, so the exact fee logic, treasury handling and any edge cases cannot be fully verified from bytecode.
Contract details
- Verified source
- No
- Bytecode size
- 2,873 bytes
- Upgradeable proxy
- No
- Detected patterns
- moves-currency, return-delta
Pools using Fee sharing hook
- ETH / Index (1.00% fee) — 24h volume $17.38K, TVL $508.41K, 112 swaps today
- USDG / BPOOL (0.001% fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / zkThunder (0.25% fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / test2 (0.0075% fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / ARROW (1.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- zkThunder / HOOD (0.25% fee) — 24h volume $0, TVL $0, 0 swaps today
- zkThunder / SPCX (0.25% fee) — 24h volume $0, TVL $0, 0 swaps today
- zkThunder / cbBTC (0.25% fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / GME (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / Index (0.25% fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / Index (1.00% fee) — 24h volume $0, TVL $0, 0 swaps today