HookVolveHookV4 on Ethereum
Uniswap v4 Hook Contract 0x56f73a2c6d34696eff111fff94addf92a1bc6aec on Ethereum · Launchpad · Verified contract
- Volume (24h)
- $1.35K
- Value locked (TVL)
- $1.67K
- All-time volume
- $276.72K
- Pools using this hook
- 16
- Swaps (24h)
- 26 (23 traders)
- Total swaps
- 1,749
What it does
A launch-pool hook that charges a declining, time-limited trade fee on ETH-side swaps, splits the fee between a fixed platform share and a project share held in fee vaults, and locks liquidity positions against removal.
How it works step by step
- Registers a pool per token with ETH as the base currency, a fixed platform fee of 0.5% (5000 pips) and a project fee set at registration, with ticks restricted to a configured range.
- Starts every pool at a 10% opening fee (100000 pips) that declines linearly to the normal fee over a 60 second launch window.
- Takes the ETH-side swap fee as a hook return delta and mints the fee as ERC-6909 claims to a per-pool fee vault, which splits it into platform and project buckets.
- Allows fee changes only through a mandate registry: decreases apply immediately, increases are queued for at least 24 hours and bounded by the mandate's min, max, step and cooldown.
- Permits only factory-approved liquidity positions to be added, and blocks liquidity removal and donations.
- Lets a trader optionally pass a 7-byte fee ceiling in hook data; swaps revert if the effective fee exceeds that ceiling.
- Swap behaviour
- On every swap the hook computes the effective fee, applies a per-swap override flag, and on ETH-side legs takes the fee as a positive hook delta. In afterSwap it checks amounts, mints the fee as claims to the fee vault, records platform and project shares, and emits trade fee events. Swaps revert if the optional trader ceiling is exceeded or the input is malformed.
- Liquidity behaviour
- Adding liquidity is allowed only with positive liquidity delta and only for positions the factory marks as allowed; the caller must be the factory. Removing liquidity always reverts when the delta is negative, and zero-delta removals are only allowed for allowed positions.
- Fee behaviour
- The fee is dynamic. It starts at the launch fee and decays to a normal fee over 60 seconds. After launch, the normal fee can be lowered at any time or raised after a 24-hour queue, all within mandate bounds. The fee is split: a fixed 5000-pip platform share goes to the platform treasury claim, and the remainder goes to the project claim, which is released to the creator or a fee router.
- Owner & admin controls
- No owner or upgrade proxy is visible. Immutable factory, pool manager, and registry addresses are set in the constructor. The creator of a market can, via the mandate registry, change the mode, executor, pause status, bounds and cooldown, subject to tightening-only rules, and can cancel pending fee increases. The factory can register pools, initialize fees, and bind routers. The platform treasury address is hardcoded in the fee vault. The factory and creator are privileged within their markets, and the mandate's executor can apply fee changes in autonomous mode.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeAddLiquidity, beforeRemoveLiquidity, beforeSwap, afterSwap, beforeDonate, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize validates the pool and initial price; beforeAddLiquidity and beforeRemoveLiquidity restrict liquidity to factory-approved positions and block removals; beforeSwap enforces the trader fee ceiling and sets the dynamic fee override and the ETH-side return delta; afterSwap records fees and takes the afterSwap return delta; beforeDonate always reverts; beforeSwapReturnDelta and afterSwapReturnDelta let the hook take fee amounts.
Security & trust assessment
Risk level: medium (verified source, high confidence).
Who controls it: Factory-controlled registration and approved liquidity positions decide which pools and LP positions exist. Market creators and any autonomous executor can raise fees within their mandate bounds and can pause agent execution. No upgrade path or owner withdrawal function was found in the decoded source.
Risk to user funds: The hook holds fee claims through the pool manager and fee vault, and the claims are minted on swaps and redeemed by the platform, creator or factory router. Because liquidity cannot be removed, LP capital is locked by design. The hook does not hold user funds directly beyond these fee claims.
Security findings
- [info] Hook takes ETH-side swap fees via return deltas: beforeSwap and afterSwap return positive deltas so the hook keeps a share of each ETH-side swap, with the fee on the ETH leg up to 100% at launch. Traders pay the fee by design; this is the core mechanism, not a hidden drain.
- [medium] Creator and executor can raise fees within mandate bounds: A market creator, or an autonomous executor, can queue fee increases up to the mandate's max fee and max step, applied after 24 hours or the cooldown. Bounds can only be tightened, but the initial mandate can allow up to 10% fees (ABSOLUTE_MAX_FEE is 100000 pips).
- [medium] Liquidity cannot be withdrawn by LPs: beforeRemoveLiquidity reverts for any negative liquidity delta, so liquidity positions are locked. Only the factory-approved positions can exist, and the hook gives no exit path other than the factory's own logic.
- [info] Platform fee floor is immutable: PLATFORM_FEE is a constant 5000 pips and the platform treasury is hardcoded, so the platform's share cannot be changed by admins.
- [info] Reentrancy and unlock guards on fee changes: Fee changes and claims revert while the pool manager is unlocked and use a transient reentrancy guard, which reduces the risk of callbacks changing fees mid-swap.
Contract details
- Verified source
- Yes (HookVolveHookV4)
- Compiler
- solc 0.8.26+commit.8a97fa7a
- Bytecode size
- 12,559 bytes
- Upgradeable proxy
- No
- Detected patterns
- dynamic-fee, launchpad, liquidity-management, return-delta, tax
Pools using HookVolveHookV4
- ETH / HVOLVE (Dynamic fee) — 24h volume $1.35K, TVL $1.54K, 26 swaps today
- ETH / HVOLVE (Dynamic fee) — 24h volume $0.45, TVL $0, 0 swaps today
- ETH / HVOLVE (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / HVOLVE (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / HVCAT (Dynamic fee) — 24h volume $0, TVL $134, 0 swaps today
- ETH / HOOKVOLVE (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / HV4CHK (Dynamic fee) — 24h volume $0, TVL $0.60, 0 swaps today
- ETH / HOOKCAT (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / VDOG (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / VOLVESTR (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / TEST (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / ACURVE (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / VWOLF (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / HVPEPE (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / VOLVEINU (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / HOOKVOLVE (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today