Likely access control hook on BNB Chain

Uniswap v4 Hook Contract 0xada48eab88812cc1e2431850c92d912c3b2e4880 on BNB Chain · Access control

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

What it does

An upgradeable, admin-controlled gate that can restrict who adds liquidity and when swaps are allowed in registered pools, charging no extra fee beyond the pool's static fee while leaving LP withdrawals fully open.

This read was written for the hook 0x04f4…c880 on BNB 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 new liquidity deposit before it happens and can restrict which addresses are allowed to add liquidity to a registered pool.
  • Runs a check before every swap that reads per-pool settings (including a time value) and records per-pool data, which may gate or delay trading.
  • Keeps a registry of pools with configurations set by an admin or pool initializer.
  • Lives behind an upgradeable proxy, so the owner can replace the logic, but it can never take tokens from swaps or block withdrawals.
Swap behaviour
Before each swap the hook checks the pool's registered settings, such as a time-based value and a global toggle, and may reject the swap. It cannot take any tokens from the swap.
Liquidity behaviour
Before liquidity is added, the hook checks a per-pool allowlist of addresses and can refuse deposits from addresses that are not approved. The hook is never called on withdrawals, so LPs can always remove their liquidity.
Fee behaviour
Uses the pool's static fee; the hook has no return-delta permissions and cannot charge its own fee.
Owner & admin controls
The owner or admin can register and configure pools, manage the per-pool liquidity allowlist, toggle a global swap setting, maintain a selector blacklist, and upgrade the implementation. Exact limits cannot be confirmed from bytecode.

Enabled Uniswap v4 callbacks

beforeAddLiquidity, beforeSwap

beforeAddLiquidity: gates who can deposit liquidity per pool; beforeSwap: checks pool config and timing before allowing a swap and records per-pool state.

Security & trust assessment

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

Who controls it: A single owner/admin controls pool configs, allowlists, and upgrades. At worst they can block new deposits or halt swaps, but cannot seize funds.

Risk to user funds: The hook cannot deduct tokens from swaps or liquidity and charges no extra fee. LP withdrawals are unrestricted.

Security findings

  • [medium] Upgradeable proxy: The owner can swap the implementation, changing swap and deposit gating rules. Fixed address bits stop any upgrade from taking swap tokens or blocking withdrawals.
  • [medium] Admin can gate deposits and swaps: Per-pool allowlists and toggles appear to let the admin restrict who adds liquidity and possibly pause or time-gate swaps.
  • [info] Withdrawals always open: Remove-liquidity callbacks are disabled, so LP principal can always be withdrawn.

Contract details

Verified source
No
Bytecode size
100 bytes
Upgradeable proxy
Yes
Detected patterns
ownable, upgradeable

Pools using Likely access control hook