Summary
As part of regular governance upkeep, Uniswap Labs reviews the protocol infrastructure that governance owns and brings forward improvements as they are needed. This RFC proposes two technical updates:
- Upgrade the VolatilePair Hook on Ethereum
- Update the protocol fee releaser on X Layer
Below we outline the background and proposed changes for both initiatives.
Part 1: VolatilePair Hook Upgrade
Background
VolatilePair Hook is a Uniswap v4 dynamic-fee hook built by Uniswap Labs. It went live on Ethereum on October 14 with the ETH/USDC pool and has since launched on Robinhood Chain (ETH/USDG).
Volatile pairs did more than $500 billion in volume on Uniswap this year. In a static-fee pool, when the price moves elsewhere, LPs end up absorbing the cost while the pool quotes a stale price and someone else trades against it to keep the difference. VolatilePair Hook prices both sides of the trade, setting separate buy and sell fees on every swap:
- When the pool price rises, buying costs more and selling costs less. When pool price falls, the fees flip.
- After a large price move, trades that push the price back pay a temporary fee.
VolatilePair Hook was designed to keep value in the pool while quoting a competitive spread, enabling stronger and more consistent returns for LPs.
The hook is an upgradeable proxy contract owned by Uniswap Governance, so the mechanism can be improved without pools needing to migrate. This proposal is the first use of that upgrade path.
Proposed Change
The temporary fee is applied to capture value from backrunners and return it to LPs. However, it currently applies to any trade that pushes the price back after a large move, regardless of how many blocks have passed. This can result in the temporary fee being applied to subsequent regular swaps, making the pool less competitive.
This upgrade caps the temporary fee at a maximum number of blocks, set by a new per-chain parameter, maxTempFeeBlockGap. Past that limit, the temporary fee is no longer applied and the standard directional fees apply as before. On Ethereum, maxTempFeeBlockGap will be 1. For reference, the Robinhood Chain deployment already runs this implementation with a gap of 2.
As a result of this upgrade, LPs are not negatively impacted from the temporary fee and we expect more swap flow to route through the hook.
Onchain Actions
Uniswap Labs will deploy the new VolatilePair implementation on Ethereum ahead of the vote. The proposal then upgrades the hook proxy to point at it:
VOLATILE_PAIR_HOOK.upgradeToAndCall(NEW_IMPLEMENTATION, "")- Proxy:
0x000022Ec4eBD6b12294396E852E4C3876b253Cc0/ New implementation:0xd944fa96798916Fe72161ccaF0F30DF7bb220000
Changing parameters for this hook at a future date will require another governance proposal.
Part 2: X Layer Fee Releaser Update
Background
Proposal 95 activated protocol fees on X Layer, alongside Soneium, World Chain, and Zora. Fees flow into a TokenJar, and a releaser lets anyone claim its contents by depositing a fixed amount of UNI, which is burned by bridging it back to Ethereum.
X Layer is built on the OP Stack but uses a separate bridge, Agglayer, for token transfers. Governance messages from Ethereum reach X Layer over the OP Stack bridge, but that bridge is configured to reject ERC-20 tokens, including UNI. X Layer launched on Polygon CDK and kept Agglayer for token bridging when it migrated to the OP Stack, which keeps existing bridged assets valid if the chain changes stacks again.
On the other OP Stack chains where protocol fees are active, the OP Stack bridge carries both governance messages and UNI between chains. The releaser deployed on X Layer in Proposal 95 followed that same pattern and did not include an Agglayer-compatible releaser. As a result, while protocol fees have been accruing properly on X Layer, those fees have not been able to be released and the corresponding UNI has not yet been burned. The issue was identified in late September, and this proposal seeks to resolve this by updating the releaser on X Layer.
Proposed Change
1. A new releaser built for Agglayer. Uniswap Labs has written an AggLayerReleaser that burns UNI over X Layer’s Agglayer token transfer bridge. Governance will point the X Layer TokenJar to this new releaser, replacing the existing OP Stack releaser.
2. A decaying release threshold. Alongside the new releaser, Uniswap Labs is adding a DecayingThresholdSetter contract that dynamically adjusts the release threshold, starting high and stepping down to the standard 2,000 UNI. Because fees have accumulated on X Layer since Proposal 95, initially releasing at 2,000 UNI could create an MEV opportunity. The decaying threshold is designed to prevent any arbitrage opportunity; once the threshold returns to the standard 2,000 UNI, control returns to governance.
The X Layer decay would complete roughly six days after proposal execution.
Onchain Actions
Uniswap Labs will deploy AggLayerReleaser and DecayingThresholdSetter on X Layer ahead of the vote. As with other OP Stack chains, the governance action is sent from Ethereum over the OP Stack messaging bridge to governance’s CrossChainAccount on X Layer, which executes it:
- On Ethereum:
XLAYER_L1_MESSENGER.sendMessage(XLAYER_CROSS_CHAIN_ACCOUNT, ..., 200_000) - Resulting call on X Layer:
XLAYER_TOKEN_JAR.setReleaser(AGG_LAYER_RELEASER)
When deployed, DecayingThresholdSetter will be set as the owner and thresholdSetter of AggLayerReleaser.
Next Steps and timeline
Under the accelerated process for protocol fee decisions, both items go to Snapshot after this RFC, alongside the upcoming v4 fee policy updates.
- RFC posted: November 6, 2026
- Snapshot: On or shortly after November 13, 2026
- Onchain vote: Following Snapshot, per standard governance cadence
Supporting Documents + Links
- VolatilePair Hook launch post: blog.uniswap.org
- VolatilePair block gap change: v4-hooks-public PR #87
- Proposal 95: Protocol Fee Expansion Vote 2: vote.uniswapfoundation.org/proposals/95
- AggLayerReleaser: protocol-fees PR #164
- DecayingThresholdSetter: protocol-fees PR #167
- Proposal 103 payload: protocol-fees PR #169
- Audit reports: Will be added when audits complete prior to onchain proposal