[Consensus Check] "Fee Switch" Pilot

This post is co-authored with @guil-lambert

Thank you to everyone who voted and shared feedback in the temperature check. There were a wide variety of views shared and most importantly, the temperature check passed with overwhelming support.

It’s time for the next phase of the process is the “consensus check”. I have amended details of this proposal inline with feedback given. The key pieces are outlined below. Additionally, I have added some responses to common points of feedback I did not incorporate.

Feedback that has been incorporated:

Pair selection:

There was a lot of feedback on pair selection, although many good points were made. I believe what @guil-lambert has the strongest reasoning. A 1/10 setting on the following pairs:

DAI-ETH-0.05%

ETH-USDT-0.3%

USDC-ETH-1%

Intuitively this may seem like bad pairs to test on because they are relatively popular. However, @alanalevin did a good job of articulating why high volume pairs are actually important to test on. @guil-lambert also laid out why different fee tiers are important to test on.

Longevity:

I liked @Brenner’s idea on picking a target amount of money to accrue. However, that doesn’t quite make sense as this proposal is explicitly about testing the mechanism and not deciding anything about distribution.

As an alternative to a target amount of money, I propose a target length of time. Specifically, 120 for this experiment to run. That should provide plenty of real data.

Logistically, this can be somewhat difficult to execute so I would propose the following.

Assuming I still have enough UNI in 120 days to create proposals, I will set a proposal to adjust the parameter to “0” in 120 days. That proposal will be considered a part of this proposal and go straight to vote.

Alternatively, a more sophisticated mechanism to accomplish this might be possible but it would require some custom dev work. Someone would have to step up to do that.

Responses to feedback not incorporated

This should be tested on less active pairs:

These pairs were explicitly chosen so that they weren’t the most active by daily volume. As @monet-supply mentioned, this gives the opportunity to LPs that want to avoid protocol fee pools to re-deploy liquidity to the most active pool for their preferred tokens.

As for token pairs that are not ETH-stablecoin, most of them do not have a viable alternative fee tier for LPs that are put off by the protocol fee. We wouldn’t want to target a specific community by “taxing” their LP revenues and offer no viable alternative besides moving to a different AMM.

The “fee” is too high:

We as UNI token holders are limited in what we can propose by the immutable code of the smart contracts. The 1/10 “fee tier” is the lowest possible. It is not possible to set anything lower. You can verify this for yourself in the V3 whitepaper.

Final specification:

Set Fee parameter to 1/10 for the following pairs:

DAI-ETH-0.05%

ETH-USDT-0.3%

USDC-ETH-1%

All accrued value will remain in the protocol until governance agrees on best use for funds via a vote.

In the event that this vote passes, a second vote to turn off the fee switch will be submitted 120 days after this vote passes.

Vote:

Snapshot voting is open for 5 days:

https://snapshot.org/#/uniswap/proposal/0xe9f8e5dd7ec26f7c0e7dd9e19bb8d57497d27d4a74be01cd3cad159cf3901b7f

8 Likes

Thanks @Leighton. We appreciate all of the hard work and analysis on this topic to date. We believe there is a potential path forward that makes sense. However before moving ahead, we would suggest that the community engage qualified counsel to examine the relevant legal and regulatory considerations, and advise on the best path forward.

In particular, further analysis is warranted to understand the securities and tax law implications of turning on fees, including for the UNI token, the protocol, and the DAO itself. Conducting this analysis up front - and taking any necessary steps that may result - will serve Uniswap well in the end. And given Uniswap’s role as a leader in the industry, it may also serve as a precedent that other DAOs can build upon going forward.

In terms of next steps, we’re happy to assist in this process, including engaging counsel and tax advisors, and open-sourcing any relevant analysis. We could also imagine the Uniswap Foundation helping to drive these efforts on the DAO’s behalf.

We look forward to working with the community and finding the right path ahead.

Jeff
a16z

5 Likes

Thanks for the input! Is A16z planning to vote in accordance with your position? It would be helpful to see that reflected in the poll.

