Uniswap is the reason why algo stablecoins can’t maintain the peg and how to fix it
The Bank Run
Imagine a bank that accepts deposits and gives high interest, it has 500m on deposit. The CEO of the bank is conservative and rather than the FDIC mandated reserve requirement of 10%, it held 20% in reserve for depositors to redeem their funds.
The bank hired one teller to accept deposits and withdrawals from customers, let’s call her Umi.
Umi had a special rule, for every $500,000 in withdrawals, the customer would receive $0.01 per dollar less on their withdrawal amount. So each dollar out of the first $500k withdrawn could be redeemed for $0.99, then the next $500k could be redeemed but only for $0.98, and so on.
If you held money in this bank, what would you do once you found out that teller Umi was going to handle withdrawals in this way?
The above situation is what ESD is faced with if it had a 200m Uniswap pool(it‘s lower, so the situation is much worse). You can run the numbers yourself with the calculator tool built by Mike from ESD.
The swap curve is the price
The “bank run” is faced by every single algo stablecoin that uses Uniswap as it’s primary liquidity pool. The Uniswap swap curve is the culprit of why they are off peg and also the reason why they’ve been able to bootstrap to hundreds of millions in marketcap.
In 1964 Marshall McLuhan coined the phrase “The medium is the message”,
In Understanding Media, McLuhan describes the “content” of a medium as a juicy piece of meat carried by the burglar to distract the watchdog of the mind. This means that people tend to focus on the obvious, which is the content, to provide us valuable information, but in the process, we largely miss the structural changes in our affairs that are introduced subtly, or over long periods of time.
This is playing out right now in the discussion around algo stablecoins. The worst culprit being myself over the past few months. We’ve endlessly analysed the “content”, from collaterisation ratios, lockup periods, epoch lengths, buy/sell incentives, the quality of communities, theories of supply and demand, treasury reserves and everything else under the sun to explain the price fluctuations of algo stablecoins.
The real culprit is the “medium” itself, the Uniswap swap curve. The swap curve is the price.
The Evidence
SNX announced the sUSD Curve trial on the 12th March, 2020 with a V2 relaunch on 22nd April, 2020 due to a bug fix. Prior to the curve pool launch, Uniswap was the primary liquidity pool for sUSD, following the incentivisation of the sUSD iEARN finance pool on curve, that became the primary venue of sUSD trades.
Here is the pre-curve sUSD price action 2 months prior.
Here is the post curve pool sUSD price action, 2 months post.
The difference in price action is almost entirely due to the change in the swap curve. sUSD was/is the most overcollaterised stablecoin in all of defi, with a collaterisation ratio at that time of 700%.
More Evidence
Take Dai, the grandfather of all defi stablecoins. Over-collaterised at 150%.
Here is the 2 months of price action prior to Curve Finance launching
And here is the price action 2 months post launch(minus black thursday).
The DAI/USDC pool when Curve first launched was minuscule with daily volumes between 50k–300k, and DAI was the oldest, most mature Defi project.
Despite that, the effect that the introduction of a different swap curve has to the DAI price action is significant. The swap curve is the price.
Failure of the Hypothesis
Theoretically, the price should mean revert with lower and lower amplitude as the marketcap gets bigger and bigger.
However under the “bank run” scenario outlined in the beginning of this article, the Uniswap liquidity pool by design cannot match the growth in marketcap, hence, it guarantees a “bank run” scenario.
For example, using the calculator, imagine hypothetically that there was a DSD Uniswap liquidity pool that was $1billion dollars, for a 200m MC stablecoin. Each stablecoin is overcollaterised in the Uniswap Pool by a 2.5 to 1(250%). Dai is overcollaterised by only 150%.
By the time 25% of the marketcap has been swapped($50m), the price would now sit at $0.83.
Regardless of how large the liquidity pool is, as long as Uniswap is the medium of exchange, ANY stablecoin cannot remain stable. The swap curve is the price.
Solutions
If not Uniswap, then what?
Take Swerve, it currently only has a 12.5m swap pool distributed between 4 assets(TUSD, USDC, DAI, USDT). If you make a swap from Dai to USDC for 500k, the slippage is only 0.16%. As compared to the 1% slippage that a 500k swap in a 200m Uniswap pool.
When an algo stablecoin reaches a certain market size, the reflexive downside of Uniswap is much greater than the reflexive upside. Uniswap can bootstrap you to hundreds of million in marketcap, but at that point it’s usefulness ends.
To take the next step foward in growth this means that;
- The primary liquidity pool cannot be Uniswap, and must be an AMM with a less reflexive swap curve such as Curve, Swerve, Shell, Saddle, Snowswap and other such swap curves.
- There must be incentives/penalties under the peg to keep a healthy level of liquidity. Enough liquidity that a “bank run” scenario cannot happen.
- MMT style incentives/penalties to buys/sells before liquidity reaches a danger zone.
- Liquidity needs to be incentivised under the peg.
The swap curve is the price.
Follow SaÐertøøth on twitter