Waves and its recent ups and downs

Vicky Lang
10 min readApr 9, 2022

In the beginning, I was trying to understand the sudden spike in Waves TVL, which at the highest point reached $4.75b, making Waves the 7th largest smart contract chain in terms of TVL. Then there was a lot of discussion and drama on twitter about how Waves is ponzi, how Alameda manipulated $WAVES prices and the proposal on Vires loan factors. I was initially only going to share with my colleagues, but I found this very interesting so I decided to write down my learnings.

The rollercoaster ride. Source: DeFiLlama

I’m going to go through the following items, mainly focusing on the recent drama around Waves.

  • The Waves ecosystem and applications
  • how did Waves gain capital and users
  • The fud — the ponzi accusation, Alameda, $USDN losing peg, the new proposal
  • comparison between Luna/$UST and Waves/$USDN

The Waves ecosystem and applications

The TVL on the chain is mostly contributed by Neutrino and Vires Finance (around 90%), so I’m only going to briefly go through these two protocols.

Neutrino is the stablecoin protocol of this ecosystem. There are stablecoins ($USDN, $EURN), decentralized forex, synthetic assets, and their governance token ($NSBT) in their system. Stablecoins are their main product, and these $USDN are fully backed by the native $WAVES token. $WAVES are locked to mint new $USDN. The stability mechanism is that users can swap $WAVES<>$USDN whenever $USDN prices deviate from $1. When $USDN exceeds $1, arbitrageurs can swap $1 WAVES for USDN in the Neutrino dApp and sell on the market, this increases $USDN supply and would eventually bring $USDN back to its peg when no arbitrage opportunities exist. The same happens the other way around. Seems fair and similar to many stablecoin mechanisms. But on Neutrino, only $NSBT stakers ($gNSBT holders) can swap $WAVES<>$USDN. There’s even a max limit of how much you can swap depending on how many $NSBT tokens you stake, more on this later. Another thing to notice is that when the market cap of WAVES locked falls below the USDN market cap, the governance token $NSBT would be sold for WAVES to fill in the reserve gap. However, this is not the usual case. As $WAVES prices surge in the past weeks, $USDN is backed by at least 2.5x of $WAVES.

Stability mechanism of $USDN. Source: Neutrino whitepaper

Vires Finance is the money market on Waves, which is very similar to Aave. Users can deposit any supported assets and use them as collateral against their borrowings. There’s also a bridge function, which users can bridge assets (mostly stablecoins) between Bitcoin, Ethereum, Polygon and BSC. At the time of writing (Apr, 7th), there are still over $1.4b locked on the platform.

The Vires Finance dApp, the crazy lending and borrowing rates will be explained later. Source: Vires Finance

How did Waves gain capital and users

After looking at the two major protocols that contribute to the TVL of Waves, it’s still not clear what is attracting so much capital. Some of the potential reasons are:

  1. Russia Ukraine war brings attention to the “Russian Ethereum”
  2. Waves upgrades to 2.0 , Allbridge and Gravity partnership announcement
  3. high deposit rates on money market platform
  4. $USDN staking rates
  5. manipulation?

The first reason seems possible, as the invasion (Feb, 24th) matches the beginning of the surge of Waves token price and TVL (late February early March). People may be seeking potential alternatives to banks that have been restricted in some way. This may be the initial reason that drew attention to Waves, but in a month $WAVES ~7x and Waves TVL ~4x so I believe there are other drivers as well.

The second reason seems more fundamental. In early March, Waves announced an improved consensus mechanism, compatibility with EVM ,and other upgrades named together Waves 2.0. However, Waves has been around since 2016 so even though upgrades and partnerships are bullish, I think the reaction to these news wouldn’t be as crazy as it was.

The third has always been an effective way for new protocols to attract users and capital. Anchor has been attracting capital with its~19% fixed yield for $UST. The stablecoin yields on Vires are around 15%-19% if utilization stays under 80% (which are most cases), although these are much higher than most money markets (Aave: ~3%, Compound: ~2.5%), they aren’t attractive enough for users to deposit on Vires instead of Anchor.

