We publish three price types:
Index Price - external based aggregate spot price used for funding and collateral valuation
Last Price - fair-value price used for UI displays and optional conditional-order triggers
Mark Price - manipulation-resistant reference price used for margining, liquidations, triggering TP/SL (default), and unrealized PnL
Index Price
Index Price represents the underlying asset’s spot value derived from major spot exchanges via external aggregation.
Index Price is used for:
Funding rate calculations
Collateral asset valuation
Market fairness validation
Index Price sources
Primary: Coin Metrics
Endpoint:
/v4/timeseries/asset-metricsUpdate frequency: ~3 seconds
Constituent markets and weights
A weighted median is derived from the following constituent spot markets (USDT-quoted) for each asset:
Binance (weight 3)
OKX (weight 2)
Bybit (weight 2)
KuCoin (weight 1)
Gate.io (weight 1)
MEXC (weight 1)
Redundancy behavior
Price feeds should be obtained through both:
Coin Metrics APIs, and
Independent Synthetix-operated APIs calling exchanges directly
If a venue or upstream endpoint fails, that input is excluded (or swapped to a redundant path) and the aggregate continues using remaining sources.
Last Price
Last Price represents the current fair value of the Synthetix perpetual market. This price is used for:
Market data feeds and UI displays
An optional UI selection for conditional-order triggers
Last Price is computed as the median of:
Best Bid (highest buy order price)
Best Ask (lowest sell order price)
Last Trade (most recent execution price)
last_price = median(best_bid, best_ask, last_trade)
Last Price updates on:
Best bid/ask changes
New trade executions
Update cadence targets:
Minimum update frequency: 100ms
Maximum update frequency: 10ms (during high activity)
Last Price edge cases
Normal market:
median(bid, ask, trade)No trades yet:
median(bid, ask, mid)One-sided book: use available prices + last trade
Empty book: use last known trade price (carry forward)
Mark Price
Mark Price is the liquidation reference price designed to be manipulation-resistant through smoothing and multiple external sources. Mark Price is used for:
Real-time unrealized PnL calculations
Position liquidation thresholds
Margin requirements
Risk calculations
Funding rate premium component
Market risk service checks
The default price for conditional-order triggers
Mark Price calculation
Mark Price is derived from an external perps composite:
mark_price = external_perp_price
External perp inputs should use the mid of best bid and best ask, not the last traded price:
perp_mid = (best_bid + best_ask) / 2
Synthetix Perp Rate Calculation (external_perp_price)
A weighted median is derived from the following futures/perps markets (USDT-quoted) for each asset, with weights:
Binance (weight 3)
OKX (weight 2)
Bybit (weight 2)
KuCoin (weight 1)
Gate.io (weight 1)
MEXC (weight 1)
Synthetix (weight 1)
Hyperliquid (weight 1, if available)
Mark Price redundancy
Price feeds for constituent markets should be obtained through both:
Coin Metrics APIs, and
Independent Synthetix-operated exchange APIs
If a venue or upstream endpoint fails, that input is excluded (or swapped to a redundant path) and the aggregate continues using remaining sources.