Since the details of this proposal are all clearly outlined. Is it feasible that A16z can conduct and publish its analysis using the information available here? Then that analysis would be available for token holders to consider when making voting decisions.

1 Like

This doesn’t seem like a Uniswap-specific issue. Obviously Uniswap is in a fairly unique position among DeFi protocols due to its usage and profile within the ecosystem. But it seems like the legal and tax implications would be relevant to many other protocols, as well. Has a16z gone through a similar analysis for other protocols that generate revenue for the protocol itself?

There would also be questions as to which jurisdictions that analysis would apply to. It doesn’t make sense to me for the DAO to subsidize tax and regulatory analysis for a subset of tokenholders, even if that analysis for the US (presumably) would be the most impactful.

Know the Consensus Check has now passed but wanted to respond to Jeff here.

If the final Uniswap Foundation governance proposal passes, it would definitely be within its remit to assist in coordinating and funding legal analyses of the securities and tax implications of turning on fees for the Protocol.

This goes for other analyses too to track the impact of the fee switch on Protocol stats like volume, TVL, number of LPs for a given pool, fees earned, etc.

We’re excited about the amount of debate and community engagement for this proposal and will continue to follow along and contribute where we can best support research, analyses, and more

Applications for grants are still open today here: https://www.unigrants.org/.

4 Likes

Hi Leighton,

Please see my opposition to the Fee Switch here.

The tl;dr is that I believe this fee switch will be detrimental to the Uniswap’s competitiveness on Dex aggregators, and it will result in volume moving away to other AMMs.

Also, if we were to utilize a fee switch, I oppose having 100% of those funds go to Uniswap governance as proposed by @devinwalsh . I think it presents a huge moral hazard for these funds to be in the hands of govenrnance. I think we need to figure out how those funds will be earmarked prior to implementing the fee switch. I think allocating all funds or a majority of those funds to the Uniswap Foundation, if approved, would be a MUCH better use given that we can be sure that revenues earned from Uniswap will go back into Uniswap.

Entrusting large sums of revenue to governance without any checks in place on how these funds will be used is extremely dangerous! It would be a disservice to Uniswap for these funds to leak out to other ventures only tangentially related to Uniswap.

1 Like

I appreciate the input! I also read the thread on Twitter.

  1. Note the “fee switch” does not directly impact trade execution. It potentially impacts it by making LP’ing less attractive but we don’t yet know how those dynamics will play out. I share your overall concern which is why this is designed as a test.

  2. Overall, I think the issue of how any potential tokens collected is complicated and fraught with lots of issues. That’s why I don’t want it to hold us back from a test. Reasonable people can disagree :slight_smile:

1 Like

With regards to the first point, I think that the DAI-ETH 0.05% pair is not a good one to test on. It generates quite a bit of volume and is influential on dex aggregators. Why not use a less volume generating pair as this is just a test?

1 Like

I think you are right about that and other people have brought up that point to me. I’m going to check on that with Guile to get his thoughts… overall, i think testing each tier has some nice benefits but it does make the last sense on 0.05%

As I stated in the previous thread, it seems weird to not test across all fee tiers for a pair. If you turn the fee switch on for 1% USDC-ETH why wouldn’t all people in that LP just switch to either 0.3 or 0.05% fees instead?

1 Like

I think what we’re missing currently is some predetermined parameters for the fee switch “test”.

This protocol fee test appears as of yet incompletely defined. It would be helpful to have the following questions answered.

  1. What precisely is being tested by this introduction of protocol fees? Is it how much liquidity is leaving? Is it how much less competitive we are on DEX aggregators? If so, we should take note of our current market share of trade volume in these pairs in comparison with other competing AMMs.

  2. How and by whom will it be measured? Will this be the not yet founded Uniswap Foundation? Are there people in Uniswap Labs making these measurements? Will it be Guillaume Lambert?

  3. Given some metrics, what would be considered a success/ok/failure? Without an end goal pre-specified, any result could be qualified as a success / failure, without consideration for collateral damage.

Thank you!

1 Like

Hi all!

