Access control hook on Base

Uniswap v4 Hook Contract 0xced4e8ef9961875f18b00c1b9da72bf4838c0080 on Base · Access control

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

What it does

This hook charges no extra fee but blocks swaps, apparently sells, from anyone not on an owner-managed allowlist, so non-approved traders may be able to buy but not sell, while LPs can still withdraw freely.

This read was written for the hook 0x641c…0080 on Robinhood Chain and reused here: the two share a code shape, so constants such as fees, owners and addresses can differ.

How it works step by step

  • Checks every swap before it runs against an owner-managed allowlist.
  • Error named SellNotAllowed suggests sells (one swap direction) are blocked unless the swapper address is allowlisted, while buys may pass freely.
  • The owner can add or remove addresses from the allowlist and transfer ownership.
  • Takes no fees and never touches swap amounts or LP funds.
Swap behaviour
Before each swap the hook checks whether the sender is on the allowlist; swaps in the restricted direction (likely sells) revert with SellNotAllowed for non-allowlisted addresses. The exact direction logic cannot be fully confirmed from bytecode.
Liquidity behaviour
No liquidity callbacks; LPs can add and withdraw freely.
Fee behaviour
Uses the pool's static fee; the hook charges no fee of its own.
Owner & admin controls
The owner can set any addresses as allowed or disallowed and can transfer ownership to a new address. There is no cap or timelock on these changes.

Enabled Uniswap v4 callbacks

beforeSwap

beforeSwap: checks the swapper against the allowlist and reverts disallowed (likely sell) swaps.

Security & trust assessment

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

Who controls it: A single owner address controls the allowlist and can transfer ownership. The worst case is that only owner-approved addresses can sell, trapping other traders' tokens.

Risk to user funds: The hook cannot take any tokens from swaps or LPs and charges no fee; LP principal can always be withdrawn. However, traders who buy may be unable to sell through this pool if not allowlisted.

Security findings

  • [high] Possible honeypot sell restriction: Swaps appear to revert with SellNotAllowed unless the swapper is on an owner-controlled allowlist, meaning ordinary holders may be able to buy but not sell the token in this pool.
  • [medium] Owner-controlled trader allowlist: A single owner key decides who may trade, with no limits or delay, and can change the list at any time.
  • [info] LP withdrawals unaffected: Remove-liquidity callbacks and return deltas are disabled, so the hook cannot block LP withdrawals or take tokens from swaps.

Contract details

Verified source
No
Bytecode size
1,038 bytes
Upgradeable proxy
No
Detected patterns
ownable

Pools using Access control hook