Token hook on BNB Chain
Uniswap v4 Hook Contract 0xd3f1eae45332d3904f6d4a93b0a9ec7ebc008088 on BNB Chain · Token
- 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
A Uniswap v4 hook on BSC that appears to charge a toll on swaps in the pool by taking currency through return deltas, though the source is unverified and the details are inferred from bytecode.
How it works step by step
- Runs logic in beforeSwap on every swap in its pool.
- Returns a delta from beforeSwap to alter the swap's effective amounts.
- Calls take() to move currency out of the pool manager as part of the swap.
- Reads and writes three storage slots, including a uint128 value and two uint256 values, to track state across swaps.
- Exposes a view tollLedger() function, suggesting toll amounts are recorded on-chain.
- Swap behaviour
- beforeSwap runs before each swap, can take currency via take(), and returns a delta to adjust the swap amounts, which looks like a toll or tax on swappers.
- Liquidity behaviour
- No liquidity callbacks.
- Fee behaviour
- beforeSwap is non-view and takes currency via take(address,address,uint256) and returns a delta, so the hook appears to levy a toll on swaps (heuristic tag 'tax'); the exact rate and recipient cannot be determined from the decoded bytecode.
- Owner & admin controls
- No admin controls found.
Enabled Uniswap v4 callbacks
beforeSwap, beforeSwapReturnDelta
beforeSwap: runs before each swap and gates or taxes it, updating storage slots 1 and 2; beforeSwapReturnDelta: lets the hook return a delta that alters the swap amounts, consistent with the toll mechanism.
Security & trust assessment
Risk level: medium (decoded bytecode, low confidence).
Who controls it: No owner or admin selectors were decoded, so no privileged key was identified; the reveal() selector and the uint128/uint256 storage writes in c88c9a7b suggest a state-setting path whose access control could not be verified.
Risk to user funds: The hook can take currency from swaps through take() and return-delta adjustments, so swappers may pay an amount set by logic that cannot be fully verified; the hook does not hold LP liquidity directly.
Security findings
- [medium] Hook takes tokens from swaps via return deltas: beforeSwap combines return-delta permission with take() calls, so the hook can extract tokens from every swap routed through the pool.
- [medium] Unverified state-writing function: Selector 0xc88c9a7b (two uint256 arguments) is non-view and writes storage slot 0, but its caller restrictions were not visible in the decoded input.
- [low] Unidentified reveal function: A reveal() selector is present, which may gate or unlock behaviour; without source its effect and access control are unknown.
Contract details
- Verified source
- No
- Bytecode size
- 1,084 bytes
- Upgradeable proxy
- No
- Detected patterns
- moves-currency, return-delta, tax
Pools using Token hook
- BNB / RIGG (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today