Likely custom pricing hook on Ethereum
Uniswap v4 Hook Contract 0x92034b091a518c45e00f92247c9755be58a04088 on Ethereum · Custom pricing
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $0
- Pools using this hook
- 1
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 0
What it does
This hook runs custom logic on every swap, takes currency from the pool and adjusts swap amounts, but the exact trades that pay more or less cannot be determined without verified source.
How it works step by step
- beforeSwap is the only swap callback and the hook is granted beforeSwapReturnDelta, so it can alter the swap's accounting before the pool executes it
- The hook calls take(currency0, currency1, amount) on the PoolManager, which means it moves currency out of the pool's accounts during a swap
- The bytecode writes storage slots 0 and 1 (uint256 each) and slot 2 (packed uint32 values), indicating per-pool or global state that is updated on swaps
- A second view selector (0xd5653ba6) reads slot 2 and returns stored uint32 values, suggesting a getter for hook state
- Panic(uint256) is present, so the code contains checked arithmetic or assertions that revert on overflow or invalid conditions
- Swap behaviour
- On each swap the beforeSwap callback runs and can take currency from the pool via the PoolManager and return a delta that changes how much the swapper receives or pays; the exact pricing or condition logic cannot be fully determined from the decoded bytecode.
- Liquidity behaviour
- No liquidity callbacks.
- Fee behaviour
- Uses the pool's static fee.
- Owner & admin controls
- No admin controls found.
Enabled Uniswap v4 callbacks
beforeSwap, beforeSwapReturnDelta
beforeSwap is used to run custom logic before each swap and to take currency from the pool; beforeSwapReturnDelta lets the returned delta modify the swap's amounts.
Security & trust assessment
Risk level: high, estimated (decoded bytecode, low confidence).
Who controls it: No owner or admin functions were identified in the decoded selectors, so no privileged key was found; the state written by beforeSwap is not controllable from the decoded functions alone.
Risk to user funds: The hook can take currency from the pool through the PoolManager and adjust swap deltas, so pool and swapper funds are exposed to whatever logic the take and delta calls implement.
Security findings
- [high] Return delta with currency movement: The hook has beforeSwapReturnDelta and calls take on the PoolManager during swaps, so it can move pool funds and change swap amounts in ways that a user cannot fully see from the pool price alone.
- [medium] State-changing swap callback: beforeSwap writes storage slots 0, 1 and 2 on every swap, so swap outcomes may depend on mutable hook state that the trader cannot inspect from the input.
- [medium] Source not verified: No verified source is available, so the precise pricing and take conditions are inferred from bytecode and could be misread.
Contract details
- Verified source
- No
- Bytecode size
- 1,096 bytes
- Upgradeable proxy
- No
- Detected patterns
- moves-currency, return-delta
Pools using Likely custom pricing hook
- ETH / IMD404 (1.00% fee) — 24h volume $0, TVL $0, 0 swaps today