What we actually measured

We published 264 public order-book responses across two separate collection windows for BTC, ETH, SOL and HYPE standard perpetual markets. The latest collection contains 240 books, captured from 2026-09-19T07:16:28.397Z to 2026-09-19T07:31:14.219Z, in UTC.

Each market in the latest collection was sampled 60 times, with a planned 15-second interval. For each book, we modeled $1,000, $10,000 and $100,000 of midpoint-valued quantity, on both the buy and sell sides. Markets were requested separately rather than at one synchronized instant.

The market tables below describe the latest collection only. The earlier window is preserved in the archive section. We do not pool the two windows into a daily median or treat the unsampled gap as observed data. No wallet was connected and no order was submitted for this study.

Compare the fee saving with execution costs

At the standard tier-zero perp taker rate, an executed $100,000 fill has a $45 trading fee before reductions. A fully eligible 4% referral discount saves $1.80. Staking and other fee tiers change that fee comparison.

The tables below measure the modeled price difference against the midpoint before fees. That price difference is separate from the referral saving. Fees for a real fill depend on its executed value, which can differ from the midpoint-valued target.

The same bid/ask spread can lead to different buy and sell costs when available sizes differ. Compare your intended size and side, then check the current official order preview. A short sample cannot establish the cheapest execution time or predict your next fill.

BTC: modeled costs by size and side

Fully covered $1,000 buy samples had a median quoted spread of 0.123166 bps. The range was 0.122985 to 0.123258 bps.

Dollar and basis-point values are medians of fully covered snapshots only. Coverage shows how many captured books supported the entire modeled quantity. A missing estimate means the returned depth was insufficient for this method.

Size at midpointSideCost vs midpointCost · bpsFully covered
$1,000Buy$0.0061590.061593 bps60/60
$10,000Buy$0.0615930.061593 bps60/60
$100,000Buy$0.6159950.061599 bps60/60
$1,000Sell$0.0061580.061583 bps60/60
$10,000Sell$0.061590.06159 bps60/60
$100,000Sell$0.6160030.0616 bps59/60

ETH: modeled costs by size and side

Fully covered $1,000 buy samples had a median quoted spread of 0.38004 bps. The range was 0.379226 to 0.380409 bps.

Dollar and basis-point values are medians of fully covered snapshots only. Coverage shows how many captured books supported the entire modeled quantity. A missing estimate means the returned depth was insufficient for this method.

Size at midpointSideCost vs midpointCost · bpsFully covered
$1,000Buy$0.0190020.19002 bps60/60
$10,000Buy$0.1900240.190024 bps60/60
$100,000Buy$1.9010.19006 bps60/60
$1,000Sell$0.0190050.190053 bps60/60
$10,000Sell$0.1900530.190053 bps60/60
$100,000Sell$1.9010.190114 bps60/60

SOL: modeled costs by size and side

Fully covered $1,000 buy samples had a median quoted spread of 0.893096 bps. The range was 0.89075 to 3.563 bps.

Dollar and basis-point values are medians of fully covered snapshots only. Coverage shows how many captured books supported the entire modeled quantity. A missing estimate means the returned depth was insufficient for this method.

Size at midpointSideCost vs midpointCost · bpsFully covered
$1,000Buy$0.0446610.446608 bps60/60
$10,000Buy$0.4466480.446648 bps60/60
$100,000Buy$4.4680.446828 bps60/60
$1,000Sell$0.0446650.446648 bps60/60
$10,000Sell$0.4466480.446648 bps60/60
$100,000Sell$10.6621.066 bps60/60

HYPE: modeled costs by size and side

Fully covered $1,000 buy samples had a median quoted spread of 0.107568 bps. The range was 0.107059 to 3.229 bps.

Dollar and basis-point values are medians of fully covered snapshots only. Coverage shows how many captured books supported the entire modeled quantity. A missing estimate means the returned depth was insufficient for this method.

Size at midpointSideCost vs midpointCost · bpsFully covered
$1,000Buy$0.0053790.05379 bps60/60
$10,000Buy$0.1089960.108996 bps60/60
$100,000Buy$18.7731.877 bps26/60
$1,000Sell$0.005380.053798 bps60/60
$10,000Sell$0.5019020.501902 bps60/60
$100,000Sell$22.6382.264 bps10/60

Earlier collection: 18 September 2026

