Proposal to introduce a small pool standardized fee (0.3%) based on market cap ranking

Proposal: Introduce a whitelisted Small Pool standardized fee (0.3%) based on market cap ranking

This proposal is expected to appear on Snapshot for voting on 14th June 2021 at 11pm AEST (12pm UTC). Make sure to stake your vBNT for voting before this date and time to participate in the DAO decision.

TL;DR

  • Many small pools (outside the top 50) have low swap fees (0.2%, 0.1%)
  • Low swap fees are not attractive to LPs, leading to more slippage in already small pools
  • This proposal seeks support to raise swap fees on whitelisted Small Pools and new pools to a minimum of 0.3%
  • A higher minimum swap fee should attract more LPs and reduce slippage
  • Any pool can subsequently submit a proposal to change its swap fee.

Introduction

Bancor benefits from trade volume and liquidity in its pools. However, there is a paradox in setting swap fees. Low fees attract more swap volume but are unattractive to LPs and taken to the logical conclusion this leads to small pools with greater slippage and higher costs for traders. On the other hand high fees attract LPs but dissuade traders, leading to low volume; taken to the extreme this would lead to dysfunctional pools with no trading volume. That is: LPs want to maximize (swap fees x volume), whereas traders want to minimize (swap fee + slippage). Finding an optimum is a challenge but is necessary to allow Bancor to transition away from LM rewards as the primary way to attract liquidity.

Small Pools (here defined as pools outside the top 50; these have approx <$250,000 liquidity at the time of writing) are an interesting case for considering a raise in the minimum swap fee. Small pools are mostly not whitelisted and so do not benefit from IL insurance, suffer high slippage, have low liquidity and none have LM rewards. There is an opportunity to set swap fees at a higher level than the default 0.1% to incentivize LPs to provide liquidity without the risk of dissuading traders.

Bancor’s history was born in community currencies, and one of the major long term goals is to support the growth of the ‘long tail’; namely small token projects that enrich the ecosystem. However, these projects often suffer from poor liquidity. Bancor’s unique network token allows a single pool to be established, maximizing liquidity while providing two-legged exchange pathways to any other listed token.

This proposal suggests setting swap fees on whitelisted Small Pools and new pools at a minimum of 0.3% rather than the default 0.1%. Pools that already have swap fees higher than this will be unchanged. The ‘create pool’ minimum swap fee will be set by default to 0.3%. Any pool can subsequently submit a proposal to vote to change its pool fee.

Note: This proposal deliberately excludes medium and large pools (the tope 50 pools). These pools need a different treatment as they often have plenty of liquidity on other exchanges and trade-routing software is agnostic to pathways and will seek the cheapest route.

Discussion

The trader perspective: At the simplest level, traders seek trade pathways that minimize swap fees + slippage. For small pools slippage constitutes a major cost. For example, a $1000 trade on a $250,000 pool will suffer around 0.8% slippage. Against this cost, traders are less sensitive to higher swap fees. However, all Bancor trades (except to BNT) require a two-leg transaction. Setting minimum swap fees at 0.3% will mean that the majority of trades will involve a 0.6% or less swap fee. For these smaller pools, this is a relatively small increase in total trade cost.

The token perspective: Small tokens wish to be launched on DEXs that maximize their liquidity. The Bancor network token allows small token to concentrate their liquidity in a single pool, whereas on other DEXs their liquidity needs to be spread over multiple pools, increasing slippage and the often the number of legs in a trade path. Additionally, Bancor provides a cozy environment where tokens can acquire IL whitelisting once price discovery is more advanced, and can even seek to co-fund whitelisting through an innovative token-funded approach currently being piloted. Thus, Bancor provides an especially attractive DEX for small tokens. Many small tokens are only listed on Bancor, while for others that are listed elsewhere, the Bancor pools are in many cases still the largest liquidity pools. Moreover, listing on Bancor provides the potential for new token projects to upgrade to IL whitelisting and so remains a very attractive DEX on which to list.

The LP perspective: Small pools lack the incentives of larger pools for liquidity provision. They often have small volume and no IL, none have LM rewards, and worse, many have uncompetitive swap fees of 0.2% or even 0.1%. Bancor has little control over the first three items, but we can and should be more active in exploring changes to swap fees that incentivize LP provision and that are unlikely to materially affect trade volume. A 0.3% minimum is proposed based on feedback as a modest and conservative change.

Conclusion

