Likely custom pricing hook on Base
Uniswap v4 Hook Contract 0x67f921516146849de5516100efdbc69164d94088 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 intercepts swaps with a return delta and moves currency through the PoolManager, but from the bytecode alone it is unclear which trades pay more or less or how fees are set.
How it works step by step
- Implements beforeSwap and returns a delta, so the hook can take over part or all of a swap instead of the pool's standard AMM math
- Calls take(address,address,uint256) on the PoolManager, which moves currency out of the pool to the hook or a recipient
- Writes several uint256 storage slots (0 through 5 and 7) during a swap-related selector, indicating running state such as accumulated amounts or prices
- Exposes a view selector 0xdc8c700d that reads slots 0, 2, 4 and 6, likely returning pricing or state values
- Has nonpayable selectors 0xfe21cef4 and 0x90efdae0 that write to storage, likely configuration or accounting entry points that are not identifiable from the bytecode alone
- Uses slot 8 as a bytes24 value, possibly a packed configuration or address-plus-data record
- Swap behaviour
- On each swap the beforeSwap callback runs, reads stored state and returns a before-swap delta that can replace part of the pool's AMM execution; currency is moved via take. Which trades pay more or less cannot be determined from the bytecode alone.
- Liquidity behaviour
- No liquidity callbacks.
- Fee behaviour
- Fee logic is not identifiable from the decoded bytecode; the hook does not expose a clearly identifiable fee setter, so it is unclear whether fees are dynamic, static or taken via return deltas.
- Owner & admin controls
- Not determinable from decoded bytecode. Nonpayable selectors 0xfe21cef4 and 0x90efdae0 write storage and may be owner-restricted setters, but no owner check or upgrade pattern could be confirmed.
Enabled Uniswap v4 callbacks
beforeSwap, beforeSwapReturnDelta
beforeSwap is used to run custom logic and return a delta to the pool before the AMM executes the swap; beforeSwapReturnDelta lets that delta alter the amounts the pool settles.
Security & trust assessment
Risk level: high, estimated (decoded bytecode, low confidence).
Who controls it: If the state setters are privileged, a key holder could change the state read by beforeSwap and alter swap pricing or deltas for users in the pool.
Risk to user funds: The hook can move pool currency through take and set return deltas during swaps, so it can affect amounts received by traders and the funds held by the pool.
Security findings
- [high] Return-delta swap takeover: beforeSwapReturnDelta lets the hook alter settled swap amounts and beforeSwap calls take to move currency, so the hook controls the economics of every swap in its pool.
- [medium] Privileged state-writing selectors: Nonpayable selectors 0xfe21cef4 and 0x90efdae0 write to storage slots that beforeSwap reads, so whoever can call them may change swap outcomes; access control could not be confirmed.
- [medium] Unverified source: No verified source is available, so the logic, owner checks and any upgrade path cannot be audited directly.
Contract details
- Verified source
- No
- Bytecode size
- 1,476 bytes
- Upgradeable proxy
- No
- Detected patterns
- moves-currency, return-delta
Pools using Likely custom pricing hook
- ETH / GIFTY (1.00% fee) — 24h volume $0, TVL $0, 0 swaps today