I’m glad to address the issues raised in this thread and keep the dialog open as we’re nearing the final vote for the Uniswap fee switch pilot.

With regards to the first point, I think that the DAI-ETH 0.05% pair is not a good one to test on. It generates quite a bit of volume and is influential on dex aggregators. Why not use a less volume generating pair as this is just a test?

We specifically tried to choose pools that didn’t have the most TVL for that given pair so that the fee switch would not impact the majority of the deployed capital. For example, the ETH-Dai and ETH-USDC pairs both have the most TVL in the 0.3% pool and not those chosen for the pilot.

As I stated in the previous thread, it seems weird to not test across all fee tiers for a pair. If you turn the fee switch on for 1% USDC-ETH why wouldn’t all people in that LP just switch to either 0.3 or 0.05% fees instead?

Some LPs may not want to pay the 1/10 fee, so it is totally expected that they will re-shuffle their liquidity provisioning. The goal of this pilot is exactly that: to quantify how LPs with re-deploy their liquidity in response to the fee switch.

We also don’t want to target a specific LP community by adding a fee on all pool for that token.

What precisely is being tested by this introduction of protocol fees? Is it how much liquidity is leaving? Is it how much less competitive we are on DEX aggregators? If so, we should take note of our current market share of trade volume in these pairs in comparison with other competing AMMs.

Yes, the goal is to observe how LP will re-shuffle their liquidity provisioning in response to the fee switch. Perhaps some fee tiers will have liquidity than is stickier than others, and that should help determine which fee tier will have the least impact on overall liquidity provisioning and revenue.

How and by whom will it be measured? Will this be the not yet founded Uniswap Foundation? Are there people in Uniswap Labs making these measurements? Will it be Guillaume Lambert?

All of the above? It should be trivial for anyone to create a Dune analytics dashboard to monitor the impact of the fee switch in real time. I’ll also analyze the results myself out of sheer curiosity. @Leighton and I could also write a report at the end of the pilot too.

Given some metrics, what would be considered a success/ok/failure? Without an end goal pre-specified, any result could be qualified as a success / failure, without consideration for collateral damage.

The result of the pilot project will provide insights and data that can be used guide how the fee switch is activated for other pool.

So I don’t see as testing a null hypothesis with a definite success/failure outcome. Rather, these types of pilot projects are unique opportunities to perform a financial experiment in the least perturbative way. There are simply too many parameters to be able to predict the effect of activating the 1/10 fee switch, let alone the >1/10 protocol fees for different fee tiers or more esoteric scenarios like feeProtocol0 != feeProtocol1, etc.

And the ETH-stablecoin pairs are also unique in a sense that there are at least 6 sister pool with at least 1$M in daily volume, so any LPs can easily deploy to a different pool within the Uniswap ecosystem if they’re unhappy with the fee switch (rather than going to a different AMM).

3 Likes

Heya @BP333, as this is a pilot, we are somewhat lucky that there is existing academic research on AMMs and the effect of a fee switch.

  1. Some metrics that could be tested

Referencing this post by @rfritsch and his paper on The Economics of Automatic Market Makers, there are some parameters that @teemulau highlighted in the post.
Specifically the "sticky volumes s1 , s2 , and the LPs acceptable difference d ".

This is as @guil-lambert has suggested and this is key as it allows one to have some data to work with at last.

An interesting proposition is that the DAI-ETH pool 0.05% pool has a 24H volume of $27.72m (highest volume amongst all DAI pools) and a TVL of $14M while the DAI-ETH pool 0.3% has a 24H volume of $6.41m and a TVL of $43M. As the fee will come from trading fees, it makes sense to explore a pool with a higher volume and lower TVL to see its effect. Furthermore the total TVL of DAI on Uniswap is $935M therefore this can help control potentially averse impacts of the pilot.

  1. How?

I’d love to see @guil-lambert and @Leighton 's report on this experiment but tbh you could just use a these Dune dashboards (or make your own) and Uniswap’s own charting (here’s the DAI-ETH one!).

