Access control hook on Robinhood Chain

Uniswap v4 Hook Contract 0x5e025972aab24c90b8ca0ff4bbc3ec3b4e854080 on Robinhood Chain · Access control

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

What it does

A Uniswap v4 hook that runs before each swap and can block trades based on a pause switch, an address blacklist and an authorized-router list, all controlled by an owner.

How it works step by step

  • Runs a beforeSwap check on every swap in pools that use this hook
  • Can globally pause swaps through a boolean pause flag controlled by the owner
  • Maintains a blacklist of addresses that are blocked from swapping
  • Maintains an allowlist of authorized routers that the owner can update
  • Exposes ownership transfer and a pool-manager validation helper
Swap behaviour
beforeSwap is the only enabled callback. It checks the pause flag, blacklist and router authorization, and reverts the swap if a check fails.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Uses the pool's static fee. No fee setting or fee sharing was identified in the decoded functions.
Owner & admin controls
Owner (slot 0) can pause and unpause the hook via setPaused, add or remove addresses from the blacklist via setBlacklist, authorize or deauthorize routers via setAuthorizedRouter, and transfer ownership via transferOwnership. No upgrade proxy pattern was detected.

Enabled Uniswap v4 callbacks

beforeSwap

beforeSwap: runs before each swap to check pause state, blacklist and authorized-router status, and a mapping keyed by pool-related bytes and a pool id mapping, then either allows or reverts the swap.

Security & trust assessment

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

Who controls it: The owner can pause all swaps through this hook, blacklist specific addresses from trading, and change which routers are authorized. Ownership can be transferred to any address, so a compromised key could halt or restrict trading for all users of pools using this hook.

Risk to user funds: The hook does not appear to take custody of tokens or modify balances; it only gates beforeSwap. Its main risk is blocking swaps for users rather than holding or moving their funds. The decoded bytecode does not show any transfer of tokens by the hook.

Security findings

  • [medium] Owner can pause swaps: The owner can call setPaused(true), which is checked in the swap path, blocking swaps on pools using this hook.
  • [medium] Owner can blacklist addresses: setBlacklist lets the owner block specific addresses from swapping through the hook.
  • [low] Router allowlist controlled by owner: setAuthorizedRouter gates which routers may interact with the hook, so the owner can effectively restrict access to swaps.
  • [info] Single owner key: The owner is a single address in storage slot 0 with no timelock or multisig requirement visible in the bytecode.

Contract details

Verified source
No
Bytecode size
3,335 bytes
Upgradeable proxy
No
Detected patterns
ownable, pausable

Pools using Access control hook