This proposal is expected to appear on Snapshot for voting on June 19, 2022 (Lisbon) . Make sure to stake your vBNT for voting before this date and time to participate in the DAO decision. To pass, this proposal needs a quorum of 35% and 66.7% FOR votes.
TL;DR
BIP17 allowed for the migration of all active V2.1 pools to V3
There are certain cases in which tokens were whitelisted before these requirements were in place.
This proposal is for the DAO to vote specifically on some of these pools where the token contract may add significant risk.
NOTE: These exceptions are only possible for tokens that were whitelisted in V2.1.
Other tokens that were not whitelisted on V2.1 have no so such exemptions as they were not live on Bancor before the whitelisting requirements were in place.
Summary:
As outlined in the recent blog post there are 9 tokens that will be each brought up specifically for the DAO to vote on a white listing in V3.
This proposal is for USDT
USDT’s token contract allows the contract owner can burn tokens in any address, including the token vault contract of Bancor 3.
It’s one of the most liquid stable coins and widely used by traders.
Excluding it will result in less volume / trades needing an external swap before coming to Bancor.
The v2.1 pool contains ~$7 M, and a 50% APY… So there is certainly demand for USDT<>BNT<>TKN trades.
Cons:
It can be frozen
The master vault USDT can be burnt.
What would we do if the USDT in the Bancor vault was Burnt (or frozen)?
We could tell BnUSDT holders that Bancor has no responsibility. i.e. it’s their problem for choosing to be exposed to USDT.
However, assuming that the freeze / burn is targeted due to a single bnUSDT LP, then the others are collateral damage of the contract owners actions.
What technically happens of we get frozen or burnt?
Do swaps stop automatically if USDT = 0 in the vault, or would the pool gain more USDT over time (possibly as the market tried to dump USDT)?
Would the B3 code recognise a frozen token
Would bnUSDT holders get automatically provided with BNT as IL insurance?
i.e. does either case break the B3 logic
If we whitelist USDT, what can we do to mitigate the risk to Bancor?
I’m guessing we would want to discourage having a large $ value in the omnipool.
So, setting the trading depth to 10% of the other core stable coins should help.
If we set the LP fee low, then we encourage volume on a shallower pool (with more slippage discouraging larger trades). However, LP’s get lower returns so we should get less USDT sitting in the omnipool (assuming we fill the target depth).
Alternatively, can we set a higher fee, but divert more to the vortex? Then USDT LP’s get a lower reward (and so discourages excessive $ stakes) and Bancor gats a higher income to help compensate for the additional risk…
One final question: Do we think that the contract owner will target liquidity pools? I don’t think they have to date.
DAI, USDC and USDT all had similar caps (~5,000,000 BNT). By my understanding this means that DAI currently has a pool depth of ~$5,000,000 DAI in B3.
As there is currently ~$40 M DAI in B3, we have a significant surplus of DAI. If it’s not trading, then the is no IL cost to the protocol. However, for USDT, the burn risk would impact the entire value in the omnipool.
If we whitelist USDT at the BIP017 funding limit of 5,276,720. Then, like DAI, we could attract 40,000,000 USDT into the vault.
Personally, I would be inclined to reduce the funding limit on USDT and possibly modify other pool parameters (fee / vortex rate / others) to discourage excessive deposits.
Given that B3 is still in the process of being launched, I would consider whitelisting USDT a low priority task and delay this vote until we have had time to study the final behaviour of B3 with DAI and USDC and all the other pools.
Then the analytics and economics team can come back to USDT with fresh eyes and recommend some parameters for USDT to be whitelisted.
If I deposit $1,000,000 USDT into B3 I get $1,000,000 of bnUSDT. If the pool balance is burnt, then there is 0 USDT to withdraw. Do I get $1 M of BNT as IL protection?
I honestly don’t know, so I’m asking questions, being cautious, and recommending we take some time to consider before we open the omnipool to unlimited USDT.
I am not convinced that USDT necasarily represents an immediate threat. Bitfinex is very unlikely to burn tokens in the vault, or anything of that nature. Further, I expect there is a process for signing transactions, that is subject to organizational control. For example, I sincerely doubt that a clever social engineering attack could yield the private keys unto a nefarious influence, who may wish to vandalise the Bancor protocol.
However, it is something we should take seriously, and at least inquire as to whether such a process is on place, even without adking for the particulars to be revealed.
I am not a decentralization maximalist; I can appreciate that something like USDT might require a central authority. I just want to have confidence that there isnt some hot wallet somewhere, or a disgruntled employee, that could be easily compromised.
USDT is now among one of the most battle tested stables. Time is a terrific auditor, and I have no issue with its whitelisting in principle. Lets just get some clarity before committing.
Taking at step back, I think that while there have been cases of tokens being frozen following exploits etc, I don’t think any of the large token controllers have acted against liquidity pools.
If my memory serves, many exploiters specifically move coins into DEX pools (3pool on curve for USDC and USDT) to prevent their being seized.