Utility hook on Robinhood Chain
Uniswap v4 Hook Contract 0x36aa89e83ff9f2efd6635fc3b159780dbce740cc on Robinhood Chain · Utility
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $481
- Pools using this hook
- 1
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 12
What it does
Takes a share of swap flows through return deltas and routes accumulated value to a treasury, with a burn component and an ETH-denominated split.
How it works step by step
- Implements beforeSwap and afterSwap callbacks that can return a currency delta, skimming a portion of swap value.
- Accumulates the skimmed tokens in the hook contract.
- Splits accumulated value between a treasury (ethBps share) and a burn component (burnBps share).
- Exposes sweepToTreasury() to forward accumulated balances to the treasury address.
- Tracks cumulative totals via totalEthToTreasury and totalBurned views.
- Swap behaviour
- On beforeSwap and afterSwap the hook may take a currency delta, accumulate it in the contract, and forward it on via take() and token transfers, tracking totals such as totalEthToTreasury and totalBurned.
- Liquidity behaviour
- No liquidity callbacks.
- Fee behaviour
- Uses the pool's static fee as the swap fee; the hook appears to take a portion of swap output or input as a protocol fee routed to a treasury, with percentages given by ethBps and burnBps, though the exact fee formula cannot be confirmed from bytecode alone.
- Owner & admin controls
- No admin controls found. The dispatched functions expose only views and two nonpayable entry points (beforeSwap and afterSwap, which are called by the PoolManager). sweepToTreasury() is callable without a visible owner check in the decoded selectors, so any caller may be able to trigger transfers to the treasury address; the treasury address is read from storage/immutables and cannot be changed through a decoded setter.
Enabled Uniswap v4 callbacks
beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeSwap and afterSwap are used to observe swap parameters and adjust balances; beforeSwapReturnDelta and afterSwapReturnDelta are enabled so the hook can take a currency delta from swaps and settle it via take() on the PoolManager, which moves tokens to the hook and then onward to the treasury or burn logic.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, low confidence).
Who controls it: Anyone able to call sweepToTreasury() could cause accumulated balances to be forwarded to the treasury, and the treasury address and fee split values (ethBps, burnBps) are fixed or set by an unidentified mechanism; a privileged key, if one exists, could redirect value. Without verified source the exact authority model is unknown.
Risk to user funds: The hook can hold tokens received through return deltas and move them to the treasury or burn logic via sweepToTreasury and take(), so swap proceeds routed through this hook are partially under the hook's control; pool liquidity itself is not directly moved by the decoded functions.
Security findings
- [medium] Return delta takes value from swaps: The hook enables beforeSwapReturnDelta and afterSwapReturnDelta, letting it take a share of every swap's currency delta. This is a direct value extraction mechanism on all swaps through the pool.
- [medium] Possibly unrestricted sweepToTreasury: sweepToTreasury() is a nonpayable function with no visible access control in the decoded selector list, so its authorization cannot be confirmed; if unrestricted, the timing of treasury transfers could be triggered by anyone.
- [low] Dependence on token transfer behaviour: The hook makes external calls to balanceOf and transfer on tokens plus take() on the PoolManager, so token behaviour (fee-on-transfer or pausable tokens) could affect swaps or sweeps.
- [info] Fee split parameters are readable: Burn and ETH split percentages are exposed as views (burnBps, ethBps) but no setter was decoded, so they appear fixed; this is an informational observation.
Contract details
- Verified source
- No
- Bytecode size
- 6,570 bytes
- Upgradeable proxy
- No
- Detected patterns
- moves-currency, return-delta
Pools using Utility hook
- ETH / SMURF (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today