Reduce vortex to 10% on DAI pool - Proposal for discussion

This proposal is for discussion at this time. If sentiment is positive, I will refine and formally propose.

TLDR

This proposal seeks to reduce the vortex on DAI in Bancor3 from 90% to 10% in order to maintain DAI held in Bancor3 when the deficit is zero for DAI.

Abstract

As the $BNT price (in USD) increases, the deficit in the DAI pool will reduce until there is a surplus. At which point, I would expect a number of LP’s to withdraw as they can capture higher yields elsewhere.

Reducing the vortex from 90% to 10% should result in an (~9x) increase in the fees going to LP’s and so encourage AUM to stay in the pool. Higher AUM in the pool is prefered as it results in less price impact for a given trade value. Loosing all the DAI in Bancor3 can be expected to reduce overall volume in the protocol and should be avoided.

Motivation

The Bancor3 master vault contains $4.26 M DAI and has a deficit of $0.63 M USD. This is a 12.9% deficit. If the BNT price increases by 13% to ~$0.53 then the deficit will be zero and DAI LP’s can withdraw with minimal penalty. Such a price increase could be driven by $BNT out performance, or by merely tracking a more general increase in crypto prices ($BNT will tend to follow the average of the B3 omipool: $ETH, $LINK, $wBTC, $ENJ, $ICHI…)

image

When the deficit is zero, DAI LP’s have a choice:

  • stay in Bancor3 earning 0.2% and risk becoming locked in again of $BNT drops in USD terms.
  • move to a different protocol with higher yields and different risks:

Note, that as AUM drops there will be an increase in % fees for LP’s. Even so, there could be a significant drop in AUM before fees increase to a level that persuades LP’s to stay in the pool. As an example, dropping AUM by 90% would increase the current LP income from 0.3% to 3.0% and so be comparable with the Yearn vault.

However reduced AUM is likely to result in reduced volume. For a given trade size, the impact on the pool exchange rate increases as the pool AUM drops.

For a $8 M constant ratio (e.g. Uni v2) pool, a $20,000 trade will loose 0.5% to price impact / slippage. For a $800,000 pool, a $2,000 trade would have the same price impact on the trade. As AUM drops, all trade via that pool become more expensive.

Basically, smaller pools are less competitive and capture less volume.


By increasing the income for DAI LP’s before the pool runs into surplus, the intention is to reduce the drop in AUM. A LP getting 3% income is more likely to let the DAI ride than one earning 0.3%.

Impact

The obvious impact of this change is that less fee income would goto the vortex / Bancor protocol / BNT holders.

Over the last 7 days the pool has earn $2,040, so a 80% change in vortex would be ~ $233 less vBNT getting burn each day.

Complications

As DAI is one of the pools in the Almanak optimisation trail, such a change may complicate the analysis. However, as the Almanak experiment is targeting total pool fees, the % sent to the vortex should not impact that trial.

Note: DAI is selected rather than USDT or USDC as the latter 2 have much larger deficits. As BNT approaches $0.87, we may need a similar change for USDT and USDC.

This proposal assumes that pool vortex rates can be set for each pool. If only a single rate can be used for all pools, then this proposal is impossible to implement.

KPI’s

I would propose a number of KPI’s for this proposal. These are that 30 days after the DAI pool deficit is zero:

  • DAI balance maintained > $3,000,000
  • DAI pool income > $30,000 per day
  • DAI LP income > 1%

A stretch KPI would be an increase in $bnDAI issued (i.e. net deposits into the Bancor3), currently 4,920,460 bnDAI are circulating.

For

Reduce the vortex fee on DAI pool from 90% to 10% until further notice.

Against

Leave the vortex fee unchanged.


Links

Bancor v3 Analytics
DAI yield - Bancor3
Bancor3 DAI yield - DefiLlama
DAI yield - DefiLlama
bnDAI - etherscan

2 Likes

Thanks for posting this @OverAnalyser

I just want to point out a couple things:

At the moment that trial has concluded as the DAO only approved 3 months.

Also, I believe that in V3 there is no “vortex per pool” - though of course it is possible but would require use of dev time as opposed to a parameter change.

What would you think of making a global but less drastic change.

2 Likes

Hi @foxsteven

That is a pity, I have a few ideas to discuss, and being able to change vortex on individual pools would be a useful parameter change… Being able to boost individual token LP yields could be very powerful.

