Whitepaper / MARK CONSTRUCTION AND EXECUTABLE PRICE
Dexter whitepaper

MARK CONSTRUCTION AND EXECUTABLE PRICE

The mark is the price every position on Dexter is measured against — your unrealized PnL, your funding stamp, your liquidation distance, your -4% daily and -8% total challenge checks, and the leaderboard ranking that decides who hits the podium and who pays for the next $49–$299 reset. So how the mark is built — what blends into it, which guards reject a bad tick before it lands, and why the venue cannot quietly tilt it in either direction — is the most consequential mechanism in the protocol. This page lists the exact inputs and the order in which they are applied.

Page last sync: May 24, 2026
Sections 3 Read 1 min Whitepaper chapter

The executable mark is constructed from five inputs every tick, applied in a fixed order. The reference anchor (Hermes/Pyth primary cross-checked against the HTTP oracle mux) sets the starting point. Venue skew, spread posture, depth checks, and max-move continuity then shape and constrain it. None of the four follow-on inputs can push the mark against the reference — they can only restrict it, widen it, or reject it.

Input into the mark Why it matters
Reference anchor Hermes/Pyth primary plus the HTTP oracle mux cross-check, both within freshness window and deviation band — the only input that originates the mark level
Spread posture The venue widens spread around the reference when liquidity tightens or volatility spikes, so the mark reflects what Dexter can actually fill, not the tightest tick visible outside
Skew and open-interest pressure Heavy one-sided open interest produces a skew adjustment that prevents crowded positioning from being marked at a neutral price; this also shows up in the funding rate
Depth and book checks If top-of-book depth falls below the per-market floor, the mark widens or the market downgrades — a thin book never gets to define the executable level on its own
Max-move and continuity guards The mark cannot jump more than the per-tick drift cap from the prior accepted mark; a discontinuity that large triggers reduced posture and a stabilization window before normal trading resumes

#From reference to tradable price

Every tick begins with the accepted reference path agreed between the Hermes/Pyth primary and the HTTP oracle mux cross-check. That reference number is not yet tradable — it describes the outside market, not Dexter's current capacity to fill against it. The engine then layers the four follow-on inputs in sequence: spread posture widens or tightens the band around the reference based on current venue liquidity, the skew adjustment pushes the mark toward whichever side is being squeezed by one-sided open interest, depth checks confirm the venue book can absorb minimum size at the resulting level, and the max-move continuity guard verifies the result is within the per-tick drift cap from the prior accepted mark.

Only after all four pass does the new mark become the executable level the matching engine will fill against, the rule engine will check drawdowns against, and the funding engine will sample. The executable mark is therefore venue pricing — a number Dexter can defend filling against right now — not feed ingestion. The reference says "the outside market is here." The mark says "this is what we can responsibly trade against, this tick, given current book and posture."

#Executable mark versus external index

An external index — Pyth aggregate, an exchange index, a TWAP — describes where the outside market is printing. The executable mark describes where Dexter is willing to fill, mark equity, and trigger liquidations this tick. The two diverge whenever the venue's local conditions diverge from the outside picture: a thin book widens the executable spread even though the index keeps printing tight, a crowded one-sided OI pushes the executable mark off the index to bleed the funding rate against the crowded side, a sudden index gap larger than the per-tick drift cap is clipped to the maximum allowed move while the underlying recovers.

Under stress, the venue keeps the market open with tighter posture (reduced) before considering halting it. Under heavier stress it moves to close-only, then halted, instead of presenting the raw reference as if it were still fillable. Session-closed is a separate state used only when the underlying market is on a published schedule — equity, metal, and energy perps — and is documented on Sessions and degraded states.

TEXT
 accepted source set (Hermes primary + HTTP cross-check)
   -> freshness window + deviation band pass
   -> reference anchor accepted
   -> spread posture widens band around the anchor
   -> skew pressure adjusts mark toward the squeezed side
   -> depth guard verifies minimum book at the level
   -> max-move continuity check vs prior accepted mark
   -> executable mark becomes active
   -> funding, liquidation, drawdown checks, leaderboard PnL
        all sample the same mark

#Review standard for the mark

The right question to hold the price layer to is not "can Dexter show a number" — any feed can show a number. It is "can Dexter explain, after the fact, why a particular tick was safe enough to mark equity against, fund 90 / 10 funded accounts on, and trigger a -4% daily breach off." Mark construction is the answer: every executable mark is traceable to a specific reference pair, a specific spread and skew posture, a depth observation, and a continuity guard outcome — all hashed into the source-posture commitment that lives inside the next state root. A reviewer pulling root R from the Base contract can reconstruct which mark fired which liquidation, the same way the matching engine did at the time.