I’d imagine that it’s within the mandate of the upcoming Uniswap Foundation to explore R&D on the fee switch which would probably be shouldered by whoever is the Protocol Lead. Furthermore, @devinwalsh has also mentioned that it is within the Foundation’s remit - so I’m confident this pilot won’t simply be executed and left to the wind!

2 Likes

With respect to these two points above, the ETH-DAI 0.05% pool generates the highest volumes / TVL. From a risk perspective, losing TVL here would have the greatest effect on our trade volume market share of the ETH-DAI trade on DEX aggregators. So the fact that it generates a lot of volume on less TVL means it’s a VERY important and capital efficient pool for Uniswap’s ETH-DAI trade! I would much rather prefer a ETH-DAI pool where losing TVL would have a lesser effect on our overall trade volume market share amongst AMMs.

I am less worried about re-shuffling within Uniswap itself, but more worried in losing trade volume market share to other AMMs. I will tell you it’s an extremely competitive space. We’re barely winning in a lot of these trades. A tiny adjustment can swing things against Uniswap’s favor.

Paraswap pools, Curve v2, Balancer v2, and Hashflow are all very respectable competitors that often beat out Uniswap’s best pools. We have to be wary of the competition. Not just the re-shuffling of liquidity among the Uniswap pools. You don’t have to take my word for it. Just check common trades of different sizes on Paraswap, and you’ll notice that Uniswap doesn’t win a lot of these trades.

I think a weak point in this proposal thus far is not having a properly defined test. It’s important to know what we are testing for before we are testing it. The way the proposal is constructed now, there’s no testing being conducted. We’re not specifically testing for anything, which is a problem.


For me, I would see this fee switch as a failure, if we see materially less competitiveness in the trades for those pools we are implementing the test, on DEX aggregators.

I know I’m sounding like a broken record here, but while we’re a market leader in trade volume, we’re barely winning many common trades on DEX aggregators. This lead is more vulnerable than you think. As an active liquidity manager, I check DEX aggregators constantly for pairs where we can take market share away from other AMMs. We’re barely winning a lot of these battles. It’s literally a game of inches.

We could lose market share here because (1) we don’t have the similar incentive structures that other AMMs like Curve v2 and Balancer v2 are offering. So while we are technologically more innovative in our concentrated liquidity model, where we can create more capital efficiency with less TVL, the other AMMs can beat us with strictly more TVL using clever tokenomics.

TL;DR-

My main warning is that we NEED to be wary of losing market share to other AMMs on Dex aggregators. Fee switch is great because it can help fund protocol development which will allow us to keep innovating, and innovating is our greatest strength. But we need to do the testing in a way that doesn’t put us at risk of losing competitiveness. And we need specific guardrails on how the revenue can be used, so that money can go back into investing in innovation

@Leighton @guil-lambert @Fishbiscuit


Just to re-iterate my point from earlier. Just look at how competitive the DEX landscape is for a 500 DAI swap to ETH. Uniswap is pretty low on the list for a major trading pair.

This is an example of a dashboard that I think we need to create for the fee switch pools. But the relevant competitor AMMs should be updated to include Curve, Balancer, Hashflow, ParaSwapPool, Shibaswap, and others which are competitive.

I think we should show not only 1inch exported volumes but paraswap exported volumes as well.

Again, I’m not saying we shouldn’t do a fee switch, but we absolutely need to be cognizant of the competitive DEX landscape. The fee switch could be very helpful in driving Uniswap innovation, but only if there are guardrails around how the revenue is to be invested and the timing of the investments. If they’re just stuck in Uniswap governance without being put to productive work, that is a problem. If those funds are being drained through governance to fund tangential DeFi stuff, that is a bigger problem.

@BP333 Thanks for raising those concerns.

Just to re-iterate my point from earlier. Just look at how competitive the DEX landscape is for a 500 DAI swap to ETH. Uniswap is pretty low on the list for a major trading pair.

My main warning is that we NEED to be wary of losing market share to other AMMs on Dex aggregators.

Why choose 500 specifically? This effect is much less important for larger trades.

In fact, the average trade size of the last 1000 trades that got routed to the ETH-Dai-0.05% is $15,695. The median is $8,155, but here’s the whole distribution:

