Access control hook on Robinhood Chain

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

Volume (24h)
$350
Value locked (TVL)
$0
All-time volume
$350
Pools using this hook
1
Swaps (24h)
1 (1 traders)
Total swaps
1

What it does

This hook only gates trading: swaps go through when an external contract says trading is open or the trader is allowlisted, it adds no extra fees, and LPs can always withdraw freely.

This read was written for the hook 0xb56c…4080 on Robinhood Chain and reused here: the two run the same code.

How it works step by step

  • Checks before every swap whether trading is open, likely by calling an external gate contract.
  • Appears to let allowlisted addresses trade before trading opens, based on an allowed(address) check.
  • Reverts swaps with a TradingNotOpen error when trading is closed and the trader is not allowed.
  • Does not take fees or change swap amounts.
  • Never runs on liquidity adds or withdrawals, so LPs can exit freely.
Swap behaviour
Before each swap the hook appears to ask an external contract whether trading is open or whether the trader is allowed, and blocks the swap if neither is true. Swap amounts and prices are not changed.
Liquidity behaviour
No liquidity callbacks; LPs can add and withdraw freely.
Fee behaviour
Uses the pool's static fee.
Owner & admin controls
The hook has no storage and no admin functions of its own. Whoever controls the external gate contract it queries can likely decide when trading opens and who is allowed, but that contract's rules are unknown.

Enabled Uniswap v4 callbacks

beforeSwap

beforeSwap: checks the trading-open status and allowlist and reverts disallowed swaps.

Security & trust assessment

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

Who controls it: The external gate contract decides whether trading is open and which addresses are allowed. At worst its controller could block swaps, but cannot touch funds through this hook.

Risk to user funds: The hook cannot move or deduct any user or LP funds, and it charges no extra fee. LP principal cannot be locked or drained, since withdrawals never call the hook.

Security findings

  • [medium] Swaps can be gated: Swaps revert with TradingNotOpen unless an external contract reports trading as open or the trader as allowed. Whoever controls that contract can effectively pause or restrict trading.
  • [info] LP withdrawals unrestricted: Remove-liquidity callbacks are disabled, so LPs can always withdraw their liquidity.
  • [info] No fee or return-delta capability: Return deltas are disabled and the view-only swap check cannot take tokens from swaps.

Contract details

Verified source
No
Bytecode size
937 bytes
Upgradeable proxy
No

Pools using Access control hook