Hook 0x3e5c…c044 on Robinhood Chain

Uniswap v4 Hook Contract 0x3e5c5e02a145903c27761f95e8816abf207fc044 on Robinhood Chain · Other

Volume (24h)
$28.60K
Value locked (TVL)
$347
All-time volume
$363.92K
Pools using this hook
15
Swaps (24h)
364 (51 traders)
Total swaps
3,645

What it does

A Uniswap v4 hook that runs after swaps and appears to skim a configurable share of swap amounts into its own balance, with owner-managed exemptions.

How it works step by step

  • Runs an afterSwap callback on every swap in the pool
  • Uses afterSwapReturnDelta to take a token amount from the swap output
  • Tracks skimmed totals in storage (skimmed() view)
  • Applies a min and max basis-point range to the taken amount
  • Lets the owner exempt specific addresses from the skim via setExempt
  • Provides a withdraw function to move accumulated tokens out of the hook
Swap behaviour
After each swap the hook is called and uses a return delta to take a portion of the swap amount, with exemptions and bps bounds applied.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
No fee setting observed in the decoded functions; the hook reads storage slots 3 and 4 (counters or thresholds, likely minBps/maxBps related) during afterSwap and may take a portion of swap output via return delta, which would act as a sell-side fee or tax.
Owner & admin controls
Owner-gated setExempt(address,bool) maintains an exemption mapping (slot 1); owner() is exposed. Withdraw(address,address) is callable and appears to move tokens out of the hook, likely restricted to owner but unconfirmed from bytecode. No pause or upgrade mechanism identified.

Enabled Uniswap v4 callbacks

afterSwap, afterSwapReturnDelta

afterSwap: runs after each swap, reads and updates tracking storage and exemption status to decide on a token amount to take. afterSwapReturnDelta: lets the hook return a delta that changes the amount the swapper or pool receives, enabling it to skim tokens from swaps.

Security & trust assessment

Risk level: medium (decoded bytecode, low confidence).

Who controls it: The owner can exempt addresses from the hook logic via setExempt, and the withdraw function may let a privileged key extract tokens accumulated by the hook. Parameter ranges (minBps, maxBps, realSells) appear to be readable but their setters were not identified in the decoded functions.

Risk to user funds: The hook can take a share of swap output through its return delta and hold accumulated tokens, which a withdraw function can move; users transacting with non-exempt addresses may pay the skimmed amount.

Security findings

  • [medium] Hook takes a portion of swaps via return delta: afterSwapReturnDelta lets the hook take a share of swap amounts; minBps and maxBps suggest a configurable percentage range, and the owner can exempt addresses from it.
  • [medium] Token withdrawal function present: withdraw(address,address) can move tokens held by the hook; access control was not confirmed from the bytecode.
  • [info] Unnamed view functions: The selectors 0x255c6691, 0x96275c63, 0xa1d1c0c3, 0xce264254, 0xd0e6ad17 and 0x7cda55cb have no known names, so their behaviour is not fully determined.
  • [info] Unverified source: Without verified source the exact fee formula, access checks and parameter setters cannot be confirmed.

Contract details

Verified source
No
Bytecode size
4,567 bytes
Upgradeable proxy
No
Detected patterns
return-delta

Pools using Hook 0x3e5c…c044