SigmaUSD worked well during the recent cryptocurrency markets flash crash, however, with some shorters taking profit draining bank reserves. Other stablecoins were devalued, liquidations triggered etc. Thus still we are in search of stablecoin design resilient to market events.
Continuing the old topic with a simple but fuzzy and controversial design ( A Simplest Stablecoin? ) , I am going to propose another simple stablecoin design where stability is based on liquidity pool.
In short, the design is about two contracts:
still, we need for a trusted oracle. It would be better to have an oracle reacting fast (not lagging one) now
one contract is holding all the stablecoins (after bootstrapping the second contract) and doing one-way tethering, so selling stablecoins for ERGs , with some fee like 1%. ERGs received to be kinda burnt, e.g. sent to a contract paying to miners few years after.
another contract is AMM DEX ERG/stablecoin liquidity pool bootstrapped just before the first contract with some amount of ERG and stablecoins such that the price is corresponding to oracles.
Now, if price on the DEX is going above $1 by more than 1% (+DEX fee), it is profitable for arbitrage traders to mint more $$$ and take quick profit. Also, with growing volume it would be profitable to mint $$$ and add liquidity to the pool.
But what if the price on the DEX is going below $1? We’re modifying known AMM DEX contract (from EIP-0014: Decentralized Exchange Contracts by kushti · Pull Request #27 · ergoplatform/eips · GitHub) by including oracle, and then there’re two options:
- liquidity removal is prohibited if price is below X. Then liquidity providers need somehow to manage the issue (in the long-term at least). Here we rely on social consensus outside the blockchain.
- if price is going below Y for some time, some amount of $$$ in the pool can be burnt, getting the peg back.
Both means can be combined, with different X and Y values (e.g. 0.95 and 0.9).