Aggregator hooks
Uniswap Labs hooks that bring an outside exchange's liquidity into v4 pools, and how they differ from a hook stack here.
What they do
An aggregator hook wraps one external venue, for example a Ramses V3 pool or a concentrated pool on another exchange. Uniswap Labs initializes a v4 pool for each pair with that hook attached. When a swap reaches the pool, the hook trades against the outside venue inside the same transaction and hands the result back to the PoolManager. Routers quote these pools like any other v4 pool, so one route can mix Uniswap pools and outside liquidity and settle in one transaction. Swaps through them pay a Uniswap protocol fee, read from the PoolManager at swap time.
The difference
| Aggregator hook | Pool with stacked hooks | |
|---|---|---|
| Brings into one v4 pool | liquidity that lives on another exchange | many fee and guard hooks, run in order |
| Liquidity | stays on the outside venue | sits in the v4 pool itself |
| Who gets paid | the outside venue's LPs, plus the Uniswap protocol fee | the pool's LPs, plus a royalty to each hook author |
| Who deploys it | Uniswap Labs | anyone, from the storefronts |
The two do not combine. A v4 pool has exactly one hook address, so an aggregator hook cannot sit inside a hook stack and a hook stack cannot wrap an outside venue. They earn nothing on this site either, since no storefront lists them and they carry no royalty.
On this chain
The Aggregator hooks shelf lists the ones we found. We read every hook address in the PoolManager's Initialize events and kept those that answer aggregatorHookVersion(). Each one names its venue through an immutable factory(), and the factory's verified source on Blockscout says what it is. Pools come from the hook's AggregatorPoolRegistered events; swaps and amounts from its HookSwap events. Volume is only counted on pairs with USDG on one side.