Likely fee sharing hook on Robinhood Chain
Uniswap v4 Hook Contract 0x3745b34d2aae36258758fa3a0021c7ec406e6054 on Robinhood Chain · Fee sharing
- Volume (24h)
- $0
- Value locked (TVL)
- <$0.01
- All-time volume
- $1.84
- Pools using this hook
- 7
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 10
What it does
A Uniswap v4 hook that appears to take a fee on swaps and route shares to protocol, creator and burn recipients on a round basis.
How it works step by step
- Runs beforeInitialize to record pool creator or configuration state for each new pool
- Takes a fee on swap output in afterSwap through afterSwapReturnDelta
- Accounts protocol and creator fee shares using PROTOCOL_SHARE and CREATOR_SHARE constants
- Tracks per-round state using roundDuration and timestamp mappings
- Records donation activity in afterDonate and an associated mapping
- Includes burn-related functions (burnToken, burnRouter, burnOperator) for fee burning
- Swap behaviour
- afterSwap runs after each swap and, using afterSwapReturnDelta, takes a fee in the output currency via the pool manager, then accounts it for protocol, creator and burn shares.
- Liquidity behaviour
- No liquidity callbacks are enabled in the hook permissions (beforeAddLiquidity, afterAddLiquidity, beforeRemoveLiquidity and afterRemoveLiquidity are not set), so the hook does not intercept liquidity additions or removals.
- Fee behaviour
- Likely takes a protocol or hook fee via afterSwap using afterSwapReturnDelta, since hookFee(), PROTOCOL_SHARE(), CREATOR_SHARE(), SHARE_DENOMINATOR() and FEE_DENOMINATOR() selectors are present and the hook calls take() on the pool manager. Exact fee rates and split logic cannot be confirmed from bytecode alone.
- Owner & admin controls
- Selector 0x7f301ad1 (address arg, nonpayable) and 0xff97da92 (address arg, nonpayable) appear to write per-address role or mapping state in slots 2, 3, 4, 5, suggesting an owner-like or operator-like privileged role; the exact role names cannot be confirmed without source. Storage slot 8 (mapping address to bool) is written by selector 0x0328d239, consistent with an allowlist or operator flag. No pause or upgrade function identified from selectors.
Enabled Uniswap v4 callbacks
beforeInitialize, afterSwap, afterDonate, afterSwapReturnDelta
beforeInitialize is used to register pool creator or pool configuration state at pool creation. afterSwap is used to account for swap activity and take a hook fee. afterDonate is used to record donation-related state in slots 3 and 7. afterSwapReturnDelta lets the hook take a share of the swap output as a delta and move that currency to its own balance.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, low confidence).
Who controls it: A privileged operator or owner controls the address-based role mappings and can likely change the per-address flags that gate fee or share handling. Whether that key can alter fee shares or redirect fees to itself cannot be confirmed without source.
Risk to user funds: The hook can hold and redistribute swap-output currency through take() and return-delta accounting, so a portion of trader output flows to hook-controlled addresses. It does not appear to block swaps or liquidity, but fee routing is controlled by the privileged roles.
Security findings
- [medium] Hook takes swap proceeds via return delta: The hook uses afterSwapReturnDelta and calls take() on the pool manager, so it moves user swap proceeds into its own balance on every swap where it applies its fee.
- [medium] Privileged address-keyed configuration: Selectors 0x7f301ad1 and 0xff97da92 are nonpayable and write address-keyed storage, so a single privileged key can change roles or mappings that affect fee routing.
- [info] Fee burn mechanism present: The bytecode contains a burn-related selector set (burnOperator, burnRouter, burnToken), which indicates a token burn or buyback mechanism tied to collected fees.
- [info] Time-based rounds: Bytecode contains roundDuration() and time-based storage (uint64 timestamps in slots 2 and 3), suggesting rounds or epochs that affect distribution timing.
Contract details
- Verified source
- No
- Bytecode size
- 8,732 bytes
- Upgradeable proxy
- No
- Detected patterns
- erc20, moves-currency, return-delta
Pools using Likely fee sharing hook
- ETH / IOU (0.00% fee) — 24h volume $0, TVL <$0.01, 0 swaps today
- WETH / IOU (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- USDG / IOU (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- USDG / ROBINHOODS (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- ROBINHOODS / IOU (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- WETH / ROBINHOODS (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / ROBINHOODS (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today