All research
6 min readMicrostructurePerpetuals

Mark is not mid: the oracle-gap trap in builder-perp dispersion

Two HIP-3 builders list the same underlying 44 bps apart on the mark — and 3 bps apart on the executable mid. A note on why a dispersion screen built on mark price finds opportunities that aren't there.

Hyperliquid's HIP-3 lets independent builders deploy their own perpetual DEXs on the shared exchange. A side effect that looks like an opportunity: several builders list the same underlying — the same equity, commodity, or index, each behind a different builder. Same asset, two venues, one account and one clock and one settlement layer. The obvious question is whether the two prices converge and whether you can trade the gap. The obvious screen is to pull each builder's price for the shared name and rank the dispersion. Run that screen on the field the API hands you first — the mark price — and it lights up: on one liquid name, two builders forty-four basis points apart; on the illiquid tail, hundreds of basis points. Almost none of it is real.

The field you used is not the field you trade

On these venues the mark price is, to a close approximation, the builder's oracle, and each builder runs its own oracle. The funding mechanism exists precisely to pin each perp's mark to its own oracle. So a cross-builder gap measured on the mark is, mechanically, the two oracles disagreeing — and an oracle disagreement is not a quantity you can execute against. It is a difference between two reference prices, each of which the venue is actively tethering its own contract to. Nothing in that gap is an order you can hit.

What the executable price says

Record the top of book — the bid, the ask, and the mid — alongside the mark on the same overlaps, across a session, and the picture inverts. The name that showed a forty-four basis point gap on the mark showed roughly three basis points on the mid, inside spreads under five basis points. Across the liquid overlaps the mid dispersion was single-digit basis points with a standard deviation of two to four — call it five times smaller than the round-trip spread you would pay to trade it. The mids are already arbitraged tight. Only the marks roam, because only the marks are oracles, and the oracles are the part nobody has to keep aligned.

The tell is in the decomposition: mark dispersion tracked oracle dispersion almost exactly, row after row. When the gap you are measuring equals the gap between two reference feeds, you are measuring the feeds, not the market. The mid is where the arbitrageurs have already done the work; the mark is a lagging reference that never had to clear.

The rule, and the structure behind it

Any dispersion or relative-value screen on a perp surface has to run on the executable price — the mid, and ideally net of the impact spread — never on the mark or oracle. The mark is the right field for risk and for funding; it is the wrong field for opportunity, because it bakes in the oracle's lag, which is exactly the component you cannot capture. A screen that ranks marks is ranking which builders' oracles disagree most. That is a fine thing to know and a terrible thing to trade.

There is a real structure underneath — same-underlying, different-builder is an oracle basis rather than a statistical arb, and it is genuinely novel to the builder-perp design. But its executable size is tiny, because the arbitrageurs keep the mids aligned even when the underlying is closed: over a weekend, with the referenced asset frozen, the builder perps kept trading and their mids stayed within a few basis points of each other while the marks drifted. Whatever opportunity exists lives in transient mid dislocations during fast moves — a recording question, answered by taping the executable book through a volatile session, not a screen-the-mark question answered in one snapshot.

What this is not

It is not a claim that the mark price is broken. The mark is doing its job — anchoring funding and margining risk — and it does that job well. It is a claim about using the right field for the question you are actually asking. The screen that finds forty-four basis points is measuring the oracle. The screen that finds three is measuring the trade. Only one of those numbers has a fill behind it.