SIP-256: Delta neutral ETH > sUSD issuer
Author | |
---|---|
Status | Draft |
Type | Governance |
Network | Optimism |
Implementor | TBD |
Release | TBD |
Created | 2022-07-28 |
Simple Summary
Deploy a contract that accepts ETH and mints an equivalent amount of sUSD.
Abstract
This SIP proposes deployment of a contract that accepts ETH and mints an equivalent amount of sUSD. To offset short ETH exposure taken on by the debt pool in the course of this exchange, the proposed contract will also open an equivalent short ETH perp position to be borne by SNX stakers.
Motivation
The Synthetix protocol chronically suffers from synth supply shortages. Currently, the protocol utilizes three primary mechanisms to meet synth demand:
(1) SNX-backed minting of synths
(2) ETH-backed synth loans
(3) Synth wrappers
However, all three generally fall short of being able to satiate market demand for synths. (1) is contingent upon SNX price appreciation, (2) is capital inefficient and generally underutilized, and (3) is difficult to scale without introducing significant risk. Currently, Synthetix supports wrapper contracts for ETH <> sETH and LUSD <> sUSD.
As has been seen in the past, over-expansion of ETH wrapper capacity leads to a large amount of wrapped sETH converted to sUSD (e.g. to arbitrage sUSD premium) which exposes the stakers to ETH downside. Stablecoin wrappers can ameliorate these risks, but stablecoins that can meet the protocol’s criteria for safety and liquidity are generally not viable.
This SIP proposes the deployment of a contract that wraps a delta neutral position composed of spot ETH and perp ETH short to mint sUSD with 100% capital efficiency (i.e. $1 of ETH can generate 1 sUSD). This allows for a highly liquid source of sUSD that doesn’t carry the risks of an over-utilized ETH wrapper while also creating a stream of income for stakers when funding rates are positive.
Specification
Overview
Whenever a user deposits ETH, sUSD is freshly minted. Since the current perpetual futures contracts do not support ETH collateral, the contract will mint additional sUSD margin to collateralize the short position. The contract can also accept sUSD to release an equivalent amount of ETH collateral while simultaneously unwinding part of the perp ETH short.
Rationale
At a high level, this SIP proposes a mechanism to pair ETH collateral with a short ETH position and use the resulting derivative as a source of stable collateral for sUSD issuance. In order for this to be compatible with the current contract architecture, the contract must mint additional sUSD with half being issued to user, and half being used to collateralize the short position.
Technical Specification
N/A
Test Cases
General flow
- User deposits 0.1 ETH ($100)
- Contract mints 100 sUSD and opens 0.1 ETH perp short position (0.25 sUSD sent to fee pool)
- Contract mints 99.75 sUSD and sends to user
Rebalancing perp margin
- ETH rises 10%
- Contract now holds $110 of ETH
- Perp margin is now 90 sUSD (100 sUSD initial - 10 sUSD PnL)
- Rebalance function is called
- Checks total amount of sUSD sent to perp margin (100 sUSD)
- Checks value of ETH in contract ($110)
- Mints difference and sends to perp margin (10 sUSD)
Debt calculation
- Total balance of sUSD sent to perp margin is excluded from debt
- Say perp short accumulates 1% funding
- ETH/USD at $1000
- Contract holds $100 of ETH
- Perp short margin = 101 sUSD
- (Debt impact) = (sUSD issued) + (sUSD sent to margin) - (Perp margin value) - (ETH value)
- = 99.75 + 100 - 101 - 100 = -1.25
- ETH/USD at $1100
- Contract holds $110 of ETH
- Perp short margin = 91 sUSD
- Rebalance not called yet
- (Debt impact) = (sUSD issued) + (sUSD sent to margin) - (Perp margin value) - (ETH value)
- = 99.75 + 100 - 91 - 110 = -1.25
- (Debt impact) = (sUSD issued) + (sUSD sent to margin) - (Perp margin value) - (ETH value)
- Rebalance is called
- 9 sUSD is supplied to perp margin (to equalize value of ETH and margin balance)
- (Debt impact) = (sUSD issued) + (sUSD sent to margin) - (Perp margin value) - (ETH value)
- = 99.75 + 109 - 100 - 110 = -1.25
- ETH/USD back at $1000 (after rebalance)
- Contract holds $100 of ETH
- (Debt impact) = (sUSD issued) + (sUSD sent to margin) - (Perp margin value) - (ETH value)
- = 99.75 + 109 - 110 - 100 = -1.25
- ETH/USD at $1000
Configurable Values (Via SCCP)
N/A
Copyright
Copyright and related rights waived via CC0.