Permissionless fee tiers and Uniswap v3 is even more efficient for traders
Governance-managed fee tiers (i.e. 0.05%, 0.3%, etc.) are inflexible for LPs.
Uniswap v3’s main innovation was concentrated liquidity ranges:
LPs have granular control over what price range their liquidity is concentrated over.
Individual positions are aggregated into a single pool.
Trades execute against a combined price curve from all LPs.
Simply, instead of spreading their liquidity between 0 and ∞ for e.g. the USDC-ETH pair, LPs can choose a range such as $3,100 and $3,200.
This allows Uniswap v3 to virtually represent any orderbook setup.
Uniswap v3 (and orderbooks in general on exchanges) has an inelegance that has always been a question to me.
The fee tiers that are offered are:
Fixed. To start, the fee tiers were 0.05%, 0.30%, or 1.00%. The 0.01% fee tier was added in November by governance.
Split liquidity into different pools.
It makes sense for Uniswap to add fee tiers. If LPs are willing to market make with a lower fee, traders win.
Overall, the trend is that the more trading interest for a given pool, the lower fees are driven. USDC/ETH 0.05% pool does about 10x the volume of the equivalent 0.30% pool. Long-tail shitcoins benefit from the extra LP incentive of 1.00% and most traded pools are of the 0.30% variety.
The usefulness of the 0.01% fee — primarily to compete for stablecoin to stablecoin swaps — came as a surprise. Dan Robinson from Paradigm called the 1 bp fee tier “silly”.
Maybe it doesn’t make sense for any protocol parameter to be preordained? Instead, the market should be given the tools to decide for themselves.
Uniswap might be better if it offered:
LPs to select any arbitrary fee range between (and including) 0% to 100%.
Optionally, all the LP positions could be aggregated into a single pool.
Trades execute on the best price on a fee-adjusted basis.
It’s worth noting that Uniswap already routes off-chain to best prices using the fee tiers — so there isn’t a strict need to combine every LP position into a single pool. It is (presumably) too gas intensive to calculate the best route on-chain and this idea is only feasible on L2.
At the minimum, what I’m arguing here is for pools (=fee tiers) not set by governance but instead, by the market — i.e. anyone could create a pool with any fee tier. In an ideal scenario, arbitrary fee rates could be combined with custom price ranges in the same pool. If not, at least have pool creation with a new fee tier be permissionless. The front end can take care of the routing.
I don’t know how gas-efficient combining an arbitrary fee plus a price range into LP positions is. But even if it isn’t, on an L2 the gas consideration is less of an issue and the focus can be on creating a flexible and efficient market. It should be up to the LP to decide any arbitrary fee they want. Splitting liquidity between fee tiers isn’t an issue because the LP positions are non-fungible anyways.
This would improve execution for traders because LPs are given more flexibility. All orderbook markets have fixed fee tiers — with some exchange vs. market maker split, and benefits for e.g. holding a CEX token — but Uniswap could turn this fixed part of the exchange experience into a free market.
If we think about how the world would be different with this change, instead of governance adding a 0.01% fee tier and surprising the experts with its success, the market would have quickly trended towards lower fees. It could be that traders on Uniswap would be receiving even better execution with arbitrary fees than with the 0.01% fee tier.
In closing, DEXs compete by offering best execution and tooling for LPs to support that goal. Because arbitrary fee tiers offer more efficiency, in theory, I’d expect them to win over fixed fee tiers defined by governance.
Arbitrary fee tiers set by each market participant > fixed fee tiers set by governance. (Conceptually).