Skip to main content

Uniswap v4 Hook Permission Calculator

Which hook calls does your contract implement? Get the required address suffix.

Your hook implements…

Required address suffix (low 14 bits)

…1780

bits: 01011110000000 (14-bit permission field) — the PoolManager checks uint160(address) & bit, so the address's LOW 14 bits must equal this value; HookMiner salts a CREATE2 deployment until they do. A hook must implement a call if — and only if — its bit is set.

Decode a hook address

afterInitialize afterAddLiquidity beforeRemoveLiquidity afterRemoveLiquidity beforeSwap

Example: 0x3EED…9780 decodes to the five-call firewall (afterInitialize, afterAdd/RemoveLiquidity, beforeSwap, beforeRemoveLiquidity) — its low 14 bits are 0x1780.

About the V4 Hook Calculator

Uniswap v4 gives hooks contract-address-derived permissions: the bits of the address itself determine which hook callbacks the pool will call. Designing a hook means designing an address whose flags land in the right bits.

This calculator maps hook addresses to their permission flags and back — before-beforeInitialize, before-swap, after-swap and the full grid — so you can verify a deployed hook or plan a vanity address with the exact permissions you need. All computation is local keccak and bit math in your browser.

How to use

  1. Paste a hook address to see which permissions its bits encode.
  2. Or select desired flags to see the address constraints.