AlphaHook2Pct on BNB Chain
Uniswap v4 Hook Contract 0x9c854853e00bfe5867a86a37fb1030f259a5a0c4 on BNB Chain · Dynamic fee · Verified contract
- Volume (24h)
- $0
- Value locked (TVL)
- $1.16
- All-time volume
- $129.18K
- Pools using this hook
- 5
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 2,498
What it does
A dynamic-fee hook for BSC pools pairing a token with USDT, USDC or USD1, charging a 0.30% floor that rises with recent volatility and trade size up to a 2% cap, with the protocol taking 20% of the LP fee from swappers.
How it works step by step
- Registers each pool in beforeInitialize and requires a dynamic-fee pool with exactly one USD stablecoin side.
- Seeds the volatility and volume EMAs at their caps so the opening trade pays the maximum fee.
- Computes per-swap fee as 0.30% base plus volatility component (up to 1.60%) plus volume component (up to 0.10%), capped at 2.00%.
- Decays the volatility EMA each 60-second window and the volume EMA each swap, so the launch premium unwinds over time.
- Takes 20% of the LP fee from the swapper as a protocol fee and accrues it in the hook.
- Lets anyone call claimFees to sweep the hook balance to the hardcoded fee recipient.
- Swap behaviour
- On every swap beforeSwap sets a dynamic LP fee from the volatility and volume EMAs, and afterSwap updates the USD size EMA and takes 20% of the LP fee as a protocol fee via return delta.
- Liquidity behaviour
- No liquidity callbacks; add and remove liquidity revert with DisabledHook.
- Fee behaviour
- Dynamic fee set in beforeSwap via OVERRIDE_FEE_FLAG: fee = 3000 pips base + volatility component (up to 16000 pips, 4 pips per tick of EMA'd movement) + volume component (up to 1000 pips, from a USD-denominated size EMA), capped at 20000 pips (2%). Pools launch at the cap via seeded EMAs. The hook additionally takes 20% of the LP fee from the swapper through the afterSwap delta, so LPs keep the full LP fee.
- Owner & admin controls
- No owner or admin role and no pause function. Fee parameters are compile-time constants. The only privileged-looking action is claimFees, which is permissionless but can only send balances to the fixed FEE_RECIPIENT constant, so no key can redirect funds.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeSwap, afterSwap, afterSwapReturnDelta
beforeInitialize registers pools and requires a dynamic-fee pool with a USD stablecoin (USDT, USDC or USD1) on exactly one side. beforeSwap computes and overrides the LP fee. afterSwap updates the size EMA, takes the protocol fee as a return delta, and records the event. afterSwapReturnDelta lets the hook keep a share of the swap's unspecified currency.
Security & trust assessment
Risk level: low (verified source, high confidence).
Who controls it: No privileged key exists. The fee recipient is hardcoded and claimFees can only sweep to it, so the risk is limited to the hardcoded address itself being an unsafe destination.
Risk to user funds: The hook takes an output-side fee via return delta and holds it until claimed. It cannot block swaps by admin action and cannot move LP or pool principal, since it has no liquidity callbacks and no owner. Funds it holds are swept only to the hardcoded recipient.
Security findings
- [info] Hook holds swap fee balances: afterSwap takes 20% of the LP fee (charged to the swapper) and holds it in the hook, so the hook custodies tokens from swaps until anyone calls claimFees.
- [low] Unrestricted sweep of all hook balances: claimFees is permissionless and sweeps the hook's full balance of any currency to the fixed FEE_RECIPIENT, so there is no accounting separation between protocol fees and any tokens accidentally sent to the hook.
- [info] Launch-window fee premium: Pools initialised with this hook start at the maximum fee and decay over minutes, so early traders on new listings pay up to about 2% plus protocol share. This is intended behaviour but is a cost to traders.
- [info] Immutable configuration: Pool and token allowlist is limited to three hardcoded BSC stablecoins with 18 decimals, and the constructor enforces the hook address flags; no upgradeability or owner exists.
Contract details
- Verified source
- Yes (AlphaHook2Pct)
- Compiler
- solc 0.8.26+commit.8a97fa7a
- Bytecode size
- 8,996 bytes
- Upgradeable proxy
- No
- Detected patterns
- dynamic-fee, launchpad, moves-currency, return-delta
Pools using AlphaHook2Pct
- TMX / USDT (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- USDT / 牛来 (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- USDT / DOS (Dynamic fee) — 24h volume $0, TVL $1.16, 0 swaps today
- BNB / USDT (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- MarsCoin / USDT (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today