Every trade on Hyperliquid, an onchain crypto exchange, records the wallet on each side, so you can see who provides liquidity. We measured it for one full day, 12 November 2026, across BTC, ETH, SOL, HYPE and the most traded stock perp, xyz:NVDA, and compared BTC with Lighter, another onchain crypto exchange. We used every fill, 2.92 million rows on Hyperliquid, and the order-level book at six times of day. Hyperliquid's own vault, HLP, barely makes these markets. Dozens of separate wallets do, while Lighter's BTC maker volume comes from a handful of accounts.
Findings
- HLP's share of maker volume was under 0.06% in every market. On BTC it was 0.0016%; on xyz:NVDA, zero.
- Hyperliquid making is spread out. The top BTC maker had 10.4% of maker volume, and it took 25 wallets to reach half.
- Lighter making is concentrated. Its top BTC maker account had 36.0%, and 3 accounts reached half.
- Stock perps lean on fewer makers. On xyz:NVDA, 12 wallets made half the volume, and one wallet held 29% to 47% of the resting size near the price.
- Making is mostly cancelling. Three top BTC makers cancelled 99.1% to 99.8% of the orders they placed in an hour, and 99.7% to 100% of their orders were post-only.
Method
Each trade has a maker, whose order was resting on the book, and a taker, whose order crossed it. In the 0xArchive trades data, each trade is two rows and the maker row has crossed set to false. We summed maker notional by wallet for the whole UTC day of 12 November 2026, a Thursday. Concentration is reported three ways: the top wallet's share, the number of wallets needed to reach half of maker volume, and the Herfindahl-Hirschman index (HHI), the sum of squared shares on a scale of 0 to 10,000.
For resting liquidity, we read the order-level (L4) book, which shows every resting order and its wallet, at 00:00, 04:00, 08:00, 12:00, 16:00 and 20:00 UTC, and summed resting notional by wallet within the best 10 price levels on each side. Wallets appear as addresses. We attach no firm names, because none of these wallets is publicly claimed by its owner.
The code below reproduces the core numbers. It needs Python 3 with requests and a 0xArchive API key in OXARCHIVE_API_KEY; the Free plan's rolling 30 days covers the study day until 12 December 2026.
import os, requests
from datetime import datetime, timezone
from collections import Counter
H = {"X-API-Key": os.environ["OXARCHIVE_API_KEY"]}
B = "https://api.0xarchive.io/v1"
def fills(path, start, end):
rows, cursor = [], None
while True:
p = {"start": start, "end": end, "limit": 50000}
if cursor:
p["cursor"] = cursor
j = requests.get(f"{B}{path}", headers=H, params=p, timeout=180).json()
rows += j["data"]
cursor = j["meta"].get("next_cursor")
if not j["meta"].get("has_more"):
return rows
def concentration(shares):
"""Top-1 share, accounts needed for 50%, and the Herfindahl index (0 to 10,000)."""
v = sorted(shares.values(), reverse=True)
tot, run, n50 = sum(v), 0.0, 0
for x in v:
run += x
n50 += 1
if run >= tot / 2:
break
return "top1 %.1f%% | %d for half | HHI %d | %d makers" % (
100 * v[0] / tot, n50, round(sum((x / tot) ** 2 for x in v) * 1e4), len(v))
DAY = ("2026-11-12T00:00:00Z", "2026-11-13T00:00:00Z")
for venue, path, who in [("Hyperliquid", "/hyperliquid/trades/BTC", "user_address"),
("Lighter", "/lighter/trades/BTC", "account_index")]:
maker = Counter()
for r in fills(path, *DAY):
if not r["crossed"]: # the resting side of each trade
maker[r[who]] += float(r["price"]) * float(r["size"])
print(venue, "BTC:", concentration(maker))Hyperliquid BTC: top1 10.4% | 25 for half | HHI 221 | 5909 makers
Lighter BTC: top1 36.0% | 3 for half | HHI 1495 | 2751 makersHLP barely makes these markets
Hyperliquid's docs describe HLP as providing "liquidity to Hyperliquid through multiple market making strategies". On these markets that liquidity is close to invisible. The HLP vault has seven child addresses. Two of them made trades that day, and together with the parent they had these maker shares:
| Market | HLP share of maker volume, 12 November 2026 |
|---|---|
| BTC | 0.0016% |
| ETH | 0.0053% |
| SOL | 0.0103% |
| HYPE | 0.0564% |
| xyz:NVDA | 0.0000% |
Hyperliquid's own portfolio call agrees: the whole HLP family traded $16.83 million across all markets in the trailing day, against $3.39 billion of BTC maker volume alone. The two active children have traded about $190 billion each over their lifetimes. Their recent fills are spread across about 165 mostly small markets, which suggests HLP now makes the long tail rather than the majors. We did not measure the long tail.
Who makes Hyperliquid's majors
| Market | Top 1 | Top 10 | Wallets for half | HHI |
|---|---|---|---|---|
| BTC | 10.4% | 32.7% | 25 | 221 |
| ETH | 6.9% | 32.3% | 22 | 177 |
| SOL | 7.8% | 40.2% | 16 | 245 |
| xyz:NVDA | 12.9% | 45.7% | 12 | 361 |
HYPE fell in the same range, with an HHI between 177 and 245 and 16 to 22 wallets for half. No single wallet dominates maker volume in the majors. The same names recur, though: one wallet was a top-10 maker in four of the five Hyperliquid markets, and four more were top-10 in three.
Not every top maker is a quoting bot. Some top-10 wallets by maker volume placed only a few dozen orders all day. One of them placed 38. These look like large resting orders that got filled, not continuous quoting. We infer that from order counts only.
Lighter runs on a few accounts
Lighter identifies accounts by index rather than wallet. The same measurement, same day:
| Lighter market | Top 1 | Accounts for half | HHI |
|---|---|---|---|
| BTC | 36.0% | 3 | 1,495 |
| ETH | 29.1% | 2 | 1,389 |
| SOL | 33.3% | 2 | 1,625 |
| HYPE | 16.2% | 6 | 669 |
On BTC, Lighter's HHI was nearly seven times Hyperliquid's. Lighter identifies accounts by number, so this does not show who owns them. It measures filled volume, not resting depth: three accounts made half of what traded against Lighter's BTC book that day. For traders, this shows up as depth: in our slippage measurements, a $5 million HYPE order cost 41 bps on Lighter and 24 bps on Hyperliquid.
Stock perps lean on fewer makers
Maker volume shows who got filled. The order-level book shows who quotes near the price:
def resting(path, ts, levels=10):
"""Resting notional by wallet in the best `levels` prices on each side, from the L4 book."""
d = requests.get(f"{B}{path}", headers=H, params={"timestamp": ts, "depth": 1000}, timeout=120).json()["data"]
by = Counter()
for side in ("bids", "asks"):
seen = []
for o in d[side]:
if not seen or o["price"] != seen[-1]:
seen.append(o["price"])
if len(seen) > levels:
break
by[o["user_address"]] += o["price"] * o["size"]
return by
for path in ("/hyperliquid/orderbook/BTC/l4", "/hyperliquid/hip3/orderbook/xyz:NVDA/l4"):
by = resting(path, "2026-11-12T12:00:00Z")
tot = sum(by.values())
print(path.split("/")[-2], "12:00 | wallets", len(by), "| top wallet %.1f%% of $%.1fM resting"
% (100 * by.most_common(1)[0][1] / tot, tot / 1e6))BTC 12:00 | wallets 63 | top wallet 15.4% of $2.4M resting
xyz:NVDA 12:00 | wallets 30 | top wallet 41.3% of $1.0M restingAt midday the top wallet held 15.4% of BTC's resting size in the best 10 levels, and 41.3% of xyz:NVDA's. Across all six snapshots, xyz:NVDA's top wallet held 28.7% to 46.7%, with an HHI of 1,458 to 2,718. BTC's top wallet held 14.5% to 21.8% at five snapshots, with a one-off 44.8% at 16:00. Two wallets were in xyz:NVDA's top five at all six snapshots. Within 10 bps of the mid, 31 to 56 wallets quoted xyz:NVDA, against 138 to 178 on BTC.
A stock perp's depth near the price rests on two or three wallets through the day. For the taker side of the same market, see our study of who trades on trade.xyz.
What making looks like in orders
We followed three of the top BTC makers through one hour of raw order events, 18:01 to 19:01 UTC on 13 November:
- Each placed 20,000 to 44,000 orders and got 64 to 117 fills.
- 99.1% to 99.8% of placed orders were cancelled within the hour.
- 99.7% to 100% were post-only (
Alo), which guarantees they never take liquidity. - Median time to cancel was 0.5 to 3.2 seconds.
The top makers were also present at the touch all day. Of the day's top 10 BTC makers, 4 to 8 were in the best 10 levels at every snapshot, holding 32% to 58% of that resting size.
Taker flow can be more concentrated than maker flow
On ETH, the top taker had 15.7% of taker volume and 6 wallets made half, against 22 wallets for half on the maker side. xyz:NVDA had 19,032 taker wallets and 4,161 makers.
Limits of this study
- One day. Concentration can shift with volatility and between weekdays and weekends.
- Five Hyperliquid markets and four Lighter markets, all large. The long tail is not covered.
- One firm can run many wallets, so concentration by owner may be higher than by wallet.
- Six book snapshots. The resting picture between them is not measured.
Reproduce it
Hyperliquid's own API cannot run this study. It has no market-wide fill endpoint; recentTrades returns the last 10 trades, about 2 to 5 seconds of BTC. Its book call returns 20 price levels with order counts and no wallets. Per-wallet fill history stops at a floor, and for HLP's children the study day was already out of reach on 13 November.
The 0xArchive trades route returned the five Hyperliquid markets for the day in 61 requests, and the L4 book returned 18 snapshots in 18 requests. To run it on other days or markets, change DAY and the paths above. For order-level history, see the L4 order data guide.
FAQ
Who are the market makers on Hyperliquid?
Independent wallets. On BTC on 12 November 2026, 5,909 wallets made markets and 25 of them provided half the maker volume. HLP, Hyperliquid's vault, provided 0.0016%.
Does HLP make markets on Hyperliquid?
Barely on the major markets: under 0.06% of maker volume on BTC, ETH, SOL, HYPE and xyz:NVDA in our study. Its fills are spread across many small markets.
Is liquidity on Lighter more concentrated than on Hyperliquid?
Yes, on the markets we measured. Three accounts made half of Lighter's BTC maker volume, against 25 wallets on Hyperliquid.
How do I find the market makers for a Hyperliquid market?
Sum maker notional by wallet from a day of fills, as in the method above. The L4 book shows who rests near the price.
Next steps
- Order-level data: L1, L2, L3 and L4 market data explained.
- See depth over time: build a Hyperliquid order book heatmap.
- Classify wallets: HIP-3 wallet classification.
- Start with a free API key.