- A permissionless protocol for unifying, securing and governing tokenized assets
- An SDK for DApps and exchanges to simplify and expand stablecoin user experience
- A platform for zero slippage swaps
- A mechanism to earn a native interest rate on your mStable assets
- An open reward pool to bootstrap liquidity, utility and a decentralized community of governors.
mStable united stablecoins and other tokenized assets through its own tokens called mASSETS. Each mASSET is pegged to a unique asset, such as fiat currency, commodities, consumer price indices, or cryptocurrency. However, mASSETS derive their value from a basket of whitelisted tokens representing the same asset. There are three primary functions for mASSETS within the mStable protocol: MINT, SWAP, and SAVE.
mStable was first announced in February 2020 by CEO James Simpson. The team building mStable is Stability Labs, a software development company based in Berlin.
mStable was created due to three major issues faced by stablecoin users:
- Significant fragmentation of same-peg assets
- Lack of native yield when it is being increasingly demanded by users
- Concentrated counter-party risk and lack of protection against complete capital loss
As the DeFi ecosystem continues to grow, users are faced with too many choices for tokens that represent the same thing. Right now DAI, USDT, USDC, PAX, TUSD, CUSD, GUSD, and more all serve the same purpose; to replicate the value of $1 US Dollar. There are differences in mechanisms and functionality between them but the end goal remains the same. This fragmentation allows users to choose at the cost of liquidity and confusion.
On top of this, users who choose a single token are exposed to potentially catastrophic risk. Maintaining an asset peg relies on relatively new systems or third party trus which may be susceptible to losing their value. By unifying pegged assets and rolling them up into a single mASSET, the risk is reduced and users benefit from a more resilient system.
The three primary mASSET functions are MINT, SWAP, and SAVE. Before diving into each one it’s important to define a bASSET, which is a ‘basket asset’, or a non-mStable asset that makes up a portion of the value of a mASSET.
Each mASSET uses a smart contract to facilitate minting and redemption while holding its collateral. Users can deposit a bASSET and receive the corresponding mASSET at a 1:1 ratio. For example, if you send 10 USDC to the mUSD contract, you will receive 10 mUSD back.
Users are rewarded for minting mASSETS – like mUSD – with MTA governance tokens. This reward mechanism will be expanded upon in the ‘Meta’ section.
Users can reverse the minting process by using a Redeem function within the mASSET contract. They can choose which bASSET(s) to receive upon redemption, and their mASSET amount is subsequently burned.
Swapping is the exchange of one whitelisted bASSET for another at a 1:1 ratio through the use of a straight-line bonding curve. There is no price slippage on swaps, and any amount can be swapped provided the total does not breach weight requirements. mStable charges a fixed fee on every swap performed on the protocol.
Allowing users to swap at a 1:1 ratio introduces the need to maintain balance in the basket. As a result, mStable has implemented maximum weights for each bASSET, represented as a percentage of the total basket value. When a bASSET hits its maximum weight, the rules for minting, redeeming, and swapping are changed to help with re-balancing. For example, if a bASSET has a maximum weight of 35% and it hits this percentage, all minting, redeeming, or swapping that would push the bASSET above 35% is paused. Once other mASSET activities reduce the bASSET weight, those activities can resume.
All mASSETS earn interest within the mStable ecosystem, equal to the average interest earned by the bASSETS it represents plus platform fees. This is done by lending the bASSETS on other DeFi platforms like Aave or Compound and distributing mStable swap fees to mASSET holders. As interest and fees accrue new mASSETS are minted and distributed to all mASSET holders that opted in to receiving interest. This means that mASSETS are used to represent liquidity share and the tokenized asset simultaneously, unique from many other platforms that implement separate liquidity tokens. Additionally, there will always be a portion of mASSETS being used as a medium of exchange, held offline, or not deposited in the SAVE contract. Between this fact and distributing swap fees to mASSET holders, mStable aims to maintain an interest rate above competing DeFi yield products.
Meta (MTA) is mStable’s native protocol token serving three primary functions:
- To act as the ultimate source of re-collateralization
- To coordinate governance
- To incentivize the bootstrapping of mASSET liquidity, utility, and a community of Governors
Within the mStable protocol, re-collateralization is the mechanism that protects mASSETS when a bASSET loses its peg. For this to work, MTA is deposited into an mASSET contract to over-collateralize the mASSET. In the event that a bASSET loses its peg, mStable governors vote to remove the bASSET from the basket. The MTA in the contract is then sold for the corresponding mASSET and the purchased mASSETS are burned until the remaining pool of that mASSET is equal to the rest of the basket, and the system is re-collateralized. This mechanism is set to launch with mStable Phase 2.
Governors in the mStable ecosystem are MTA holders that have skin in the game and will be responsible for setting and maintaining system risk parameters. MTA holders must stake their tokens to act as a governor, and will earn a percentage of bASSET interest, swap and redemption fees as a result. Governors will be able to vote on protocol proposals that encompass:
- Addition/removal of mASSETS
- Addition/removal of bASSETS
- Redemption and minting fees
- Selection of oracles
- Upgradability of system modules: re-collateralization and governance
To incentivize the bootstrapping of minting, liquidity, and utility of mASSETS, mStable has allocated 20,000,000 MTA (20% of total supply) to an open reward pool. This pool can also be tapped into by users that lock their mASSETS in utility generating DeFi services like liquidity and lending pools, and applications that integrate the mStable SDK or mStable assets. These rewards are paid out monthly and will increase for mStable’s first 15 months before slowly declining until the pool is exhausted. The projected MTA allocation is shown below: