Mutables allows ESD holders to earn a return by providing a swap-routing service to stableswap protocols (e.g. Curve, Saddle, Balancer). The swaps are routed through “virtual” or “synthetic” assets that we call mutables, as these assets can be frictionlessly mutated into other assets. In this process ESD* acts as the collateral to back the mutables. This idea was originally developed by Curve and Synthetix. Due to it’s origins in the world of stable swaps, the process is usually (and unfortunately) referred to as “cross-asset” swaps, a name which only serves to confuse users who are not so familiar with stableswap services and who tend to think of all swaps as being “cross-asset”. To avoid this confusion we will call them mutable-powered swaps. The return earned by ESD holders comes from the fees the protocol earns for providing this swap-routing service to stableswap protocols.
*Here we are referring specifically to Continuous ESD as per ESD V2.
The diagram below shows how a swap from a BTC-backed ERC20 to (wrapped) ETH would work:
To allow this swap to happen we need the following steps to occur:
(A) Mutable protocol users lock up ESD as collateral and mint muBTC and muETH mutables, so that we have a large enough mutables pool to support swap demand, including very large swaps
(B) The minters deposit these mutables in stableswap pools, where the minters or other liquidity providers also provide BTC and ETH to these pools, so that there is sufficient liquidity to meet demand for stableswaps
(C) Mutables are credibility backed by collateral and thus trade at par with their associated asset (e.g. a muBTC is always worth one BTC)
While the diagram above may look like a complicated way to swap assets, most of the complexity will be hidden from users. It also provides some very important advantages over other approaches.
Stableswap pools enable swaps between two assets whose prices are usually very close to each other. Initially this was used for dollar-pegged stablecoins e.g. DAI <> USDC or sUSD <> USDT. As these assets trade at almost the same price, the liquidity in the automated marker maker algorithm can be concentrated around this value (in this case the dollar peg). By concentrating the available liquidity in this way, the protocol can greatly reduce slippage thus making it more attractive for traders, which in turn drives higher demand and thus higher fees. This approach also works for the various BTC-backed ERC20s (renBTC, wBTC, tBTC etc.) and swaps between staked Ether (stETH) and ETH.
As BTC and muBTC will trade at the same price (see C above), we can use the stableswap approach. As we have seen, the liquidity available can be focused in on a very narrow band, so we can enable high value swaps with very low slippage. The same applies for the ETH/muETH pool. Any mutable (e.g. muBTC) can be frictionlessly converted into another mutable (e.g. muETH), so the mutable swap in step 3 can be performed with zero slippage. Mutables can be swapped seamlessly as they are backed by the same amount of collateral. Let’s say one BTC is trading at $40K and one ETH is trading at $2,500. So one BTC is worth 16 ETH. I can trade 0.25 muBTC (backed by ESD 10,000*) for 4 ETH, each backed by ESD 2,500*. The trade enabled in Step 3 is only limited by the total value of collateral backing the mutables debt pool, so this design can support extremely high-value swaps.
*We will leave the discussion on whether this would be over-collateralised for another blog post.
The Evolution of Mutables
Readers who are familiar with Curve-Synthetix cross-asset swaps may find this all very familiar! So why is Mutables different?
Well to be clear, Mutables is a Synthetix fork. So it will start off looking very familiar. We believe that the best way to deliver a safe and secure system is to start with a battle-tested codebase, become deeply familiar with the code, and then evolve it carefully. But we also want to make this very clear: Mutables is evolving into a very different protocol. The Mutables protocol seeks to provide risk-minimised investment strategies without compromising on yield. By using stablecoins and low volatility assets as collateral we can improve capital efficiency, thus delivering a higher yield per unit capital invested. We also want to innovate in the area of liquidations. We think it’s a terrible user experience to constantly live in fear of your capital being liquidated, so we have some ideas on how to improve this. Readers may also have noticed that we haven’t mentioned a dollar-pegged mutable. This is because we want to ensure that ESD is at the heart of Mutables, which will involve some significant modifications to the Synthetix design. There are plenty more details to reveal in the coming weeks and months.
Mutables is a building block. In cannot serve users on its own. It requires integrations with other protocols. Its purpose is to enable zero slippage, high value token swaps. To achieve this it needs to be integrated into stableswap procotols. Over time we would like all DEXes to support the Mutables protocol, including Curve, Uniswap, Balancer, Shell, Saddle, Bancor and more. We will make a decision on which DEX to launch with in the coming weeks.
, where ESDS inflation will be used to incentivise protocols that can generate demand for Continuous ESD (cESD). We hope to gain the support of the Empty Set community for Mutables, where we would like to be one of the projects selected to partake in the Empty Set Protocol Partnership Initiative.
We do plan to launch a Mutables token. It will be distributed to Mutables users. It may also be airdropped to select communities, particularly ESD holders. The specifics of how the token will be distributed will be revealed at a future time.
We have always seen Mutables as an ESD ecosystem project and we’d like to keep it closely connected with ESD community. So we have decided not to set up a Mutables Discord at this time. Instead, the ESD community have kindly allowed us to set up a channel on their server (click