[IEP #1] Add ETHUSD market on zkSync Era


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 and related rights waived via CC0 .