Index Price & Mark Price

To ensure market integrity and protect against manipulation, SoDEX utilizes a robust, multi-faceted pricing system. This system is built on two core concepts: the Index Price and the Mark Price. Each serves a distinct purpose and is calculated using different data sources to provide a reliable and fair valuation for perpetual contracts.

Index Price

The Index Price represents the fair market value of the underlying spot asset, aggregated from multiple high-liquidity exchanges. To ensure robustness and prevent stale or manipulated inputs:

  • Any exchange price is excluded if no trade occurred in the past 60 seconds

  • The Index Price is computed as a median-based aggregation across all valid spot exchanges

Calculation Method

The Index Price is calculated as a weighted median of the mid-prices of the corresponding spot asset, from a basket of major, high-liquidity exchanges. The weights are assigned based on the relative trading volume and reliability of each exchange.

Let PiP_i be the latest valid spot price from exchange ii

Index Price=Weighted Median(P1,P2,...,Pn)\text{Index Price} = \text{Weighted Median}(P_1, P_2, ..., P_n)
Valid(Pi)={true,if last trade 60sfalse,otherwise\text{Valid}(P_i) = \begin{cases} \text{true}, & \text{if last trade } \le 60s \\ \text{false}, & \text{otherwise} \end{cases}

Mark Price

The Mark Price is a manipulation-resistant reference price used for all core risk-management functions, including margin evaluation, liquidation triggers, unrealized PnL calculation, and fair account health assessment across the perpetual trading system.

It combines the global fair value of the underlying asset with SoDEX local liquidity signals through a multi-source median mechanism, ensuring stable and fair valuation throughout different market conditions.

Calculation Method

To ensure a fair and stable valuation, the Mark Price is determined by combining multiple independent price signals:

Mark Price=Median(Index Price,Smoothed Index Price,Local Price,External Perp Mid Price)\text{Mark Price} = \text{Median}(\text{Index Price}, \text{Smoothed Index Price}, \text{Local Price}, \text{External Perp Mid Price})
  1. Index Price

  2. Smoothed Index Price A stability-enhanced version of the Index Price, adjusted by a short-term EMA to avoid sudden deviations.

Smoothed Index Price=Index Price+EMA150s(Index PriceMid Price)\text{Smoothed Index Price} = \text{Index Price} + EMA_{150s}(\text{Index Price} - \text{Mid Price})
  1. SoDEX Local Price Represents real trading conditions on SoDEX, based on the median of best bid, best ask, and mid price.

Local Price=Median(Best Bid,Best Ask,Last Trade Price)\text{Local Price} = \text{Median}(\text{Best Bid}, \text{Best Ask}, \text{Last Trade Price})
  1. External Perp Mid Price Provides additional reference from leading derivatives exchanges to maintain alignment with broader perp markets.

External Perp Mid Price=Ext Best Bid+Ext Best Ask2\text{External Perp Mid Price} = \frac{\text{Ext Best Bid} + \text{Ext Best Ask}}{2}
  1. smoothed local pricing. If only two price sources are valid, smoothed local pricing is added to maintain stability and manipulation-resistance.

Smoothed Local Price=EMA30s(Local Price)\text{Smoothed Local Price} = EMA_{30s}(\text{Local Price})

Last updated