Hook 0x42c1…0144 on Robinhood Chain

Uniswap v4 Hook Contract 0x42c1533c5777904163ac87cf58564e1e5dc20144 on Robinhood Chain · Other

Volume (24h)
$0
Value locked (TVL)
$0
All-time volume
$7.42M
Pools using this hook
1
Swaps (24h)
0 (0 traders)
Total swaps
28,244

What it does

A Uniswap v4 hook that reacts after swaps and liquidity removals, using return deltas and ERC-6909 claims to move currency, with a cap and whitelist controlled by a privileged role (behaviour inferred from unverified bytecode).

How it works step by step

  • Runs custom logic after every swap, with the option to return a delta that changes the amounts settled
  • Uses the pool manager's unlock and take flow, including self-unlock via unlockCallback
  • Mints and burns ERC-6909 claim balances to account for hook-held currency
  • Runs logic after liquidity removal, likely to settle or account for claims
  • Exposes setCap and checks isWhitelist, suggesting access-gated limits
Swap behaviour
afterSwap runs after each swap and can adjust the swap's unspecified-currency delta through the return-delta permission, possibly taking or giving tokens.
Liquidity behaviour
afterRemoveLiquidity is enabled and the hook appears to mint or burn ERC-6909 claims and interact with the pool manager (take, mint, burn selectors present), so liquidity removals may be routed through hook-held accounting. Exact behaviour cannot be determined from bytecode alone.
Fee behaviour
No fee logic identified from decoded functions; afterSwap may return a delta that adjusts the swap amounts, which could act as a fee or rebate, but this is not confirmed.
Owner & admin controls
A setCap(uint256) function is callable externally and an isWhitelist(address) check is referenced, suggesting a privileged role controls a cap and a whitelist; an owner-like address is read from slot 3 in several functions. Exact authorization logic cannot be confirmed without source.

Enabled Uniswap v4 callbacks

afterRemoveLiquidity, afterSwap, afterSwapReturnDelta

afterSwap: runs custom logic after each swap, including a possible return delta. afterSwapReturnDelta: lets the hook adjust the swap's unspecified-currency delta, meaning it can take or give tokens during swaps. afterRemoveLiquidity: runs custom logic after liquidity is removed, likely to settle or account for claims.

Security & trust assessment

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

Who controls it: A privileged key appears to be able to set a cap via setCap and manage whitelist membership, which could restrict who can interact with the hook or limit amounts; the scope of this control is unverified.

Risk to user funds: The hook can take, mint and burn ERC-6909 claims through pool manager interactions during swaps and liquidity removals, so it may hold or move pool funds; whether it can block withdrawals depends on the unverified cap and whitelist logic.

Security findings

  • [medium] Hook takes currency via return delta: afterSwapReturnDelta is enabled and the hook uses take, mint and burn calls, so it can move currency during swaps; the exact amounts and conditions are not visible in the decoded input.
  • [medium] Privileged cap and whitelist controls: setCap(uint256) is externally callable and the bytecode references isWhitelist(address), indicating access-gated parameters whose authorization checks could not be verified.
  • [low] Self-unlock and casting paths: The bytecode contains a SafeCastOverflow error and a self-unlock pattern via unlockCallback and execute, which increase the surface for accounting mistakes if inputs are not bounded.
  • [info] Unverified source: Without verified source, the storage layout and access checks cannot be fully confirmed, so behaviour may differ from this reading.

Contract details

Verified source
No
Bytecode size
11,588 bytes
Upgradeable proxy
No
Detected patterns
erc6909-claims, moves-currency, return-delta, self-unlock

Pools using Hook 0x42c1…0144