Pricing Model
VDEX uses a structured set of reference prices to ensure fair trading, accurate risk management, and robust protection against manipulation. This section outlines the key prices integrated into the protocol’s core logic.
Price
This is the primary trading price displayed to users on the platform. It reflects the latest available execution price from the order book and provides a real-time view of where the market is trading.
Used for UI display and user interaction.
Not used for risk logic (e.g., liquidations or funding).
While it is generally aligned with the last traded price, it does not serve as a reference for margining or liquidation.
Impact Price
The impact price measures the average execution price of a simulated trade of a specific notional size (e.g. $50,000), accounting for current liquidity.
Used to determine funding rates and premium index
Reflects true executable price, beyond surface-level quotes
Ignores sparse or artificial orders that may distort the mid or last price
This price ensures funding calculations are based on real market depth, not easily manipulated levels.
Mark Price The mark price is a manipulation-resistant estimate of an asset’s fair value, used in critical risk management systems such as:
Margining
Liquidations
Unrealized PnL calculations
Take-profit and stop-loss triggers
It is calculated as a median of multiple sources, including:
The oracle price plus an EMA adjustment based on the difference between VDEX’s internal price and the oracle
The median of VDEX’s best bid, best ask, and last trade
External market prices, weighted by source reliability (e.g., Binance)
Mark price updates approximately every three seconds, trailing fast price movements to prevent false liquidations during periods of volatility.
The exponential moving average (EMA) is updated using the following method. Let sample
be the new data point, and let t
be the time (in minutes) since the last update.
The EMA is defined as:
ema = numerator / denominator
numerator -> numerator * exp(-t / 2.5 minutes) + sample * t
denominator -> denominator * exp(-t / 2.5 minutes) + t
This formulation applies a decay factor over a 2.5-minute window, giving more weight to recent values while smoothing out short-term noise. The longer it has been since the last update, the less influence past values have on the current EMA.
Oracle Price
The oracle price represents the external spot market value of an asset and serves as a trusted reference throughout the system. It is computed as a weighted median of prices from multiple centralized exchanges and is updated approximately every three seconds by the validator network.
The oracle serves as the primary input for mark price and premium index calculations. It is constructed to be independent of internal trading activity, ensuring resistance to manipulation and alignment with broader market conditions.
Last updated