Fee Tier
The fixed swap fee rate attached to a Uniswap V3 pool, chosen at creation from a governance-approved set, where each token pair may have one separate pool per tier.
A fee tier is the swap fee a Uniswap V3 pool charges, fixed when the pool is deployed. Uniswap V2 hardcoded a single 0.30% fee for every pair in existence. V3 replaced that with a small set of tiers and made the tier part of a pool's identity: the same two tokens can have several pools, one per tier, each with its own price, its own liquidity, and its own tick spacing.
Why one fee never fit
A fee is compensation for the risk a liquidity provider takes, and that risk varies enormously by pair. A USDC/DAI provider faces almost no divergence risk and competes on volume, so 0.30% is a large tax that pushes flow to competitors. A provider on a newly launched token faces severe impermanent loss and adverse selection, and 0.30% may not cover it.
Under one global fee the first pool is overpriced and the second is underpriced, and the protocol has no way to express the difference. Tiers let the market pick.
The tiers and their spacings
Each tier is paired with a tick spacing, and the pairing is enforced by the factory rather than chosen per pool.
| Fee | Tick spacing | Typical use |
|---|---|---|
| 0.01% | 1 | Stablecoin pairs, added by governance after launch |
| 0.05% | 10 | Stable and correlated pairs |
| 0.30% | 60 | Established volatile pairs |
| 1.00% | 200 | Exotic and long-tail pairs |
The factory stores this mapping in a feeAmountTickSpacing map. A fee with a spacing of zero is not enabled, which is how the contract distinguishes an unapproved tier from an approved one without a separate flag. Governance can add tiers but the design deliberately provides no way to remove or alter one, because pools already deployed under a tier depend on its spacing permanently.
The cost that tiers introduce
Splitting a pair across tiers splits its liquidity. A trader who only checks one pool may execute against a fraction of the depth that actually exists for that pair, and a naive router will quote a worse price than the market offers. This is why V3 pushed routing complexity into the periphery: finding the best execution now means comparing pools, not just reading one.
For auditors, the tier is a parameter that must be carried correctly through every layer. A router that derives a pool address must use the same fee the user's trade was quoted against. Deriving the address with the wrong tier yields a different pool, or an address where no pool exists, and the failure mode depends entirely on whether the derivation is checked before or after value moves.
Related Terms
Tick Spacing
The fixed interval that constrains which ticks a concentrated-liquidity position may use as its boundaries, set per fee tier at pool creation and immutable thereafter.
Concentrated Liquidity
A liquidity provision model where LPs can specify custom price ranges for their capital.
Liquidity Provider (LP)
A user who deposits assets into a liquidity pool to facilitate trading, earning fees in return.
Fee Growth
A monotonically increasing global accumulator of fees earned per unit of liquidity, which lets a concentrated-liquidity pool settle any position's fees by differencing two snapshots instead of iterating over positions.
Need expert guidance on Fee Tier?
Our team at Zealynx has deep expertise in blockchain security and DeFi protocols. Whether you need an audit or consultation, we're here to help.
Get a Quote