🍧Shell v1 (Retired)

A discussion of the earliest iteration of Shell Protocol

Contents

Introduction

In October of 2020, Shell Protocol launched its first-ever AMM pools on Ethereum mainnet, known as Shell v1. They were a novel approach to a particular set of problems, offering deep liquidity and (presciently) broken peg protection for like-value tokens (such as stablecoin-stablecoin or wrapped BTC-wrapped BTC). Unfortunately Shell v1 was unique in offering broken peg protection, otherwise more protocols may have been able to mitigate damage caused by the great stablecoin crash of 2021.

A visionary product in many ways, Shell v1 also contained the seeds of an ambition for a composable liquidity networkβ€Šβ€” an ambition now borne out by its v2 and v3 successors. As such, after nearly two years of active life, Shell v1 transitioned into a graceful retirement.

The Shell team has no immediate plans to disable access to Shell v1 or its app interface. After all, nothing ever really disappears on the blockchain. However, the time has definitely come for LPs in Shell v1 to withdraw their funds and transition to the next iteration of Shell Protocol.

If you would like to dive in to the architecture, check out the Shell v1 white paper. For a brief overview, continue below.

Shell v1 overview

Shell v1 pools had five features worth emphasizing:

  1. Deep stablecoin liquidity

  2. Reserve weights

  3. Protections against a broken peg

  4. Dynamic fees

  5. Interoperability with aTokens and cTokens

These five features incorporated facets of several DeFi protocols: Curve, Balancer, mStable and Mooniswap. Like Curve, Shell v1 could facilitate large stablecoin-to-stablecoin trades with minimal slippage. Like Balancer, Shell pools could have weights.

Similar to mStable, Shell pools had minimum and maximum allocations for each stablecoin. For example, the pool must always have between 3% and 57% of a given stablecoin. This ensured that if a reserve permanently loses its peg, liquidity providers won’t lose all of their capital. Without these protections, a single broken peg could drain the entire pool as traders swap the worthless stablecoin into the pool and take out the viable stablecoins. Therefore, the more stablecoins added to a pool, the riskier it gets because the more likely it is for a stablecoin to de-peg. That is why Shell v1 pools had safeguards.

In addition to charging a fixed fee on every swap, Shell v1 pools charged a dynamic fee that increased in proportion with the pool’s slippage. The more a stablecoin deviated from its peg, the higher the fee assessed by the pool. This is a mechanic that is similar to Mooniswap’s dynamic fee. Dynamic fees redistribute profits form arbitrage traders to liquidity providers.

Not only could Shell v1 facilitate trades between stablecoins, it could also facilitate direct trades between Aave and Compound. For example, you could trade between aUSDC and cUSDT. Therefore, moving funds between lending pools on Shell v1 did not require ZapperFi.

Flexible curves

The best part about Shell v1 was its flexibility. Each of these behaviors could be fine-tuned by adjusting parameters, and these parameters could be changed dynamically post-deployment. This allowed Shell v1 pools to adapt to new use cases and market conditions. The ultimate goal was to create an "operating system" for stablecoin liquidity pools that could implement arbitrary stablecoin AMMs.

Security

Shell v1 underwent two separate audits from Consensys Diligence and ABDK. From the time of its launch until its retirement almost two years later, Shell v1 has been live on mainnet without a security breach, while remaining in the top 25 DEXs on Ethereum by TVL. However, as always, this is no guarantee of security and Shell's liquidity providers were always encouraged to exercise caution. Shell v1 is now retired and any Shell v1 LPs should immediately withdraw their funds and transition to Shell v2.

Vision

Shell v1 was more than just an AMM protocol. The vision was to use stablecoins as building blocks to create an internet monetary system: a borderless, programmable medium of exchange accessible to all. Ultimately, this is the dream that led to the current iteration of Shell Protocol.

Last updated