The fourth would be for the $USDN staking rates, this serves as its main source of demand and primary use case. $USDN can be staked on Waves Exchange, KuCoin and a few other exchanges. The yield is calculated as $WAVES backing ratio * $WAVES staking yield(~3.9%), and is generally 8%-15% depending on the backing ratio. The rates are not bad for stablecoins staking but I’m not sure if it’s enough to attract so many users.

The last reason would be price manipulation. If we look at TVL on Waves in the past month in $WAVES, it hasn’t grown much, meaning most of the TVL growth comes from $WAVES price appreciation rather than organic user or activity growth. We will go through more about the possibilities of price manipulation in the next part.

Waves TVL in $WAVES. Source: DeFiLlama

The fud — the ponzi accusation, Alameda, $USDN losing peg, the new proposal

It all started with this thread on twitter about Waves being a massive ponzi scheme.

Is it ponzi?

0xHamZ accused Waves of folding leverage and manipulating $WAVES prices by: deposit USDN on Vires → borrow USDC on Vires → transfer USDC to Binance → buy WAVES with USDC → convert WAVES to USDN → start over. The main effects of this manipulation are

  1. creating demand for $WAVES out of nowhere → drive prices higher
  2. creating $USDC/$USDT borrowing demand → increase lending rates → attract more users to deposit
  3. expand $USDN market cap
What Waves had been accused of doing.

There are even transaction records provided as proof to support his saying. He also pointed out that the $USDN market cap has regular expansions every few days, this could be everytime $USDN is minted in Neutrino (the 5th step in the graph above).

Regular $USDN market cap expansion. Source: Coingecko
Transactions of borrowing $USDC, $USDT on Vires with$ USDN and transferring $WAVES from elsewhere then swap to $USDN on Neutrino. Source: Waves Explorer

After 2 days, the founder of Waves Sasha Ivanov fought back. They accused Alameda of manipulating $WAVES prices as well.

Waves fought back.

He provided evidence that Alameda was selling borrowed $WAVES on Vires using USDC/USDT as collateral, and longing $WAVES perpetuals for profits. Funding rates of $WAVES have long been negative (short pays long), so shorting spot + longing perps could earn funding rates while having zero exposure to $WAVES.

Negative $WAVES funding rates and the account of Alameda on Vires according to Ivanov. Source: FTX, @sasha35635

The two sides both offered proof to their side of the story, I guess maybe both of them are right? On Apr, 4th $USDN lost its peg, reaching $0.68 at its lowest point. I think the main reasons are

  1. fud caused by the ponzi scheme accusation on twitter
  2. the stability mechanism is too weak

The first reason is about the dispute mentioned above that begin with the accusation from 0xHamZ. As his post caused fud → users withdraw staked $USDN on Neutrino → sell $USDN on curve → no arbitrageurs fixing the prices on AMMs + no traders swapping $USDN to $WAVES → lose peg. The lack of faith in Waves would result in no arbitrageurs buying $USDN to fix the price, then as the selling pressure continues, $USDN loses its peg. As seen in the photo below, the 50/50 $USDN+3Crv pool becomes imbalanced as people dump $USDN in the market.

Imbalance $USDN+3Crv pool. source: Curve.fi

As users lose faith in the Waves ecosystem, they also withdrew $USDC/$USDT deposited on Vires. This immediately caused utilization in these pools to increase, causing lending rates to spike. Interest rates don’t increase proportionally, as utilization rates exceed 80% lending and borrowing rates spike to lower borrowing demand, then consequently lower utilization rates.

Interest model design on Vires, rates surge after utilization exceeds 80%. Source: Vires Finance

The second reason is that the stability mechanism of $USDN is too weak. As mentioned earlier, the $USDN peg relies on arbitrageurs to swap between $WAVES<>$USDN but only large $NSBT stakers ($gNSBT holders) can take this opportunity, the more $gNSBT you hold the more you can swap. The team has proposed new parameters to increase the swap limit per $gNSBT, which increases the limit from 2,240 to 63,096 per 10,000 $gNSBT. Although this strengthens the stability mechanism, having a limited number of arbitrageurs may still not be enough in extreme circumstances.

