Access control hook on Robinhood Chain
Uniswap v4 Hook Contract 0x529568c854833d46e4d2db3769955a8cb3814080 on Robinhood Chain · Access control
- Volume (24h)
- $66
- Value locked (TVL)
- $3.16K
- All-time volume
- $5.53K
- Pools using this hook
- 6
- Swaps (24h)
- 74 (1 traders)
- Total swaps
- 6,046
What it does
A Uniswap v4 hook that restricts swaps in its pool to an owner-managed allowlist of addresses.
How it works step by step
- Enables only the beforeSwap callback among the hook permissions
- beforeSwap reads an address-to-bool allowlist stored in slot 1
- Owner adds or removes allowed addresses via allow and disallow
- Owner is stored in slot 0 and can transfer ownership
- Hook exposes view functions for poolManager, owner and allowed status
- Reverts with HookNotImplemented for unimplemented callbacks
- Swap behaviour
- beforeSwap checks the caller against the allowlist mapping and is expected to revert for addresses that are not permitted; no fee or delta changes were identified.
- Liquidity behaviour
- No liquidity callbacks.
- Fee behaviour
- Uses the pool's static fee.
- Owner & admin controls
- Owner (slot 0) can transfer ownership and maintain an allowlist via allow(address) and disallow(address), which writes a mapping(address=>bool) in slot 1; the allowlist is read in beforeSwap, so the owner decides which addresses may swap.
Enabled Uniswap v4 callbacks
beforeSwap
beforeSwap is enabled and is used to gate swaps against the owner-managed allowlist mapping.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, medium confidence).
Who controls it: The owner can add or remove addresses from the allowlist, so it can effectively block any trader from swapping, or let only chosen addresses trade, and can transfer ownership to any address.
Risk to user funds: The hook does not take custody of tokens or modify balances, but it can block non-allowlisted addresses from swapping, which limits user access to the pool rather than directly moving funds.
Security findings
- [medium] Swap gating by owner-controlled allowlist: beforeSwap reads the allowlist mapping in slot 1, indicating that swaps are restricted to permitted addresses.
- [low] Single-key ownership: Ownership can be transferred via transferOwnership with no visible timelock or two-step acceptance, so a single key controls the allowlist.
- [info] Liquidity not gated: Only beforeSwap is enabled; liquidity operations are not restricted by this hook, so LPs can still add or remove liquidity.
Contract details
- Verified source
- No
- Bytecode size
- 1,839 bytes
- Upgradeable proxy
- No
- Detected patterns
- ownable
Pools using Access control hook
- USDT / USDG (Dynamic fee) — 24h volume $42, TVL $1.02K, 42 swaps today
- ETH / WETH (Dynamic fee) — 24h volume $24, TVL $1.06K, 20 swaps today
- BTC / cbBTC (Dynamic fee) — 24h volume $0, TVL $1.07K, 12 swaps today
- USDG / USDT (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / ETH (0.0075% fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / cbBTC (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today