Raising the minimum swap fee for whitelisted small pools to 0.3% is a modest increase that is unlikely to dissuade traders who already suffer much larger slippage. On the other hand it will provide an incentive for LPs and should lead to greater liquidity and reduced slippage, benefitting both LPs and traders.

Voting Instructions

  • Vote FOR to change the pool fee on whitelisted Small and new pools to a minimum of 0.3%
  • Vote AGAINST to keep pool fees unchanged on Small and new pools
2 Likes

I think we should limit the discussion to whitelisted pools only. The DAO can still exercise some power over the v1 pools, but why would we? The DAO really has no skin in the game on pools outside of the whitelist, and I see no problem in letting the small projects set whatever fee they want since they are providing 100% of their own BNT.

So focussing on our current 67 whitelisted pools, and applying the following logic:

if mcap ranking < 50 and fee < 0.2%:
new fee = 0.2%
elif mcap ranking > 50 and fee < 0.5%:
new fee = 0.5%
else:
pass

we get the following table, with updates to 40 different pools (59.7% of all whitelisted pools). This could be a pretty dramatic change to execute all at once. I’m not necessarily against it, but I would be very cautious about committing to something as broad as this, without a plan to monitor its effects. @glenn has previously raised the issue that the ETH pool fee change was passed without much thought as to how we might observe its effects. While I agree in principle, I think it is a good idea to make small changes on specific pools, and simply watch what happens - fee changes are easily undone. I also think the fee change to ICHI coinciding with its co-investment increase was smart, and I hope to see more of this kind of experimentation from the DAO over time.

With all of that said, the changes being proposed here are really moving the bar quite some way in many cases. I might support this proposal if there was a roll-out schedule that introduced the fee changes gradually, with an explicit plan on how to monitor the effects on the protocol health, with well-defined triggers for reversing the fee change and halting the process if required.

These seem like small numbers, but they really aren’t. In a battle to win trade volumes, I’m not certain that increasing swap fees is the highest priority. However, the improved APYs could attract more liquidity providers, while also helping to alleviate the IL liability for the protocol.

As we learned from previous DAO drama with pool fee debates, there is no single satisfactory answer. For or against, this proposal should be very carefully considered.

image
image
image
image

2 Likes

The fee options for pools in Uni v3 are 0.05%, 0.3% and 1%. Industry standard is generally .3%.

As you all know, swapping on Bancor from TKN to TKN usually takes 2 swaps. So swapping from ETH to LINK currently costs .35%. With the proposed changes in mbr’s chart above, the cost will be .4%.

The ETH and LINK pools are currently Bancor’s 2 largest pools but trying out different size trades on 1inch, it’s pretty hard for Bancor to win these swaps right now.

A $10k swap from ETH to LINK goes through Bancor for 100% of the swap.
A $100k swap from ETH to LINK drops Bancor to 40%-80% of the swap
A $1M swap from ETH to LINK drops Bancor to 20% of the swap(!!!)
A $10M swap from ETH to LINK keeps Bancor at 20% of the swap
A $100M swap from ETH to LINK increases Bancor’s share to 40% of the swap
A $1B swap from ETH to LINK stays at 40% of the swap
A $3B swap from ETH to LINK increases and maxes out the Bancor share to 50% of the swap

This suggests that for ETH to LINK swaps, Bancor has industry leading liquidity to support large trades. However, for trades greater than $100k and less than $100 Million, the fee impacts the total cost of the swap on Bancor more than price impact of pools on other exchanges.

I believe that Bancor would be in a better position if we match the costs of our competitors instead of charging a premium that is probably costing Bancor quite a bit of volume.

My proposal is that we approach fee changes from the trader point of view and not the pool’s. I propose that we set our fee structure so that our larger token pools have their fees set to .15% and our smaller token pools to set their fee to .85%.

This would result in swaps like ETH <-> LINK to cost a total of .3%.

A swap from a large tkn to a smaller tkn like ETH <-> WOO will have a total cost of 1%.

Finally, small tkn to small tkn like WOO <-> MTA will have a total cost of 1.7%.

5 Likes

There’s also an added benefit here where trade professionals may be incentivized to trade into BNT as they wait for a new trade opportunity pops up.

For example, if a trader rode a LINK bull wave but believes the trade has gotten overheated, traders generally trade back into ETH or a stablecoin at a cost of .3%. When a new trade opportunity shows up, like moving over to UNI, they’ll pay another .3% for a total of .6%.

But if we switch our pools to .15%, the trader may choose to pay .15% to move to BNT instead as they wait for their next trade opportunity. Then they can swap from BNT to UNI for .15% for a total of .3% in trade fees.