I don’t think global changes are ideal at this time. I’m thinking of a few different strategies based on pool attributes (separate post to come). By leaving the vortex for most tokens / volume at 90% we keep burning vBNT and support the BNT price. At the same time, we could start looking at strategies to:

  • Maintain AUM as BNT price rises (which I see as a challenge for DAI first),
  • Build AUM in TKN pools.
  • Rebuild confidence in Bancor3.

If only global (all THK / BNT) vortex changes are allowed, then we can not do lower cost / impact adjustments on individual pools. Obviously we can look at Dev time to change to allow TKN specific vortex % but there are many competing demands on dev time.

1 Like

However reduced AUM is likely to result in reduced volume. For a given trade size, the impact on the pool exchange rate increases as the pool AUM drops.

I suspect that won’t be the case, however. Very little, if any, of the Bancor volume nowadays is driven by the bancor pair having competitive slippage. Volume tends to come during market spikes and crashes, and is almost exclusively driven by arbitrage opportunities.

So I’m actually confident that the APR will jump on its own in the case of mass exodus from the pool.

And while I completely agree with the end goal of keeping more DAI in the pools, and I do believe that the proposed approach is worth considering (in fact you can call me a supporter), I think that this particular argument is not that strong.

1 Like

I’m not sure I follow you.

For many Tokens, I would agree that the majority of our volume to be driven by arbitrage against a larger market. Next I would expect volume from trade aggregators (1inch etc) that identify a deviation in our spot price to other onchain liquidity this is in the correct direction to our trade.

However, for Arbitrage trades, I think that volume (and so income to pool) is very dependent on the pool depth.


Lets try a simple :roll_eyes: example (neglecting price impact on the smaller pools…).

Three pools with XXX:DAI pair, XXX is worth $10 USD.
Balancer 50:50. $100M AUM
Uni v2: $10M
Sushiswap: $1M (assuming 0.3% Fee to LPs…)

All three behave as constant ratio pools and we’ll assume 0.3% fee on each.

Trader Bob buys pays $500,000 into Balancer and withdraws 50,000 XXX. This moves the price by 2%, XXX on Balancer is now worth $10.20. ($50,500,000 / 4,950,000)

Arb bot Uni buys 5,000 XXX on Uni for $50,000, and sells on Balancer for $51,000 and makes $1,000 (less 0.6% LP fees ~ $306 USD and $20 gas). Uni price for XXX is now $10.2. Uni LP’s earn 0.3% of trade ~ $150 USD

Arb bot Sushi buys 500 XXX on sushi for $5,000 and sells on Balancer for $5,100 making $100 (less 0.6% LP fees ~ $31 USD and $20 gas). Sushi price for XXX is now $10.2 Sushi LP’s earn 0.3% of trade size ~ $15 USD.

So, in this case, both Uni and Sushi LP’s earn a fee, and it’s proportionate to the pool AUM. If we repeat this every day with buy of $500,000 on Balancer then selling $500,000 the next day, both UNI and Sushi will earn the same APR (~0.6%).

However, what happens if the Balancer trade size is reduced to $100,000 each day? Then the Sushi Arb bot would lose money after gas and LP fees, so no Arb trade happens on Sushi. Sushi APY from Arb = 0.

Basically, larger pool depth makes arbs profitable at a smaller deviation. Smaller deviations happen more often than large ones, so the % fee income from arbitrage is larger as volume grows faster than AUM.

Note, I would admit that the extra complexity of most of our trades being double hop (ETH > BNT > DAI etc) complicates things. However, I’m confident that more AUM is almost always better for the current Token balances.

In addition, things change when a pool becomes dominant for a particular token.

2 Likes

the idea to try and encourage LPs to stay once the pool is out of deficit is great.
for this, i suggest reducing the vortex from 90% to 80% (or 70% if this makes more sense).

reducing the vortex percentage shifts more fees to LPs and less to vBNT burning (which was previously pointed out as one of the main devices to reduce overall deficit for all pools).

either way, i would suggest testing with the available tools and not force development at this stage.

1 Like

I agree 100%. It’s not worth Dev time for the moment.

Once Carbon is live and settled, then we can look at what would be required and whether we potentiual output is worth it.

