Fee sharing hook on Robinhood Chain
Uniswap v4 Hook Contract 0x31200554eca1eff6d130dbec7975afa1234b60cc on Robinhood Chain · Fee sharing
- Volume (24h)
- $0.95
- Value locked (TVL)
- $73.14K
- All-time volume
- $14.69M
- Pools using this hook
- 32
- Swaps (24h)
- 3 (3 traders)
- Total swaps
- 165,605
What it does
A Uniswap v4 hook that intercepts swaps to take a developer or treasury share of fees while registering and tracking pools.
How it works step by step
- Registers pools on initialization and tracks them by token and index mappings
- Intercepts swaps in beforeSwap and afterSwap to run custom accounting
- Uses return deltas to take a configured share of swap flows
- Sends collected currency to a treasury address via PoolManager take
- Exposes a configurable devShareRate and fixed LP_FEE for pool setup
- Swap behaviour
- beforeSwap and afterSwap run custom logic and use return deltas to skim a share of swap amounts to the treasury.
- Liquidity behaviour
- Callbacks beforeAddLiquidity, afterAddLiquidity, beforeRemoveLiquidity and afterRemoveLiquidity exist in the selector table but are not in the enabled hook permissions, so they are not invoked by the PoolManager.
- Fee behaviour
- The hook exposes devShareRate, LP_FEE and FEE_DENOMINATOR getters and a treasury address, suggesting a portion of swap fees is redirected to a developer/treasury share via return deltas. The exact split logic and owner-adjustable rate could not be confirmed from bytecode alone.
- Owner & admin controls
- Owner (slot 0) can transfer or renounce ownership, set the treasury address (0x8b869b3b), set the config manager (0xe09562fc), and call 0x54d32f4e / 0x62595e0e which write to slots 3 and 4 (likely fee-share rate and pool registration). Owner or manager can call 0x0cf2178d and 0x05ac0784 (pool registration). Exact parameter effects are not confirmed without source.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize: registers and validates pool setup (reads pool mapping). beforeSwap: runs custom logic on swaps and may return a delta. afterSwap: post-swap accounting or fee handling. beforeSwapReturnDelta and afterSwapReturnDelta: allow the hook to take a share of the swap amounts directly, which is how a developer fee would be collected.
Security & trust assessment
Risk level: medium (decoded bytecode, low confidence).
Who controls it: The owner controls the treasury address and config manager, and can transfer or renounce ownership. A compromised owner key could redirect the developer/treasury share of fees to an attacker-controlled address or change the fee share rate.
Risk to user funds: The hook can take tokens from swaps through return deltas and transfers collected currency to a treasury address via PoolManager take calls. Users' swap proceeds are reduced by the developer share; pool principal is not directly withdrawable by the hook based on the selectors seen.
Security findings
- [medium] Return-delta fee extraction: Hook is enabled with beforeSwapReturnDelta and afterSwapReturnDelta, so it can take a portion of swap amounts from users and pool flows.
- [medium] Owner-controlled treasury destination: Owner can set the treasury address via selector 0x8b869b3b and the config manager via 0xe09562fc; a malicious or compromised owner could redirect collected fees.
- [low] Single owner key, no timelock detected: Contract uses Ownable with transferOwnership and renounceOwnership, and an OwnableUnauthorizedAccount error, indicating single-key control with no timelock detected.
- [info] Hook moves currency: Bytecode references take(address,address,uint256) on the PoolManager, so the hook moves currency out of the pool to the treasury or other recipients.
- [info] No upgradeability detected: No proxy or upgrade selectors were detected, so the logic appears immutable, but this is inferred from selectors only.
Contract details
- Verified source
- No
- Bytecode size
- 5,501 bytes
- Upgradeable proxy
- No
- Detected patterns
- moves-currency, ownable, return-delta
Pools using Fee sharing hook
- RDDT / SSB (0.00% fee) — 24h volume $0.62, TVL $1.79K, 1 swaps today
- ETH / VLAD (0.00% fee) — 24h volume $0.30, TVL $3.01K, 1 swaps today
- ETH / IBM (0.00% fee) — 24h volume $0.03, TVL $2.47K, 1 swaps today
- ETH / ji (0.00% fee) — 24h volume $0, TVL $4.50K, 0 swaps today
- ETH / Trump (0.00% fee) — 24h volume $0, TVL $2.85K, 0 swaps today
- RDDT / NARWHAL (0.00% fee) — 24h volume $0, TVL $1.80K, 0 swaps today
- ETH / CARCAT (0.00% fee) — 24h volume $0, TVL $2.69K, 0 swaps today
- ETH / robincoin (0.00% fee) — 24h volume $0, TVL $2.41K, 0 swaps today
- ETH / lizard (0.00% fee) — 24h volume $0, TVL $2.71K, 0 swaps today
- ETH / FOMOCAT (0.00% fee) — 24h volume $0, TVL $2.46K, 0 swaps today
- RDDT / Froggie (0.00% fee) — 24h volume $0, TVL $1.90K, 0 swaps today
- USDG / TRUMP (0.00% fee) — 24h volume $0, TVL $1.81K, 0 swaps today
- ETH / FOXLEY (0.00% fee) — 24h volume $0, TVL $2.66K, 0 swaps today
- ETH / LION (0.00% fee) — 24h volume $0, TVL $2.38K, 0 swaps today
- ETH / BOWIE (0.00% fee) — 24h volume $0, TVL $2.38K, 0 swaps today
- ETH / Chikipi (0.00% fee) — 24h volume $0, TVL $2.39K, 0 swaps today
- ETH / R.O.W. (0.00% fee) — 24h volume $0, TVL $2.40K, 0 swaps today
- ETH / VLAD (0.00% fee) — 24h volume $0, TVL $2.46K, 0 swaps today
- ETH / GIGA (0.00% fee) — 24h volume $0, TVL $2.39K, 0 swaps today
- ETH / TRENCHLIFE (0.00% fee) — 24h volume $0, TVL $2.33K, 0 swaps today