# Canonical: https://www.uddalak.xyz/hyperliquid-academy/article/98-price-time-priority-on-hypercore
# Author: Uddalak Das
# Last source: https://www.uddalak.xyz/hyperliquid-academy/article/98-price-time-priority-on-hypercore

---
title: "Price-Time Priority on HyperCore"
description: "HyperCore's central limit order books reward better prices first and earlier resting liquidity at the same price, making queue position a real part of execution quality."
pillar: "Markets & Trading"
track: "Markets & Trading"
cluster: "Markets & Trading"
level: "Intermediate"
primary_icp: ["trader", "market maker"]
secondary_icp: ["builder"]
content_type: "concept"
reading_time: "3 min"
last_reviewed: "2026-09-07"
last_verified: "2026-09-07"
volatile: false
prerequisites: ["06-order-book"]
related: ["68-market-making-on-hyperliquid", "104-how-to-read-hyperliquid-l2-order-book"]
---

# Price-Time Priority on HyperCore

In a price-time-priority order book, an order at a better price has priority over an order at a worse price. At the same price, the order that arrived earlier is normally ahead in the queue. That means a market maker's fill probability depends not only on quoted spread but on where its order sits within each price level.

## Price comes first

A buy order at a higher bid is willing to pay more, so it has execution priority over lower bids. A sell at a lower ask has priority over higher asks. A marketable incoming order consumes the best available prices before walking to worse levels.

## Time breaks ties

At one price, resting orders form a queue. Cancelling and replacing a quote can lose time priority even if the new price is unchanged.

That creates a trade-off: update stale quotes quickly or preserve queue position. A high-frequency maker model needs to estimate whether the fair-value change is large enough to justify giving up its place.

## Displayed depth hides queue ownership

An L2 level can show total size without telling a simple client exactly how much is ahead of its own order unless order-level data or account order state is combined appropriately. Fill models that assume “my 10 units are 10% of a 100-unit level” can be badly wrong.

## Taker execution

A taker crossing the spread receives the best available prices in sequence. A large order can fill across many levels, producing a volume-weighted average price that is materially worse than the best quote seen before submission.

## Why this matters for backtesting

A candle backtest has no queue. Even a historical L2 backtest needs assumptions about order arrival, latency, cancellations, and queue position. Market-making results that ignore those mechanics tend to overstate fills and understate adverse selection.

## How this connects

Start with [How an Onchain Order Book Works](/hyperliquid-academy/article/06-order-book) if the underlying concept is unfamiliar. Related reading: [Market Making on Hyperliquid](/hyperliquid-academy/article/68-market-making-on-hyperliquid), [How to Read Hyperliquid's L2 Order Book](/hyperliquid-academy/article/104-how-to-read-hyperliquid-l2-order-book).

## Sources

- https://hyperliquid.gitbook.io/hyperliquid-docs/hypercore/overview
- https://hyperliquid.gitbook.io/hyperliquid-docs/trading/market-making