The original 24-book collection ran from 2026-09-18T13:45:06.530Z to 2026-09-18T13:45:57.975Z, in UTC. It sampled each market six times. The table below preserves its $100,000 scenarios; all sizes remain available in the downloads.

The original HYPE buy scenario had sufficient visible depth in five of six books. Its median excludes the incomplete observation and the denominator remains visible. The archived JSON and CSV are unchanged by the follow-up collection.

Differences between the two short windows cannot establish a liquidity trend, a typical daily cost or a best time to trade. Each collection has its own timestamp, sample count and results.

MarketSideCost vs midpointCost · bpsFully covered
BTCBuy$0.6309790.063098 bps6/6
BTCSell$0.6308870.063089 bps6/6
ETHBuy$2.8120.28117 bps6/6
ETHSell$1.9730.197254 bps6/6
SOLBuy$24.482.448 bps6/6
SOLSell$17.7751.778 bps6/6
HYPEBuy$15.8281.583 bps5/6
HYPESell$25.5212.552 bps6/6

How to reproduce each calculation

The public Info endpoint was called with type l2Book and the standard perpetual coin name. No price aggregation was requested. The API returns at most 20 levels on each side; it does not expose the entire book in this response.

The midpoint is the average of best bid and best ask. Requested USD notional divided by midpoint sets the base quantity. A buy consumes asks from lowest price upward; a sell consumes bids from highest price downward. Quantities are continuous and are not rounded to executable lot sizes.

Each level contributes only the quantity still required. VWAP is the sum of price times consumed quantity divided by filled quantity. Costs use the side-aware difference between VWAP and midpoint, multiplied by the requested base quantity.

The cost already includes crossing the spread. Adding the full quoted spread again would double-count part of the price cost. Trading fees, funding and transfer charges are excluded from these book estimates. Dollar labels use nominal USDC quote units without adjusting for the USDC/USD exchange rate.

The follow-up capture journal records every request, response and validation result before publication. Only local output-directory prefixes in its completion record were shortened for publication; API records and timestamps were retained unchanged.

  • Only fully covered quantities receive cost estimates. Partial coverage is never reported as a complete fill.
  • The walk stops beyond 2% from the best price on that side. Insufficient returned depth is not proof of insufficient exchange-wide liquidity.
  • Wrong market names, crossed books, invalid prices or sizes, and stale responses fail validation.
  • Median means the middle observation, or the average of the two middle values for an even count. Every table reports its complete/total denominator.
mid = (best_bid + best_ask) / 2
base_quantity = requested_usd / mid
vwap = sum(level_price × consumed_quantity) / filled_quantity
buy_cost_usd = (vwap − mid) × base_quantity
sell_cost_usd = (mid − vwap) × base_quantity
cost_bps = cost_usd / requested_usd × 10000

Check the published results offline

Save either collection’s JSON, calculation source and reproduction script in the same folder under their original names. Run the matching command below with Node.js 24 or newer. The script rebuilds the quotes and summary from the stored raw responses, without making a network request.

A successful check confirms that the published summary follows the published method and captured inputs. It does not certify the exchange feed, prove that visible orders would remain available, or establish actual trade execution.

node reproduce-orderbook-study.mjs 2026-09-19
node reproduce-orderbook-study.mjs 2026-09-18

What the sample cannot tell you

Two short collection windows are not a representative daily or monthly liquidity study. The observations are clustered in time, with a long unsampled gap. The results should not be used to rank exchanges, compare trading strategies or choose leverage.

Visible orders can be canceled or consumed before an order arrives. Latency, queue position, price movement and hidden execution behavior are not captured. A snapshot walk is an estimate, not a promised fill.

BTC, ETH, SOL and HYPE here mean standard HyperCore perpetual markets. Spot, HIP-3 markets, maker execution, rebates and market orders subject to different limits need separate analysis.

Raw observations remain dated. Rebuilding this website does not refresh the dataset. A future collection should be published with a new timestamp and method version so the old result can still be reproduced.

Frequently asked questions

Were these actual Hyperliquid trades?

No. The results model fills against public order-book snapshots. The study used no wallet, deposits or trading account.

Does insufficient visible depth mean Hyperliquid cannot fill the order?

No. The endpoint returns only a limited number of levels. Our label means the returned levels, within the method’s price limit, did not cover the entire modeled quantity.

Does a referral discount reduce spread or slippage?

The standard referral benefit reduces eligible trading fees. It does not reduce the market price difference measured in this study.