Abstract
This proposal aims to add the ETHUSD market to the Increment protocol on zkSync Era mainnet and lays out a list of the system parameters needed to create this new market.
Proposal details
Technical Implementation
The ETHUSD market is proposed to be the initial market that will be deployed on the Increment protocol. For each new market, a set of pools, tokens, and a perpetual contract will need to be deployed:
-
2 virtual tokens, one vBase (e.g. vETH) and a vQuote (e.g. vUSD)
-
1 Curve V2 pool for these 2 tokens, at their price ratio at execution
-
1 Perpetual contract, that users will interact with from the ClearingHouse contract
Upon deployment, the initial market parameters of ETHUSD are proposed to be set as the following but can be changed in the future through governance. Please note that some parameters are purposely set in a conservative manner for this initial launch.
ETHUSD Market Parameters | Description | Implementation | Contract |
---|---|---|---|
heartBeat | Maximum duration Chainlink commits to wait before updating price feed | 86400s | Oracle |
gracePeriod | Minimum period of time since sequencer is back online before oracle prices are accepted (No sequencer oracle available at the moment) | 300s | Oracle |
riskWeight | Weight of user debt in this market | 3 | Perpetual |
maxPosition | Maximum position size | 5,000 | Perpetual |
maxBlockTradeAmount | Maximum amount that can be traded per timestamp | 50,000 | Perpetual |
insuranceFee | Insurance fee charged | 0.1% | Perpetual |
twapFrequency | Frequency of TWAP updates | 15 mins | Perpetual |
sensitivity | Sensitivity of funding rate to divergence between perpetual price and underlying price | 3 | Perpetual |
maxLiquidityProvided | Maximum amount of liquidity provided | 2,000,000 | Perpetual |
lpDebtCoef | Relative weight of LPs towards their debt | 3 | Perpetual |
lockPeriod | Minimum liquidity provision duration | 1 hour | Perpetual |
Pool Parameters | Description | Implementation | Contract |
---|---|---|---|
A | Higher A increases liquidity concentrated around the current price (when the pool is near balance) | 400,000 | Curve CryptoSwap |
gamma | Controls breadth of curve and can finetune extremes. Higher gamma moves liquidity from tails closer to the center. | 0.000145 | Curve CryptoSwap |
mid_fee | Fee when the pool is maximally balanced. This is the minimum fee. | 0.26% | Curve CryptoSwap |
out_fee | Fee when the pool is imbalanced. Must be larger than the mid fee and represents the maximum fee. | 0.45% | Curve CryptoSwap |
allowed_extra_profit | Liq re-concentration can only occur if the resulting repegging_loss < (current_profit / 2 - allowed_extra_profit). So allowed extra profit is the extra profit allowed/required to be preserved while rebalancing. | 0.000002 | Curve CryptoSwap |
fee_gamma | Controls how quickly fees increase (from fee mid to fee out) with greater inbalance. | 0.00023 | Curve CryptoSwap |
adjustment_step | Minimum size of price scale adjustments | 0.000146 | Curve CryptoSwap |
ma_half_time | The EMA half life (s) used by the price oracle to dampen the effect of changes. | 600 | Curve CryptoSwap |
initial_price | At time of deployment, divide price of token 1 by token 2 | Oracle price | Curve CryptoSwap |
Market Parameters
Based on the technical system parameters listed above, the following market parameters are implied:
- Maximum account leverage before liquidation: 33x
- Maximum account leverage when opening a position: 6.66x
- Fees: Curve has a mid_fee and an out_fee. The mid_fee is the minimum fee that is charged when the pool is maximally balanced: 0.26%. The out_fee is the maximum fee that is charged when the pool is imbalanced: 0.45%. Another important parameter is fee_gamma which controls how quickly fees change from mid_fee to out_fee or vis versa as pool imbalances transform: 0.00023. The insurance fee is 0.1%
- Price for liquidations: The system uses the index price, which is currently a mock Chainlink oracle of the ETHUSD price feed.
Effect and Impact Analysis
The Increment protocol is deployed on zkSync Era, a Layer-2 protocol that scales Ethereum with cutting-edge ZK tech. At the time of writing, zkSync Era is still in the Full Launch Alpha stage and the sequencers are solely run by the Matter Labs team.
According to L2BEAT for the time being, the code that secures the system can be upgraded or changed arbitrarily and without notice by the governor, that currently is a 4 / 8 Multisig. The governor can also change the Verifier contract without notice. In addition, the sequencer cannot selectively skip transactions but can stop processing the queue entirely. In other words, if the sequencer censors or is down, it is so for everyone. That said, zkSync Era has plans to decentralize the system and allow participants in as operators in the near future.
Concerning the Increment protocol, the ETHUSD market is suggested as the initial market added to the protocol. When implementing new software systems, prioritizing risk management is crucial. Consequently, the proposed deployment of this new market is configured with a conservative set of parameters. It is possible for governance to consider easing these risk controls in the future.
Copyright
Copyright and related rights waived via CC0 .