BIP9: Proposing the Bancor Vortex

Chat between mbr and yXaH4uK

14 January 2021

02:42 XaH4uK: Hi Mark! Im about BIP10

02:43 Mark Richardson: Hey! Nice to meet you

02:44 XaH4uK: I agree with you about case 1 - no matter what size of pool, I say only 1 moment - if we check the price of pool, do not forget calculate price vBNT. About case 2 - another situation

02:46 Mark Richardson: Before we continue, I would like to confirm that you are the same person who commented on Discourse. To do this, I would like to ask that you edit your comment by adding a single line to the bottom of your post: “This is to confirm my Telegram name”. Is that okay?

02:46 XaH4uK: Ok

02:49 Mark Richardson: Perfect!

02:49 XaH4uK: Some scamers spend your time?

02:49 Mark Richardson: Telegram is full of them. Let’s talk about BIP9! Do you mind if I share our conversation on Discourse?

02:50 XaH4uK: Sure, if you want you can share. Yep, BIP9

02:51 Mark Richardson: Where would you like to start - the whitelist part? It seems we understand each other on the first point about the pool depth and vBNT price.

02:52 XaH4uK: Yep, whitelist. Why you want change vBNT pool to whitelist type?

02:53 Mark Richardson: Consider this situation: The price of vBNT in the pool is at a low point, let’s say 0.6 BNT. Then, a naïve vBNT holder decides to contribute liquidity. After they create the stake, the price of vBNT rises due to either the burn mechanism, or trade activity. And the price of vBNT returns to 1 BNT. The LP that entered the pool at 0.6 vBNT, will have increased their BNT share of the pool, but lost a disproportionate amount of vBNT. And this will mean that their balance is insufficient to withdraw their staked BNT from their protected positions. We would like it if vBNT liquidity providers did not have to worry about a scenario like this. Secondly, we would like to activate LM rewards on the vBNT pool. The contract requires single-sided staking to be enabled for LM rewards. And single-sided staking requires whitelist status. These are the primary reasons for the apparent need to whitelist. I am interested to hear your feedback.

03:16 XaH4uK: Why? Fo example, now in the vBNT pool we see price 1vBNT=0.25BNT. For example I have 50% of the vBNTBNT relay tokens. If I remove liqudity now, I’ll get 83BNT and 302vBNT (167BNT 605vBNT pool size now). If you buy 305vBNT, to change price 1vBNT=1BNT (300 vBNT and 300 BNT pools size), I’ll can get 150 each token, if remove liqudity.
In both situation I’ll get my tokens in proportion to the market price. But whitelist will create the situation you’re talking about - insufficient to withdraw vBNT. After Vortex starting volume of the vBNT will decrease each moment. Volume of vBNT in the pool we can image that graph. Sorry, I slow writing)

03:18 Mark Richardson: Gotcha. Ok let’s go through this. So, it is important to think about the price of vBNT only in terms of BNT - the dollar amount is not important.

03:19 XaH4uK: Yep. forgot about dollar price

03:19 Mark Richardson: For now, let’s forget about gas and swap fees just to keep it simple. Assume that you stake 100 BNT in the wBTC pool. To withdraw this stake, you need to burn 100 vBNT

03:20 XaH4uK: yep

03:21 Mark Richardson: But you aren’t interested in governance, so you decide to contribute liquidity with your 100 vBNT. Using the current pool price as an example, you could create pool tokens with all 100 vBNT and about 25 BNT. Now let’s say the price of vBNT returns to 1:1 with BNT. This could happen due to a lot of different reasons, and it doesn’t really matter what they are. So as the price returns, your pool tokens are now worth 50 BNT and 50 vBNT. Then you withdraw. At the start you had 100 vBNT and 25 BNT, at the end you have 50 vBNT and 50 BNT. You can recover the vBNT you need to withdraw your stake by staking the 50 BNT and receiving 50 vBNT in return. Now you have all 100 vBNT back, and you can withdraw from the wBTC pool. But you have lost 25 BNT in the process. And now have a 50 BNT stake that you can’t withdraw, because you don’t have any vBNT left.

03:28 XaH4uK: Yeah, but if I was sale 50 vBNT, in price 0.25 I was have 50 vBNT and 37,5 BNT, as result Im in profit after price changing to the 1:1

03:30 Mark Richardson: Walk me through this? When do you sell the 50 BNT?

03:33 XaH4uK: In this moment. I have 100 vBNT and 25 BNT. If I add liqudity, after price returns I’ll get 50 vBNT and 50 BNT, but I can sell now 50 vBNT and get 12.5 BNT. As result I’ll have 50vBNT and 37.5 BNT

