Custom pricing hook on BNB Chain
Uniswap v4 Hook Contract 0x6be2c6b6cae3e5ea364efb2b9e99a3a43deec044 on BNB Chain · Custom pricing
- Volume (24h)
- $7.19K
- Value locked (TVL)
- $3.38K
- All-time volume
- $7.19K
- Pools using this hook
- 1
- Swaps (24h)
- 228 (86 traders)
- Total swaps
- 228
What it does
This hook takes a share of swap proceeds after each trade via an after-swap return delta and sends it to an owner-set beneficiary, while the pool's static fee and liquidity actions are left unchanged.
How it works step by step
- Enabled callbacks are afterSwap and afterSwapReturnDelta, so the hook runs after each swap and can take a share of the swap output as a return delta.
- afterSwap takes a per-user, per-pool accounting path (mappings keyed by pool id and address) and records amounts for the swapper, which suggests a debt or credit tracking mechanism.
- The hook calls take(address,address,uint256) on the pool manager to pull currency out of the pool and forward it, so it moves real tokens.
- A beneficiary address receives funds (setBeneficiary), and a keeper address is privileged (setKeeper) and reads state in other functions.
- Liquidity and initialize callbacks are present in the dispatch table as view selectors, but the hook flags for them are not enabled, so they are not invoked by the pool manager.
- projectedDebt and poolConfigs are exposed as read-only views to inspect per-pool configuration and outstanding debt.
- Swap behaviour
- After each swap the hook runs afterSwap and can adjust the amount settled to the pool through its return delta, taking a portion of swap flow and forwarding it via take to the beneficiary path.
- Liquidity behaviour
- No liquidity callbacks.
- Fee behaviour
- Uses the pool's static fee for the swap itself; the hook takes an extracted amount through the after-swap return delta rather than changing the LP fee.
- Owner & admin controls
- The owner can set the beneficiary (setBeneficiary) and the keeper (setKeeper); the keeper has access to a configuration write path (writes to the slot read by the keeper check). No pausing or upgrade mechanism was observed in the decoded functions.
Enabled Uniswap v4 callbacks
afterSwap, afterSwapReturnDelta
afterSwap is used to update per-pool and per-address accounting after a swap completes. afterSwapReturnDelta lets the hook claim a delta from the swap output, which is then moved out of the pool.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, low confidence).
Who controls it: The owner can redirect extracted funds by changing the beneficiary and can appoint a keeper that influences accounting state.
Risk to user funds: The hook can take tokens out of the pool through its after-swap return delta and forward them via take, so swap proceeds are exposed to extraction.
Security findings
- [medium] Return delta takes swap proceeds: afterSwapReturnDelta is enabled and the hook calls take on the pool manager, so a share of user swap output is diverted out of the pool to the beneficiary.
- [medium] Owner-controlled beneficiary: The owner can change the beneficiary address via setBeneficiary, redirecting any funds the hook extracts.
- [low] Privileged keeper role: setKeeper is owner-gated and the keeper address is read by state-writing functions, so the keeper can influence accounting and debt state.
- [info] Ownable without source: Owner logic is inferred from bytecode only; the exact fee or extraction parameters cannot be confirmed without verified source.
Contract details
- Verified source
- No
- Bytecode size
- 5,091 bytes
- Upgradeable proxy
- No
- Detected patterns
- moves-currency, ownable, return-delta
Pools using Custom pricing hook
- USDT / DNA (0.01% fee) — 24h volume $7.19K, TVL $3.38K, 228 swaps today