I don’t see a need to change global parameters away from generating vortex buy pressure. If Carbon generates strong BNT burn pressure, then we can look at B3 and whether we want to maintain AUM or maximize vortex.

When BNT approache $0.80 and the USDT and USDC deficits are being reduced we can look back at DAI and see if we lost AUM and volume after DAI went into surplus.


Maybe keeping an eye on analytico.eth will be a good idea as they hold over 50% of all the stable coins staked on B3:

3 Likes

OK, I’ve stuck in this rabbit hole…

Bancor 3 master vault
USDC trades in vault
DAI trades in vault
USDT trades in vault

Export trade data 01 Jan 21 to 22 Feb 23, tidy up the date format and sumif the volume each day.

Bancor 3 analytics currently show 3.1 M DAI, 1.3 M USDC and 1.8 M USDT trading liquidity.

Comparing the average volume to liquidity we see roughly 1/50th of the liquidity is volume each day (or ~2% utalisation).

DAI USDC USDT
Average volume 49,565 26,310 32,658
Trading liquidity 3,141,427 1,214,951 1,796,380
Ratio 63 46 55
Utalisation 1.6% 2.2% 1.8%

Data sheet

One counter intuitive observation is that the smallest pool has a higher % utilization each day. This could indicate that we have too much DAI liquidity, or that USDC is more popular with our users / arb bots.

2 Likes

The hypothesis of Carbon appears to be that it will drive exponentially more value towards fixing the deficit (with much higher projected trading and direct BNT burning) and that its development was specifically required because the current solution (which includes the 90% vortex fee) simply hasn’t had a significant effect in fixing the deficit percentage. So why do you suggest that once a pool is out of deficit, LPs continue to be punished with prohibitive vortex fees?

The vBNT burning hasn’t had anything approaching the desired effect in fixing the deficit, otherwise we wouldn’t have all hands building Carbon right now. To maintain it at such predatory levels even after deficit is fixed just appears callous to LPs.

If anything, on the assumption (which all Bancor contributors are espousing) that Carbon proves to reduce deficit much quicker than existing mechanics, surely LPs should have the current vortex penalties removed across the board as soon as Carbon showcases a demonstrable effect, so they at least get 9x the current crumbs the protocol is giving them for their service (or infinite x in the case of those who elected to stay in v2.1 and have 100% of their fees taken). At the very latest, drop it all the way after deficit has been fixed—but if I’m reading what you wrote correctly, you’re saying “once deficit is cleared, let’s give them 20% of the fees instead of 10%, or 30% if we’re feeling super-generous”, which would be a massive kick in the teeth for those who’ve maintained liquidity in Bancor, especially since they’ll likely have been sacrificing fees to the protocol for well over a year by the time Carbon is in the wild and generating discernible effects.

OK, I’m learning in public here as I’m still collecting data and gaining insights.

A different question:

Do we want to gain more deposits to B3?

Earlier I thought it was a no brainer: more deposits, more liquidity, more volume, more fees, more vBNT burn.

However, more liquidity makes it harder for BNT to outperform the market.

B3 has $31 M of BNT liquidity (so $62M total).
The 12 largest pools in B 2.1 have $20 M liquidity.

So we have ~ $80,000,000 of constant product liquidity for BNT, with 40,000,000 being BNT.

