Likely custom pricing hook on Base
Uniswap v4 Hook Contract 0xe524353cef6615eea72b0ff191db7241d01d4088 on Base · 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 before each swap and can take currency from the pool and adjust swap amounts, but its exact fee or pricing effect could not be determined from the decoded bytecode, so it is unclear which trades pay more or less.
How it works step by step
- Implements beforeSwap, which runs before every swap on pools using this hook.
- Calls take(address,address,uint256) on the PoolManager, so the hook can withdraw pool currency during a swap.
- Uses beforeSwapReturnDelta, so the hook can return a delta that changes the amounts settled for the swap.
- Writes to storage slot 0 inside beforeSwap, so it keeps mutable state that affects swaps.
- Contains a Panic(uint256) path, consistent with arithmetic or bounds checks in the logic.
- Swap behaviour
- beforeSwap is called on every swap; it can take currency from the pool and return a delta that alters the swap's settled amounts, but the exact pricing or fee logic cannot be determined from the decoded bytecode.
- Liquidity behaviour
- No liquidity callbacks.
- Fee behaviour
- Uses the pool's static fee as far as the decoded bytecode shows; no fee-setting function was identified, though the return delta may effectively charge or rebate a portion of swap amounts.
- 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 that logic adjust 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, so no privileged key was found; the hook's behaviour is fixed in bytecode unless it is upgradeable, which could not be determined.
Risk to user funds: The hook can take currency from the pool via take and return deltas that change swap settlement, so it can affect pool and trader funds on every swap.
Security findings
- [high] Return delta with currency movement: The hook can call take on the PoolManager and return a before-swap delta, so it can move pool funds and alter swap amounts on every trade.
- [medium] Mutable state written in beforeSwap: Storage slot 0 is written during beforeSwap, so the hook's state can change on each swap and may be exploitable depending on its logic, which could not be fully decoded.
- [medium] No source available: Without verified source, the exact conditions under which take is called and the delta is computed cannot be confirmed.
Contract details
- Verified source
- No
- Bytecode size
- 881 bytes
- Upgradeable proxy
- No
- Detected patterns
- moves-currency, return-delta