Uniswap Labs has launched a new tool called StablePair Hook on Ethereum, starting with two stablecoin pools: USDC/USDT and USDC/USDG. The launch comes after stablecoin trading on Uniswap reached $43.4 billion in the second quarter.
StablePair Hook changes how liquidity provider fees are charged. Instead of using one fixed fee, the system calculates the fee for each swap based on how far the pool price is from its 1:1 reference rate and whether the trade moves the price closer to or farther from that level.
When a trade pushes the pool farther away from the reference price, it does not pay a liquidity provider fee. When a trade helps bring the pool back toward the 1:1 price, the fee starts high and then drops with each new Ethereum block. This works like a Dutch auction, allowing traders to choose when to make the corrective trade.
Uniswap says this design is meant to give liquidity providers more of the value created when traders correct price differences. However, it does not guarantee higher returns. Results still depend on trading activity, liquidity, asset prices and the settings used for each pool.
Both StablePair pools are currently running on Ethereum. The USDC/USDT and USDC/USDG pools were initialized on Sept. 10 and use a dynamic fee system with a tick spacing of one.
The system runs through an upgradeable contract structure. Uniswap Governance can change fee settings and replace the contract implementation without requiring liquidity providers to move their funds to a new pool. However, the pools cannot be created by anyone. Uniswap Labs controls the initial creation and fee settings.
StablePair Hook is built using Uniswap v4’s custom hook system. These hooks allow developers to add special rules to pools, including changes to fees, pricing and access, without changing Uniswap’s core contracts.
Security was also part of the launch. OpenZeppelin reviewed the main StablePair fee mechanism from Feb. 9 to Feb. 13. The review found one high-severity issue involving corrective swaps.
The problem could have allowed a trader to get a better combined price by splitting one corrective trade into several smaller swaps. Uniswap says it fixed the issue by caching the pool price once per block. Swaps made during the same block now use the same starting price when calculating fees, removing the advantage of splitting trades.
The price-caching system has some known limitations. During a busy block, later swaps may use a starting price that is different from the pool’s latest price. Also, if a swap crosses the reference price, the fee direction can change for the rest of that block. Uniswap says these effects last only one block and are corrected when the next cached price is recorded.
Governance will continue to control future StablePair Hook changes. Fee settings can be updated and the hook’s implementation can be replaced without moving liquidity to another pool. When settings change, the fee-decay process resets and the next swap uses a fresh price reading.
Uniswap says the hook’s permissions also prevent certain changes, including stopping liquidity providers from withdrawing their assets or charging fees that were not approved.
The project also warns that its fee quote does not account for the size of a trade or the price impact caused by available liquidity. As a result, large trades can end up with a different average price than the initial quote, depending on how much liquidity is available in the pool.
StablePair Hook is part of Uniswap v4’s wider push toward customizable pools. Uniswap Labs has released the contracts and tests publicly under an MIT license, along with technical documentation for the Ethereum deployment.