If we remove 1,000,000 BNT from that liquidity, we push the price up ~1.3% relative to the average of the other tokens. Pushin the price up[ relative to the basket of other tokens is good, as it attracts attention to BNT. So, you could argue, that lessliquidity for BNT would actually do us good.

However, as trade fees are the ONLY income stream at the moment, more liquidity is probably better. Once Carbon is live, then we may be able to reduce liquidity and maximise buying pressure.


Some more interesting data:

Looking at B3, and the 12 largest pools in B2.1, BNT trades against a basket of

Component % of Bancor basket
ETH 25%
wBTC 15%
LINK 20%
Stable 18%
Others 22%

individual pools and split are:

Pair B 2.1 liquidity ($) B3 liquidity (TKN:BNT in $) Total liquidity % in B3
ETH $5,505,902 $14,700,000 $20,205,902 73%
wBTC $6,273,080 $5,880,000 $12,153,080 48%
LINK $1,817,847 $15,000,000 $16,817,847 89%
DAI $1,292,995 $6,300,000 $7,592,995 83%
FARM $871,443 $0 $871,443 0%
VITA $818,559 $0 $818,559 0%
USDC $739,397 $2,500,000 $3,239,397 77%
RPL $342,378 $138,000 $480,378 29%
USDT $641,125 $3,625,000 $4,266,125 85%
OCEAN $491,446 $146,000 $637,446 23%
MKR $466,203 $62,000 $528,203 12%
MATIC $428,093 $490,000 $918,093 53%
Other (not calculated) $13,541,000 $13,541,000
Total $19,688,468 $62,382,000 $82,070,468

Obviously for B3 we have the analysis of token surplus and deficit. However, for v2.1, each LP has a different BNT : TKN ratio at which they become whole. So we can estimate when pools should come into surplus (much easier for stable coins), and predict that LP’s may exit. Which is what prompted my first post.

A current unknown for me is how efficient arb bots and trade aggregators are at using v2.1 and B3 pools at the same time. I would hope that containing trades within B3 would be more efficient (as that was part of the premise for B3…).

Data is here


Ok, a summary (mainly for my benefit):

  • I don’t see a need to change global parameters (e.g. vortex %) at this time.

  • I don’t see a pressing need to spend dev time to make some global parameters become pool / TKN specific.

  • I can hypothesise that DAI AUM in B3 will drop as the deficit vanishes, but there is lots of v2.1 DAI liquidity with obscure deficit. (and B3 USDC and USDT will be in deficit for a while after DAI goes into surplus)

  • There is more v2.1 liquidity that I suspected.

  • Liquidity is fiendishly complex.

  • When Carbon starts generating income, then it may be worth revisiting B3 (and v2.1) liquidity with a view to making adjustments.

  • I really need to get my head into Carbon.

2 Likes

Thank you SO much for this post. If I had seen this thread just 1 day sooner I would absolutely have gone down this rabbit hole myself. So much of the last 2 years for me has been the frustration of learning that higher liquidity just isn’t the golden goose that people perceive it to be.

When BNT approache $0.80 and the USDT and USDC deficits are being reduced we can look back at DAI and see if we lost AUM and volume after DAI went into surplus.

This is another great observation.

Do we want to gain more deposits to B3?

Welcome to the last 2 years of my life. I have spent, literally, hundreds of hours over the last 2 years trying to figure out the answer to this question in any kind of objective way and I have never been able to give a better answer than “it depends.”

However, for v2.1, each LP has a different BNT : TKN ratio at which they become whole.

Another excellent point.

Ok, a summary (mainly for my benefit):

When I started reading this thread I was really worried it was going to turn into 5 hours of research, spreadsheets, and conversation, but imagine my surprise when you have come to - basically - the exact same conclusions that I have.

My whole post is kind of worthless tbh so let me just say:

  1. You raised a very relevant question
  2. You have gathered and interpreted the relevant data
  3. I agree with your conclusions

So yea, posting here so that I will remember to revisit this as the various stable coin vault balances/deficits fluctuate.

3 Likes

the point i was trying to make is that since the vortex is a global parameter, if changed, it affects all pools in the same way.

for this, if 1 pool is out of deficit, it doesnt mean that the rest are out as well.

now, if we have 1 value for all, we can discuss changing the value, but i would assume the responsible approach would be to reduce it gradually over time, so the overall effect can be monitored and measured to some degree.

i am not sure if the vortex has a positive impact on the deficit, but this seems to be the overall approach. given that, i would support keeping it at a higher percentage until all v3 pools are out of this pickle.

1 Like

I think that is the best answer, because it does depend on a number of factors:

ETH and blue chips *wBTC…) we want deep liquidity (and I would say low fees).
Stable coins I would like lower liquidity in a bull market and higher in a bear.
Likewise, low caps pumping - high liquidity, and lower when they are dumping.

I think there are some scenarios, where zero ILP is still attractive to some depositors. btw v2.1 stable coin volume is on my to do list for tomorrow…

Thanks

OA

3 Likes

Ok, I couldn’t resist. :roll_eyes:

Bancor v2.1 stable coin volumes 01 Jan 23 to 20 Feb 23.

I’ve removed three large withdraws from USDT ($23k, $56K and $125 K of USDT) as they were obvious outliers. I’ve had a quick look at other large $ value trasactions and they all look like swaps (but I could have missed some removals).

1st Jan 2023 has lots of trade for all three coins.

