Overview
v4 Marketplace is where Uniswap v4 hooks are listed and stacked. Builders ship their v4 hooks to a storefront, pool creators stack up to five of them in one pool, and every swap pays every hook it passes through.
Why a hook stack
A v4 pool has exactly one hook, written into its pool key when it is initialised. The hook's permissions are the low 14 bits of its address, fixed when it is deployed. Nothing can be added to a pool later. So v4 Marketplace deploys one hook, the hook stack, mined with every permission a stacked v4 hook may need, and each pool created through it registers its own ordered list of up to five v4 hooks.
Words used here
| v4 hook | A contract implementing ILog that runs inside a hook stack. It proposes a fee, may grant a rebate, may veto a swap, and never holds pool funds. |
| Hook stack | The one v4 hook every v4 Marketplace pool is created with. It runs up to five v4 hooks in order on every swap. On chain the contract is named Dam. |
| Storefront | An author's page: an address, a name, an X handle, and the v4 hooks it lists. |
| Failed run | A hook call that reverted, ran out of its gas or returned malformed data. The swap goes on without it. On chain the event is named Crack. |
| Live swaps | The live view of every pool, the liquidity behind it and the royalties it pays. |
Contracts
The hook stack (Dam), Storefronts, RoyaltyLedger, the router, Timelock and the four house hooks, all on the chain's v4 PoolManager 0x8366...0951, verified on Sourcify. Their addresses are on the protocol page.