Likely custom pricing hook on Ethereum
Uniswap v4 Hook Contract 0xb86c6053f7691ef7aba63a3be4ec3d17de1fa8cc on Ethereum · Custom pricing
- Volume (24h)
- $443
- Value locked (TVL)
- $195
- All-time volume
- $443
- Pools using this hook
- 1
- Swaps (24h)
- 8 (6 traders)
- Total swaps
- 8
What it does
This hook takes over parts of swap settlement through return deltas and gates liquidity additions, but the exact fee and pricing effect on trades cannot be confirmed from the decoded bytecode alone.
How it works step by step
- Hook owns a single pool key and tracks an OPEN_TICK and an opened flag, set during initialization
- Uses beforeSwap and afterSwap with return deltas, so it can take over or adjust swap amounts and settle value itself
- Self-unlocks the pool manager via unlockCallback to perform its own accounting and settlement
- Tracks amounts owed and paid through a pay() entry point and two storage counters
- Gates liquidity additions in beforeAddLiquidity and blocks direct external calls via a NotOrigin check
- Swap behaviour
- beforeSwap and afterSwap are enabled with return deltas, so the hook can alter the swap amounts and take or supply currency on each swap; the exact fee or pricing logic cannot be determined without source.
- Liquidity behaviour
- beforeAddLiquidity is enabled and gates additions; beforeRemoveLiquidity and afterRemoveLiquidity selectors exist but the corresponding permission flags are not set, so removals are not hooked.
- Fee behaviour
- Fees are not determinable from the decoded bytecode; the hook appears to take value through swap return deltas, so it may charge its own spread or fee in addition to the pool fee.
- Owner & admin controls
- An OWNER() getter exists, indicating an owner address, but no obvious pause, parameter setter or upgrade path was confirmed in the decoded functions.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeAddLiquidity, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize records the pool key and opening state; beforeAddLiquidity gates liquidity provision; beforeSwap and afterSwap adjust swap deltas; beforeSwapReturnDelta and afterSwapReturnDelta allow the hook to take or give currency during swaps.
Security & trust assessment
Risk level: high, estimated (decoded bytecode, low confidence).
Who controls it: The owner address likely controls configuration and possibly settlement-related entry points; a compromised owner key could alter behaviour that affects swap outcomes, though the exact powers are unconfirmed.
Risk to user funds: The hook has return-delta permissions and performs self-settlement, so it can hold, take or redirect swap currency and therefore may affect user and pool funds.
Security findings
- [high] Return deltas on swaps: beforeSwapReturnDelta and afterSwapReturnDelta are enabled, so the hook can take or redirect user currency during every swap, which is a strong capability to hold.
- [medium] Self-unlock of pool manager: The contract calls unlock and implements unlockCallback, performing its own settlement; mistakes in the settlement logic could strand or misroute funds.
- [medium] Owner-controlled entry point: An owner address is exposed and a pay() function exists; the owner's authority over these paths cannot be fully verified from bytecode alone.
- [info] No source verification: Without verified source, fee formulas, access checks and admin powers cannot be confirmed, so the analysis relies on decoded selectors and storage.
Contract details
- Verified source
- No
- Bytecode size
- 6,088 bytes
- Upgradeable proxy
- No
- Detected patterns
- return-delta, self-unlock
Pools using Likely custom pricing hook
- ETH / QOS (0.00% fee) — 24h volume $443, TVL $195, 8 swaps today