Bancor v2.1 stable coins 01 Jan 23 to 20 Feb 23 DAI USDC USDT
Average volume $12,739 $10,675 $9,575
Trading liquidity of stable coin $646,000 $369,700 $320,563
Ratio 51 35 33
Utilisation 2.0% 2.9% 3.0%
Trades 431 561 442
Daily trades 8.5 11.0 8.7
Average trade $1,507 $970 $1,105
Average trade / liquidity 0.23% 0.26% 0.34%

And the same summary for B3

Bancor B3. stable coins 01 Jan 23 to 20 Feb 23. DAI USDC USDT
Average volume $49,565 $26,310 $32,658
Trading liquidity of stable coin $3,141,427 $1,214,951 $1,796,380
Ratio 63 46 55
Utilisation 1.6% 2.2% 1.8%
Trades 490 471 486
Daily trades 9.6 9.2 9.5
Average trade $5,159 $2,849 $3,427
Average trade / liquidity 0.16% 0.23% 0.19%

I’m not sure there are any great insights from this comparison.

  • The smaller pools on v2.1 have higher utilisation and larger trade per AUM (lower fee vs depth???)
  • Comparable trade numbers between coins and pools ?
  • Note DAI in B3 has a 1.4% fee while USDT and USDC have 1%.

Data is here

3 Likes

Can’t believe nobody saw that miscalculation.
Is there any site that closely tracks BNT-TKN ratios at which v3 depositors could withdraw with no penalty?

https://analytics.bancor.network/ has all the info you need

Yes, I slipped up there.

% price increase required is larger than the deficit as the pool will sell the appreciating asset ($BNT) as the price rises. I think that the required increase is between 1x and 2x the % deficit. [I’ll try and work out a better approximation later]

note, This assumes that the full liquidity is being traded. if the liquidity is less than 100% then there needs to be a larger % price change to reduce the deficit.

1 Like

OK, what a rabbit hole!

I think we have 5 head winds to work against:

  • Price increase to increase the “pool” AUM. My initial assumption 6 weeks ago
  • x2 due to the selling of half the value of BNT AUM increase to buy DAI (which actually wipes out the deficit)
  • x (1/100% - deficit %) as the trading liquidity is actually the master vault liquidity, and not the staked liquidity (but the deficit % is based on the master vault)
  • x (1/trading liquidity parameter) as the pool may be less than all the available liquidity [DAI was 70%)
  • x (unknown) due to IL.

Some more approximations here


As a sense check:

  • In the OP on 17th Feb 2023, I incorrectly assumed a 13% increase in BNT would wipe out the 13% Deficit. $0.46 → $0.53
  • At $0.59, we currently have a 6% deficit.
  • So a 28% increase in BNT price has reduced the DAI deficit by 7%

This is a factor of 4 between the BNT price change and the reduction in deficit! (and not the 1:1 ratio I had assumed :roll_eyes:)


Looking at the other stable coin deficits between the original post and today:

BNT price DAI USDC USDT
17 Feb 23 0.46 12.80% 45.55% 43.19%
21 Mar 23 0.59 5.98% 39.63% 36.90%
Change 28% 6.8% 5.9% 6.3%
Vault depth 87.20% 54.45% 56.81%
Depth parameter 70.00% 100.00% 100.00%
Predicted change 8.6% 7.7% 8.0%

I’m still overestimating the rate of deficit reduction by 20 to 30%!


A few variables I’ve not accounted for:

  • IL
  • increase in staked value due to trading fees
  • net deposits / withdraws from of the stable coin.

Finally

If anyone has a better model / explanation of the behaviour between BNT price and % deficit I would love to see it.

2 Likes

Thank you for putting in all this work, but if a tool to calculate “How many % does BNT need to increase vs TKN to eliminate TKN deficit within Bancor’s exchange model” is not something that people actually on the Bancor payroll have been able to produce in 9 months, then for the good of your sanity please don’t try to do that work for them. You’ll have to change your name to Overoveranalyser if you do. :sweat_smile:

2 Likes

Thank you for sharing your proposal to reduce the vortex fee on the DAI pool in Bancor3. It’s Actually a good one
Additionally, it’s worth considering:

  1. Assessing the potential impact on the Almanak optimization trail and ensuring compatibility.
  2. Monitoring the net deposits of bnDAI to evaluate the success of the proposal.