Hook 0x7506…6000 on Robinhood Chain
Uniswap v4 Hook Contract 0x7506f0a9d1709fb5d0e1755e33aa371f02906000 on Robinhood Chain · Other
- Volume (24h)
- $0
- Value locked (TVL)
- $2.59K
- All-time volume
- $251.89K
- Pools using this hook
- 1
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 67,674
What it does
A small hook that enables only the beforeInitialize callback and stores a bound venue and binder address, most likely to gate or configure pool initialization rather than trading.
How it works step by step
- Enables the beforeInitialize callback on pool creation
- Stores a bound address and a binder address set via bind(address)
- Exposes venue() and binder() getters for the stored addresses
- Exposes bound() returning a stored boolean flag
- beforeInitialize compares or checks against the stored state before allowing initialization
- Swap behaviour
- No swap callbacks.
- Liquidity behaviour
- No liquidity callbacks.
- Fee behaviour
- Uses the pool's static fee.
- Owner & admin controls
- A bind(address) function is callable (nonpayable, no visible access check in the decoded selectors); it writes a stored address and a bool flag. Whether it can be called once or repeatedly by anyone cannot be confirmed from bytecode alone. Views venue() and binder() expose the stored addresses.
Enabled Uniswap v4 callbacks
beforeInitialize
beforeInitialize is enabled and is a view function that takes the pool key and sqrtPriceX96; it is not known from the decoded bytecode what it checks or returns.
Security & trust assessment
Risk level: unknown (decoded bytecode, low confidence).
Who controls it: If bind(address) lacks an access check, any account could set the bound venue or binder address, which could redirect the hook's trust relationships. If it is restricted, the controlling key is not identifiable from the decoded data.
Risk to user funds: No swap or liquidity callbacks and no return deltas are declared, so the hook does not directly take or hold user tokens. Its effect on pool initialization depends on the bound venue and binder, which are set through bind(address) and could influence whether pools can be initialized.
Security findings
- [medium] Unclear access control on bind: bind(address) is a nonpayable state-changing selector with no clearly identified caller restriction in the decoded output. Its access control must be checked in the bytecode manually.
- [info] Stored binding state gates initialization logic: The hook stores an address and a bool flag in slot 0, and beforeInitialize reads that state. Whether the bound address is trusted for any gating decision is not determinable here.
- [info] Limited callback surface: Only beforeInitialize is enabled and no swap or liquidity callbacks are present, so the hook does not directly take or move pool funds.
Contract details
- Verified source
- No
- Bytecode size
- 742 bytes
- Upgradeable proxy
- No
Pools using Hook 0x7506…6000
- ETH / KACH (1.00% fee) — 24h volume $0, TVL $2.59K, 0 swaps today