Custom pricing hook on BNB Chain
Uniswap v4 Hook Contract 0xf5af9a1975c61d21e36d1cc6ce5962f74641aaa8 on BNB Chain · Custom pricing
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $0
- Pools using this hook
- 3
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 0
What it does
This is a token and custom-pricing hook that fills all swaps from its own Venus-backed stablecoin reserves for a fixed fee, while sells are limited by per-address caps and a minimum reserve floor, so sellers face more restrictions than buyers.
How it works step by step
- Acts as both an ERC20 token and a Uniswap v4 hook that prices swaps itself instead of using normal pool liquidity.
- Swaps are handled through a custom curve with buy and sell quotes, a fee, a minimum reserve floor and a per-address sell cap.
- Reserve stablecoins (USDT/USDC) appear to be deposited into Venus lending markets to earn yield, then redeemed when needed.
- Checks whether an address is qualified through an external contract, which may affect who can trade or how much they can sell.
- Standard pool liquidity adds, removals and donations appear to be blocked or restricted, since the hook supplies the liquidity itself.
- Swap behaviour
- The hook takes over each swap through a return delta, settles tokens with the PoolManager and fills the trade from its own curve and reserves. Sells can revert if they exceed a per-address sell cap or would push reserves below a minimum.
- Liquidity behaviour
- The add-liquidity, remove-liquidity and donate callbacks are view functions that most likely revert, so normal LP positions are not supported. Liquidity lives in the hook's own reserves rather than in LP positions.
- Fee behaviour
- A fixed swap fee constant exists in the code, but its exact percentage cannot be read from the bytecode. It likely goes to a hard-coded treasury address.
- Owner & admin controls
- No owner or admin setter functions were found. The addresses and constants appear hard-coded, though an external qualification contract may influence trading.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeAddLiquidity, beforeRemoveLiquidity, beforeSwap, beforeDonate, beforeSwapReturnDelta
beforeInitialize registers supported pools and initial reserves; beforeAddLiquidity blocks or gates LP deposits; beforeRemoveLiquidity blocks or gates LP withdrawals; beforeSwap runs the custom pricing and settlement; beforeDonate blocks donations; beforeSwapReturnDelta lets the hook replace the pool's swap amounts.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, low confidence).
Who controls it: No admin functions were seen. However, an external qualification contract and hard-coded treasury and vault addresses shape how trades work.
Risk to user funds: Traders' swap inputs go into reserves held by the hook and deployed into Venus, and the fee size is unknown. There are no conventional LP positions to withdraw.
Security findings
- [medium] Hook custodies swap reserves: Reserves are held by the hook and moved into Venus lending tokens, so trades depend on the hook's own accounting and on Venus redemptions succeeding.
- [medium] Sell cap and qualification checks: Sells are limited per address and an external isQualified check is consulted, so some users may be unable to sell their full amount. The exact limits cannot be verified from bytecode.
- [low] Unverified fee size: A fixed fee constant exists, but its value is not visible in the decoded output.
Contract details
- Verified source
- No
- Bytecode size
- 11,345 bytes
- Upgradeable proxy
- No
- Detected patterns
- erc20, moves-currency, return-delta
Pools using Custom pricing hook
- USDT / BLOOD (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- USDC / BLOOD (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- WBNB / BLOOD (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today