This could really increase the prominence of BNT in the crypto world!

3 Likes

This is a good approach. If we make our service attractive to traders first, the volume will attract LPs. Of course, making it attractive to LPs tends to drive down slippage which also makes it more attractive to traders. However, it’s difficult to do anything without cash flow, so we should prioritize traders by keeping swap fees as low as we can without driving off liquidity.

Doing this should allow us to remain competitive with relative ease.

5 Likes

Thank you TheONeJM. This is ‘trader view’ analysis that I think we really need, as Bancor is a cozy joint for LPs but we are not currently getting the volume to make us competitive with the bigger (but inferior to LPs) DEXs. In fact I am loathe to make any blunt adjustments on the swap fees for the larger pools, and especially ETH, as I think we can easily get this wrong with dire consequences for volume. In fact as you note, we already may have this wrong for the large trades. The two-legged trade issue is one that has to be central to this discussion. Your comments on parking funds midway as stable coins or even better as BNT is one I had not heard of before.

mbr comments that the shift being proposed here is actually quite large and might be better made as a smaller, incremental change is also well argued. I think it is clear that smaller pools can tolerate larger swap fees but nonetheless a conservative approach to change is warranted. I think a change to 0.3% min for whitelisted pools outside the top 50 is a proposal that meets most of the concerns raised and will allow us to test the water for the effect.

For the larger pools, I think for the sake of this proposal they should be considered out of scope. For larger pools a separate proposal is merited as the issues raised show that swap fees there are much more complex. The risk by leaving it in this proposal is we will be asking for a yes/no vote on two independent issues and while we may have majority support for actions on small pools (as it is less contentious), we may not get majority support for actions on large pools and this will lead to this proposal failing.

4 Likes

Yup, completely understand, and sorry to bring the focus back to the larger pools.

I guess part of my hesitation is around increasing more fees without first addressing the issue of the larger pools. In the proposal that I mentioned above, if we can drop the fee for large pools to .15%, I’m suggesting that the fees for these smaller pools be increased to .85%.

My preference would be that we first drop fees for larger pools (after validating that it would increase Bancor volume) and then increase fees for the smaller pools.

That being said, I don’t think that there will be a huge impact if Bancor increases fees for the smaller pools now if our competitors have the fees for the same pairs at 1%.

2 Likes

Just to clarify, my understanding is that this proposal is looking to change the fees on pools that are:

  1. Whitelisted
  2. Less than or equal to $250K in depth

The new fee that will be set is .3% for existing pools.

Some follow up questions:

  1. Any new pools that are whitelisted that fall under the above category will also be set to .3% going forward? Should there be a grace period before we consider making this change?

For example, from what I have seen when we create new pools that are whitelisted by the DAO we typically set the fee to .2%. Will this proposal still have those pools be created with a .2% fee and potentially change it to .3% if after some grace period the pool depth doesn’t grow above 250K?

  1. Mark posted a chart of what appears to be whitelisted pools earlier in this thread. Can we get an exact list of pools that will be affected by this change in a similar fashion (It would be good to have the current fees percentage for them as well)?

  2. What happens when one of these pools move above the 250K pool depth mark in the future? Would we look at modifying the pool fee at that point in time? Should there be a grace period so that if the pool has maintain a depth of above 250K for x days then it would fall under this category?

1 Like

It looks like my understanding is incorrect about which pools are being affected by this change and the 250K pool depth is not the cutoff mark. Rather this appears to be based on the market capitalization ranking of the token.

if mcap ranking > 50 and fee < 0.3%:
new fee = 0.3%

To my answer some of my own questions:

  1. I don’t think a grace period is required. The market capitalization ranking should be less volatile than the pool depth and if this change goes through then making this determination during pool creation at current market capitalization ranking for a token should be OK.

  2. This question is still relevant and I think having a list that filters only the affected pools by this proposal is relevant.

  3. This question is still relevant (disregard the 250K pool depth) and I think this would be based on the market capitalization ranking. I would still like to know what happens to the fees when a token that had a market cap ranking > 50 moves up to rank 50 or less. Some clarity around what happens in the opposite direction would also be helpful.

Some new questions based on my new understanding. Why do we think that market cap ranking is a good determinator for setting pool fees? There are typically tokens that aren’t related to Ethereum (e.g. other L1 blockchains or non ERC20 tokens) that affects these rankings. A better indicator would be to actually use the market cap rather than the market cap ranking.

We might take some inspirations from how stocks are classified:

