Access control hook on Robinhood Chain
Uniswap v4 Hook Contract 0xfa3da20ec661aa26f9f93e4421fab6989c4b4800 on Robinhood Chain · Access control
- Volume (24h)
- $9.59K
- Value locked (TVL)
- $105.81K
- All-time volume
- $12.03M
- Pools using this hook
- 7
- Swaps (24h)
- 266 (88 traders)
- Total swaps
- 187,415
What it does
A minimal hook that runs before liquidity is added to a pool and may gate additions through an external controller.
How it works step by step
- Enables only the beforeAddLiquidity callback
- Exposes a view beforeAddLiquidity(address,PoolKey,ModifyLiquidityParams,bytes) entry point
- Exposes poolManager() and controller() getters
- Appears to delegate eligibility checks to an external controller contract
- Does not write any storage slots visible in the decoded layout
- Swap behaviour
- No swap callbacks.
- Liquidity behaviour
- beforeAddLiquidity is dispatched and is a view function; it appears to gate or check liquidity additions via the controller, without state writes visible in the decoded output.
- Fee behaviour
- Uses the pool's static fee.
- Owner & admin controls
- A controller() getter is exposed, suggesting an external controller address is stored, but no setter was decoded; any admin logic is not visible in the bytecode.
Enabled Uniswap v4 callbacks
beforeAddLiquidity
beforeAddLiquidity: the hook is called before liquidity is added to a pool and can be used to validate or restrict adds.
Security & trust assessment
Risk level: unknown (decoded bytecode, low confidence).
Who controls it: If the controller address can be changed or the controller logic is privileged, a key holder could block liquidity additions, but no setter was decoded so this cannot be confirmed.
Risk to user funds: The hook cannot hold or move pool funds based on the decoded permissions (no swap or return-delta callbacks), but it could block liquidity adds through a revert in beforeAddLiquidity; the external controller call target is unknown.
Security findings
- [info] Read-only liquidity gate: The only enabled callback is beforeAddLiquidity, and the function is declared view, so it cannot take or move tokens directly; it can only revert or allow the add.
- [low] Limited decoded surface: The bytecode is small (523 bytes) and only three selectors were decoded; no storage layout was inferred, so the full behaviour of the controller call path could not be determined.
Contract details
- Verified source
- No
- Bytecode size
- 523 bytes
- Upgradeable proxy
- No
Pools using Access control hook
- USDG / pHOOD3x (0.85% fee) — 24h volume $8.48K, TVL $90.36K, 186 swaps today
- pBTC3x / USDG (0.85% fee) — 24h volume $833, TVL $7.75K, 43 swaps today
- USDG / sBTC3x (0.85% fee) — 24h volume $121, TVL $2.54K, 29 swaps today
- USDG / pBTC (0.85% fee) — 24h volume $97, TVL $2.42K, 6 swaps today
- USDG / sBTC (0.85% fee) — 24h volume $60, TVL $2.24K, 2 swaps today
- pTESTR / USDG (0.85% fee) — 24h volume $0, TVL $250, 0 swaps today
- pTEST / USDG (0.85% fee) — 24h volume $0, TVL $250, 0 swaps today