Custom pricing hook on BNB Chain

Uniswap v4 Hook Contract 0xe92f11ad2ad94da69ed02dc93ca24accd4f2eaa8 on BNB Chain · Custom pricing

Volume (24h)
$0
Value locked (TVL)
$0
All-time volume
$0
Pools using this hook
3
Swaps (24h)
1 (1 traders)
Total swaps
1

What it does

A token-plus-hook that prices swaps against WBNB, USDT and USDC with its own formula, backs reserves in Venus, charges an unverified fixed fee partly to a treasury, and may block oversized sells or unqualified wallets.

This read was written for the hook 0xd9a5…2aa8 on BNB Chain and reused here: the two share a code shape, so constants such as fees, owners and addresses can differ.

How it works step by step

  • Acts as both an ERC-20 token and a Uniswap v4 hook that runs its own custom pricing for token pairs against WBNB, USDT and USDC.
  • Replaces normal pool swaps with its own quote logic (quoteBuy/quoteSell) and settles trades directly through the PoolManager.
  • Appears to deposit or withdraw the paired assets in Venus lending markets (mint/redeemUnderlying on vTokens) as part of swaps.
  • Enforces per-pool sell caps and a minimum reserve, and may restrict some trades to wallets that pass an external qualification check (Binance wallet gate).
  • Takes a swap fee split between a treasury and a retained portion, with exact percentages stored as constants not readable from bytecode alone.
Swap behaviour
Swaps are intercepted before execution and priced by the hook's own formula, with amounts taken and settled through the PoolManager; trades can revert if a sell exceeds a cap, reserves fall too low, or the trader fails a wallet qualification check. A fee (FEE_BPS, part to a treasury) is charged, but its exact size is unknown from bytecode.
Liquidity behaviour
Add and remove liquidity callbacks are view functions that likely revert, meaning standard LP positions are probably blocked; liquidity is instead held by the hook's own accounting and Venus deposits.
Fee behaviour
Charges a swap fee defined by hard-coded constants (FEE_BPS, TREASURY_FEE_BPS, RETAINED_FEE_BPS) with part sent to a fixed treasury address; exact percentages cannot be confirmed from bytecode.
Owner & admin controls
No owner-settable functions are exposed; parameters appear to be hard-coded constants, though an AdminCapExceeded error suggests some internal limit logic whose bounds are unknown.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeAddLiquidity, beforeRemoveLiquidity, beforeSwap, beforeDonate, beforeSwapReturnDelta

beforeInitialize registers supported pools and assets; beforeAddLiquidity and beforeRemoveLiquidity likely block normal LP actions; beforeSwap runs custom pricing, caps and gating; beforeDonate likely blocks donations; beforeSwapReturnDelta lets the hook replace the swap amounts with its own.

Security & trust assessment

Risk level: medium, estimated (decoded bytecode, low confidence).

Who controls it: No admin setter functions are visible, so the main trust is in hard-coded constants, the fixed treasury and an external qualification contract.

Risk to user funds: The hook handles trader swap amounts directly and the backing reserves it deposits in Venus; fee percentages are unknown from bytecode, and normal LP positions appear blocked rather than locked.

Security findings

  • [medium] Custom swap pricing via return deltas: The hook fully controls swap amounts using its own formula and return deltas; fee size and pricing correctness cannot be verified without source.
  • [medium] Funds routed to Venus lending: Paired assets appear to be supplied to and redeemed from Venus markets, exposing backing assets to external lending protocol risk.
  • [low] Trader gating and sell caps: Swaps can revert if a sell exceeds the per-pool cap or if a wallet fails an external qualification check.

Contract details

Verified source
No
Bytecode size
11,966 bytes
Upgradeable proxy
No
Detected patterns
erc20, moves-currency, return-delta

Pools using Custom pricing hook