TradingLive

Perp DEX execution quality: slippage on a $100k market order, live across orderbook venues

Half-spread plus price impact in basis points to fill a $100,000 market buy against each venue's live orderbook, fee excluded, on ETH, BTC and SOL. Lower means the venue fills the size closer to mid. Books walked every 30 seconds across 9 orderbook perp DEXs, including Hyperliquid, Lighter, Aster, Extended, dYdX v4, Paradex, Ondo Perps, Polymarket and edgeX.

TL;DR. As of , Hyperliquid posts the lowest slippage at $100k at 0.0034% (24h avg) across 9 ranked venues. Source: OpenChainBench, https://openchainbench.com/benchmarks/perp-execution-quality.

Rack-rate taker fees do not tell a trader which perp DEX fills a market order closer to mid: that depends on the depth of the visible orderbook at the notional being traded, and books move continuously. This benchmark isolates the execution component of the perp-fees bench: the same 30 second orderbook walks, the same $1k to $1M tiers, but with the taker fee taken out, so a zero-fee venue and a 5 bps venue are compared on depth alone. The headline is the $100,000 buy, the size where impact starts to separate venues (at $1,000 every deep book fills within a fraction of a basis point). ETH is the headline tab; BTC and SOL have their own rankings, and the $1k, $10k and $1M tiers are published as raw series. Oracle-priced venues (GMX v2, Gains) have no book to walk and are left out; their fixed spread parameter is part of their all-in figure on the perp-fees bench.

Methodology

Every 30 seconds the perp-fees harness fetches the public orderbook of each venue for ETH, BTC and SOL, computes the top-of-book mid and walks the ask side for $1,000, $10,000, $100,000 and $1,000,000 of notional, consuming levels until the size is filled. The size-weighted average execution price against mid, in basis points, is the slippage of a market buy at that size. The harness publishes the all-in cost per tier (perp_fees_all_in_bps_tier{venue,chain,notional}) and the taker fee (perp_fees_taker_fee_bps{venue,chain}); this bench subtracts the second from the first and ranks venues on the 24 hour average at the $100,000 tier. A tier the visible book cannot fill is dropped for that tick and counted in perp_fees_tier_skipped_total instead of being extrapolated. No trades are placed; every value comes from public, unauthenticated REST endpoints.

Results: 9 venues ranked by Slippage at $100k (24h avg)

Perp DEX execution quality: slippage on a $100k market order, live across orderbook venues: Slippage at $100k per venue (24h avg).
Venuesp50Success
1Hyperliquid0.0034%98.61%
2Extended0.0036%100.00%
3edgeX0.0057%100.00%
4Aster0.0058%100.00%
5Lighter0.0082%99.65%
6Polymarket0.017%100.00%
7Ondo Perps0.037%100.00%
8Paradex0.050%100.00%
9dYdX v40.095%100.00%

Frequently asked

Which perp DEX has the lowest slippage on a $100k market order right now?

Hyperliquid at 0.0034% on ETH (24 h average), ahead of 9 orderbook venues. The ranking re-sorts every minute from the last 24 hours of 30 second orderbook walks, and the BTC and SOL tabs rank the same venues on their own books.

How is slippage computed here?

The harness reads each venue's public orderbook, takes mid as (best bid + best ask) / 2 and walks the ask side until $100,000 of notional is filled. The size-weighted average fill price against mid, in basis points, is the slippage. It includes half the quoted spread and the impact of eating through levels; it excludes the taker fee.

Why is the fee left out when perp-fees already exists?

perp-fees ranks the all-in cost (fee plus spread plus impact) and a zero-fee venue can win it on the fee alone. This bench removes the fee so the comparison is about book depth: how much the fill price moves for a given size. Both numbers matter; a trader with a fee rebate or a large clip reads this one.

Why are GMX v2 and Gains missing?

They price against an oracle with a fixed spread and impact parameter instead of an orderbook, so there is no depth to walk and their tiers are flat. They are ranked on perp-fees, where the fee and the spread parameter are added together.

What happens when a book cannot fill $100k?

The tier is skipped for that tick and counted in perp_fees_tier_skipped_total instead of being extrapolated from the last visible level. Paradex (100 visible levels) and edgeX (200) are the venues where this happens on thin sessions; the sample size column shows how many ticks made it into the 24 h average.

Does this measure what I would pay on the venue's UI?

For the book component, yes: the walk uses the same public book the UI shows, at the same instant. On Paradex it reads the interactive book that Retail (UI) orders cross, RPI liquidity included; a plain API order on Paradex sees a thinner book. Latency, partial fills and price protection settings can still move an actual fill.

What about the $BOT bench that used to live here?

The earlier version of this page compared Lighter and Hyperliquid HIP-3 on the $BOT perp alone; that data still runs in the perp-execution-scanner harness. This page now ranks the whole orderbook cohort on ETH, BTC and SOL, which is what most readers asked it.

Source code github.com/ChainBench/OpenChainBench/tree/main/harnesses/perp-fees