About 20% of all trades are smaller than 500. If we input anything above a 2,000 Dai order in paraswap, we see that Uniswap v3 is consistently on top. Try it.

With respect to these two points above, the ETH-DAI 0.05% pool generates the highest volumes / TVL. From a risk perspective, losing TVL here would have the greatest effect on our trade volume market share of the ETH-DAI trade on DEX aggregators. So the fact that it generates a lot of volume on less TVL means it’s a VERY important and capital efficient pool for Uniswap’s ETH-DAI trade! I would much rather prefer a ETH-DAI pool where losing TVL would have a lesser effect on our overall trade volume market share amongst AMMs.

The relationship between volume, TVL, and LP returns is not trivial. I would go as far as to say that TVL is a metric to be avoided altogether. Here’s why:

This is the liquidity distribution in the ETH-Dai-0.05% a few days ago. As you can see, there’s a huge chunk of liquidity between 1500-1900. So if the price is above 1900, all of that liquidity would be counted towards the TVL but none of it will be within a tradeable range.

What’s important is the liquidity at the current tick. Here’s a cool animation for the ETH-USDC 0.05% pool made by Austin Adams from the Uniswap research team:
https://twitter.com/Uniswap/status/1559621941903990784

This pool is more actively managed, and a larger fraction of the deployed liquidity is “hugging” the spot price. So even though two pools may have a very similar TVL, it’s the amount of active liquidity that matters.

Back to my very first post, I posted that relationship and it is tied to the volatility of the underlying. At the end of the day, all the 6+ ETH-stablecoin sister pools in Uni v3 should in theory generate the same revenue regardless of their fee tier. That’s because LPs would relocate to a more profitable pool if that were the case, and more liquidity in a pool decreases overall revenue, leading to other opportunities in other pools, etc.

But with a fee switch, the revenue may be skewed (ie. a 1/10 protocol fee may be more tolerable in the 1% pool than in the 0.05%) in a way that’s harder to predict. Testing it for sister pools at different fee tiers is perhaps the only way to know.

I think a weak point in this proposal thus far is not having a properly defined test. It’s important to know what we are testing for before we are testing it. The way the proposal is constructed now, there’s no testing being conducted. We’re not specifically testing for anything, which is a problem.

Why do you say that no testing is being conducted? Activating the fee switch is the test and will generate data that can be used to guide future decisions

The fee switch may be so detrimental that it needs to be turned off permanently (who knows?), but the only way to really know is by performing these targeted tests.

2 Likes

@guil-lambert

I tested a bunch of trade sizes. They all don’t go thru Uniswap v3. See below

Here is 2,000 DAI to ETH

Here is 5,000 DAI to ETH

Here is 10,000 DAI to ETH

Here is 100,000 DAI to ETH

We aren’t competitive for any of these trade size amount. 1,000,000 trade size will activate the Uniswap v3 pool but only for a portion of the trade and it’s not even being routed thru to DAI-ETH but to USDC-ETH.

But the worry is that the active liquidity will leave which will make Uniswap as an AMM less effective overall for the DAI-ETH trade. So yes, I agree that it IS the active liquidity that matters. But what makes you think that the liquidity that will leave will not be the active liquidity? It likely would be the active liquidity that leaves if the liquidity were to leave at all.

I’m saying that we need more specific parameters that we’re testing. Like to just say, “we’re testing by turning it on” is not a sufficient response. What are we testing for? How much money we make? How much liquidity is leaving? The rate at which liquidity is leaving? The impact on competitiveness on DEX aggregators? Is there anything else that I’m missing. But we need to be actively monitoring these things as they’re happening. We need the dune analytics dashboards tracking AS the fee switch is happening. The more we’re prepared and the more we know what we’re testing for, the more we can track and assess in real time. I’m worried that this testing will take place with none of the infrastructure ready to assess performance in real time.

Also will the fee switch automatically turn off after the testing period, or will it continue? I think there should be a definite stopping time, so we can adequately address all of these concerns.

1 Like