After $USDN lost peg, there was a new DAO proposal on Vires to 1) set maximum borrow rate to 40% 2) set $WAVES/$USDN/$EURN liquidation threshold to 0.1%. The proposal was voted among the community by $NSBT holders from Apr, 5th to Apr, 10th, at the time of writing around 55% voted against it.

There weren’t a lot of details, but I believe setting the maximum borrow rate for all assets would limit the utilization of all pools to around 86%. If the team had been borrowing large amounts of USDC/USDT from the pool, this would lower their risk of paying 80%-100% rates in fud circumstances like this.

The current liquidation threshold for $WAVES/$USDN/$EURN is 70%/95%80% respectively, this means the maximum debt borrowed for $100 collateral would be $70, $95 , and $80. Setting the liquidation threshold to 0.1% basically means liquidating almost the entire $WAVES/$USDN/$EURN debt position. On April 7th, there was about $20M, $30M, and $947k in debt for these assets, and I believe these numbers were slightly higher when the proposal was submitted. This would punish people selling $WAVES since $20M of $WAVES (about 1% of the current market cap) would have to be bought in the market to repay the outstanding debt, same for $USDN and $EURN.

Screenshot of debt on Vires for $WAVES/$USDN/$EURN on Apr, 7th. Source: Vires Finance

Comparison between Luna and Waves

At first glance, $USDN and $UST may seem very similar, which is what I thought when I first learned about Waves and $USDN. But in fact, they are different in many ways. The following table is some of the major comparisons between the two networks, the top part is about stablecoins and the bottom part is about money market.

Waves and Luna comparison. Source: Waves, Terra, Vires Finance, Anchor

The major difference between them is the stablecoin stability mechanism. Every $USDN is at least backed by $1 WAVES locked in Neutrino, but no $LUNA is locked as a backing asset for $UST. $UST is an algorithmic stablecoin, meaning it doesn’t require collateral or reserve locked to be minted. Although LFG has been stacking BTC as reserves for $UST, which makes it similar to crypto-backed as users can swap $1 UST<> $0.98 BTC. This serves as a cushion and reduces the reflexivity of the system, but $UST can still only be minted/burned by burning/minting $LUNA (The BTC pool is only a reserve). As mentioned previously, the limited number of arbitrageurs makes the $USDN much weaker compared to $UST where anyone can exploit price deviations.

The BTC defender. Source: @danku_r

The other difference lies in the strategies of the money markets. Vires and Anchor both use high lending rates to attract capital, but on Vires borrowing rates > lending rates while on Anchor borrowing rates < lending rates. The Vires case is like normal profitable lending/borrowing protocols, but in order to attract capital with high lending rates, the borrowing rates have to be even higher. No one would borrow stablecoins at ~20% when they could borrow on other protocols for ~3%. The Anchor case is to lower borrowing rates to attract borrowers and increase lending rates to attract lenders. This makes sense to attract users but would drain the reserve very fast. Although Vires and Anchor have different approaches, their common issue is how to attract more borrowers.

Anchor has to continue to fill in the gap between borrowing and lending by draining their reserve. Source: Anchor

Luna has been trying to expand use cases and access to liquidity of $UST to increase demand for $UST borrowing, to prevent 1.) expanding the difference between borrowing and lending on Anchor and 2.) draining the ~19% yield provided to attract lenders.

Starting with ponzi is a smart and effective way of attracting capital and users in the beginning, but ponzi isn’t sustainable. In the end, it still comes down to whether protocols can create real use cases and sufficient demand to support the growth of a project.

There are still things that I don’t quite understand:

  1. Are there any more reasons to hold $USDN other than staking it? If not, is the staking yield high enough for users in DeFi to do so?
  2. If the team is folding leverage to pump $WAVES prices, why did they do it now when they could much earlier?

I didn’t know Waves at all until last week so there must be details or more stories that I’m missing, so if there are any suggestions or comments please let me know!

— This article is also published on Mirror.xyz

--

--