Uniswap Labs rolled out two Ethereum pools built on its StablePair hook on Sept. 10, aimed at USDC/USDT and USDC/USDG pairs, and the USDC/USDT pool is already doing real business: roughly $117.9 million in 24-hour volume against about $6.1 million in total value locked as of Sept. 30 around 15:59 UTC. The pitch is simple enough. StablePair is a Uniswap v4 hook — a contract that changes how a pool behaves — and its fee logic compares a cached pool price with a reference rate stored in the hook's configuration. No external price feed involved.
That design does something clever with fees. But it also leaves a hole that Uniswap's own documentation acknowledges.
How the fee logic actually works
Inside a narrow band around the reference, the fee changes depending on which way a swap is going. When the pool sits exactly at the reference, both directions pay the configured optimal fee. Outside that band, things get asymmetric: a swap pushing the pool farther from the reference pays zero LP fee, while a swap pulling it back toward the reference faces a decaying fee. Uniswap Labs says this captures the "vast majority" of rebalancing profit.
The hook's reference rates for both pools are listed one-for-one in the deployment documentation. That's the assumption doing a lot of quiet work.
The depeg problem
StablePair cannot protect liquidity providers if a token loses its peg. The fee logic has no way to verify issuer solvency or restore redemption value. It compares prices against a stored reference, and if the real world stops matching that reference, the hook doesn't know. It just keeps pricing swaps against a number in its configuration.
That's a meaningful gap for a product whose entire premise is that the two assets in the pool are interchangeable. LPs are effectively trusting the issuers — not the hook — to hold the peg.
A stale-price risk inside each block
There's a second, smaller wrinkle. The first swap in each block caches the pool price used for later fee calculations in that same block. If the live price crosses the reference rate mid-block, those later swaps are working off a stale input. It's a narrow window, and it's a design tradeoff rather than a bug, but it's the kind of thing that matters more when the market is moving fast.
How it stacks up against v3
The comparison Uniswap is implicitly inviting is with its own older pool. The Ethereum USDC/USDT v3 pool charging 0.01% showed about $34.2 million in TVL, $15 million in 24-hour volume, and $1,100 in 24-hour fees around 16:02 UTC on Sept. 30. The StablePair USDC/USDT pool, with roughly a fifth of that TVL, did nearly eight times the volume.
The USDC/USDG pool is quieter: about $2.6 million in TVL and $8.7 million in 24-hour volume as of Sept. 30 around 15:57 UTC.
Volume concentration in the newer hook is one thing. Whether the fee structure actually holds up when a reference rate and a real market price diverge is the question nobody has had to answer yet — because so far, the one-for-one assumption has held.



