v4PAIRS
Product
Launch a coinCoinsHooksStake
Build
AI agentsDocumentationProtocol
Links
v4 MarketplaceX
Read the docsLaunch a coin
Documentation / Pick a hook

Pick a hook

A v4 pool has exactly one hook address. v4 Pairs fills it in one of three ways, or leaves it empty.

3 min read

v4 Marketplace stack

The pool's hook is v4 Marketplace's hook stack (0xfa80B85CD044Be80795e3344bE1A7435Dbb3fAcc) with 1 to 5 listed hooks. Each must be active on Storefronts (verified, not unplugged, staked 10,000 $V4M or a house hook) and pass SecurityChecks (Safe or Warning) inside the launch transaction. The stack charges 30 bps of royalty at most, 10 bps per hook at most, within a 400,000 gas budget.

Any hook address

Paste a standalone v4 hook. Its permissions are the low 14 bits of its address. v4 Pairs refuses afterAddLiquidityReturnDelta and afterRemoveLiquidityReturnDelta, which could take the launch liquidity. A hook without a passing record in HookAddressChecks can launch only with an explicit acknowledgement, and the coin is flagged Unchecked onchain for good.

v4 Builder

The Build in v4 Builder button opens v4 Builder, where you write and deploy your own hook; it sends you back to /launch?hook=0x…. Importing a hook by address works today with or without v4 Builder.

Changing the stack

The creator can propose a new set of listed hooks through the factory. It applies after 48 hours: anyone can call applyStack(coin) once the time has passed, and the factory checks the new hooks again at that moment. freezeStack(coin) is one way and cancels any pending change. A standalone hook never changes.

LaunchedStackProposedStackAppliedFrozen
Per coin, stack route: Launched, then (StackProposed, then StackApplied or Cancelled) any number of times, then optionally Frozen.