03:35 Mark Richardson: Why would you sell 50 vBNT for 12.5 BNT? Can we just assume you can get 1:1 conversion, and get 50 BNT? In either case, I can’t see a profit here. As you start with 100 vBNT and 25 BNT, and end with 50 vBNT and 50 BNT, you have effectively sold 50 vBNT for 25 BNT. The problem is, each one of those vBNT could be used to extract 1 BNT each from your stake. So you are making a 50% loss. You can assume the pool is very deep - as deep as you want. I am confident that this price consolidation can only result in a loss. Of course, we aren’t considering the effect of pool fees. We can come back to this in a minute.

03:43 XaH4uK: It example, that I not lose my money. in this situation, then vBNT price grow, Im in middle profit. We have different ways, some more profitable

03:44 Mark Richardson: I need you to explain this carefully - I want to understand you. If you had 50 vBNT, would you sell it to me for 25 BNT? This is the outcome of the situation we have considered. It’s not middle profit - it’s all loss. The reason you are in loss is because the vBNT is still required to get back the initial stake of 100 BNT in the wBTC pool. And now you are buying it back at a higher price. May I ask, are you the person who owns the current pool tokens in the vBNT pool?

03:52 XaH4uK: Yep, full)

03:53 Mark Richardson: Okay - what happens if I buy vBNT right now and bring the price back to 1:1?

03:54 XaH4uK: I was started from the price 1:1, I back my money +fees) But we go wrong way

03:55 Mark Richardson: How much have you made in fees? The pool fee is 0.2%

03:55 XaH4uK: It’s not my pool, I don’t calculated

03:55 Mark Richardson: It’s my pool :slight_smile:

03:55 XaH4uK: ))))

03:55 Mark Richardson: How many tokens did you start with on each side?

03:56 XaH4uK: started 100, after add 200

03:57 Mark Richardson: Ok so about 150 on each side?

03:57 XaH4uK: nop, 300 each side

03:57 Mark Richardson: ok 300 each side. Give me a second. Ok I have calculated it.

04:04 XaH4uK: Aaaand, Im a rich?)

04:04 Mark Richardson: I can currently buy 287.7 vBNT from you for 150.8 BNT. This will return the pool to 1:1 price vBNT/BNT. The pool will have about 317 left on each side.

04:07 XaH4uK: Ok, thanks, not bad

04:07 Mark Richardson: Not bad at all. But, what would happen if you provided liquidity again, right now? Let’s just pretend. Choose a number of vBNT and BNT you would like to add at the current price point.

04:09 XaH4uK: Yep, HODL it the best way, while price low

04:09 Mark Richardson: Exactly. So let’s say someone not as smart as you decides to add liquidity now. Maybe 100 vBNT and 25 BNT?

04:10 XaH4uK: You right, he lose some money, But 1 side protection do not safe them

04:10 Mark Richardson: Ok progress! 1-sided protection can be used to save them, because we can make sure the number of tokens he withdraws at the end is the same as the number he started with. And he will earn a little in fees as well. This is how we protect against impermanent loss at Bancor. We want to make sure liquidity providers to the vBNT pool don’t get stung by this. And - we also want to activate LM rewards on the pool. What do you think?

04:20 XaH4uK: How? Continue about real vBNT pool. To return price to the 1:1 you need buy 50% of the vBNT 287.7 from 605. Imagine, now I add in 1side protection 700 vBNT (price 1:0.25), total 1305 vBNT. After that price return to 1:1 (total 652.5 vBNT), and I wanna get my money back, where protocol find needed 700 vBNT?

04:20 Mark Richardson: It gives you 700 BNT

04:20 XaH4uK: BNT?

04:21 Mark Richardson: You can stake it, and get the 700vBNT you need. This is how our insurance works. The protocol pays you in BNT for your losses.

04:22 XaH4uK: Sorry to spend your time

04:22 Mark Richardson: It’s ok! :heart:

04:23 XaH4uK: I’ll add some vBNT to 1 side protection vBNT pool)

04:23 Mark Richardson: Ok it sounds like we understand each other now! Remember the vBNT cannot accept single-sided yet, but we will ask the DAO to consider it.

04:24 XaH4uK: Yep, in this moment yes. I’ll thinking about insurance.:ok_hand:

04:25 Mark Richardson: Thank you for speaking with me :+1:

04:28 XaH4uK: Thank you to answer.

1 Like