The current approximate definitions are as follows:

  • Mega-cap: Market cap of $200 billion and greater
  • Big-cap: $10 billion and greater
  • Mid-cap: $2 billion to $10 billion
  • Small-cap: $300 million to $2 billion
  • Micro-cap: $50 million to $300 million
  • Nano-cap: Under $50 million

Source: investopedia

for determining the fees on tokens although we probably want to modify the ranges to be in line with cryptocurrencies tokens.

2 Likes

Hi glenn
Thanks for your questions and input.

  1. Agreed
  2. mbr: can you update the table?
  3. There are several parts to this question.
    a) why rank? This was chosen to make the list less dependent on market volatility as when the market rises and falls this will not lead to much of a change.
    b) why 50? This is arbitrary, but at the time of writing was based (arbitrarily) on a 250k pool, and some rough calculations on slippage for a smallish (arbitrary) trade. The calculations were added to the proposal for transparency. The investopedia rankings are also arbitrary.
    c) what do we do when a pool falls in and out of the top 50? If they grow, a new proposal will need to be made to change. This is one of the reasons why after some consideration and feedback 0.3% as suggested. A swap fee on a medium pool of 0.3% will not be too problematic until they move up the rankings a lot. In fact there are quite a few pools in the top 50 with higher swap fees and there is a proposal for raising the 0.1% fee for GNO under discussion. By changing the new pool fee to 0.3% by default this will also mean low fee small pools become rarer. If a bigger pool falls into the sub-50, it will be unchanged. This proposal will only make the changes at one time, one off.
    d) In the future, automating swap fees is probably the way to go, but I don’t think the team has the capacity or the information necessary to do this. But for now I am hoping that a limited set of changes and a well argued case is sufficient to support making what I hope is a modest but beneficial change to the protocol. If it turns out to be problematic, like anything, a new proposal can be made to reverse or alter these setttings.
2 Likes

Does the proposal below supersede this one? Can I move this discussion to the deprecated section?

No, they are independent. This focuses on raising minimum fees on sub-50 pools, permanently, while the other on a 6 day experiment on some medium pools.

1 Like

Thanks, for the reply. The reason why I don’t like Market Cap Rank is because we would consider some tokens (COMP, SUSHI, SNX, BAT, GRT, BNT, CRV, UMA, and more) as long tail assets. I don’t think any of the tokens that I listed fall under this category as they all have good liquidity and most of them are listed on very large CEXes (Binance, Kraken, Coinbase, Gemini, Huobi, etc…) in addition to DEXes. In my opinion, these are definitely not “small token projects”. This is why I am still convinced that a better indicator for long tail assets is the actual market cap (maybe less than 100M or 50M market cap?) of a token as opposed to the rank.

The current fees on some of the primordial pools are the following:

Token Fee
ETH .15%
WBTC .20%
USDC .20%
USDT .20%
DAI .20%

with the assumption that these pools are used as the first hop to others, this change would mean overall combine fee in the range of .45% to .50% depending on which pool you are coming from. Given that our competitors (sushi, balancer, Uniswap) are around the .3% ball park then I think we are going to be pricing ourselves out. I wouldn’t compare us to Uniswap v3 which has some of the more volatile tokens at 1% since with concentrated liquidity your position is no longer full range across the entire bonding curve and IL is a lot greater when you fall outside your bounds (@TheOneJM for his awareness who mentioned this earlier) hence why fees might be higher for volatile pools.

With that said, I also think that we should wait on this proposal before it goes to snapshot for a few reasons:

  1. It would be good for us to have a list of pools that will be affected by this change so that community members are aware of which pools are going to be affected and by how much.
  2. The community call today hinted that the ETH pool fee raised might have affected some of our volume. If that’s the case, once we have full data to make an informed analysis then we would most likely drop the fees on the pool and we should use that information to guide us in setting fees for the secondary pools (taking into account that the ETH pool might be the first hop to many).
  3. It would be good for us to hear from other community members. Paging some individuals that might have some opinions on this topic (@bias @tfns @tenzent @Jefe-fintechv1 @DarkKnight @sylentz)
2 Likes

Hi
Am happy to pause on sending this to vote until we have a more fulsome discussion. An even more modest alternative could be to change this proposal to 0.2%. This would double the fee on a few pools (0.1 to 0.2%) but leave most untouched.

3 Likes

mbr Can you deprecate this proposal. It has been replaced by a simpler proposal after feedback

Proposal. Experiment to assess effect of 0.1% swap fee on USDT stable coin pool