Trading the HLP Vault: How Hyperliquid's Liquidity Provider Works
The Hyperliquid HLP vault earns from liquidations, maker fills and fees. Here's how it works, when depositing beats your own maker, and how to model drawdown.
HLP is Hyperliquid's protocol-run market-making vault, and depositing into it makes you a passive counterparty to nearly every liquidation and a chunk of the maker flow on the exchange. You put USDC in, you get a share of the vault's PnL, and the vault does the trading. No quoting, no inventory management, no keeper infrastructure. That's the pitch. Whether it's a good trade depends entirely on understanding what the vault is actually doing with your capital, because "passive market-making yield" hides a book that can and does draw down hard.
What HLP actually does
HLP runs three overlapping strategies, and the revenue mix matters because each one has a different risk shape.
Liquidations. When a position on Hyperliquid gets liquidated, the clearinghouse doesn't dump it on the open book at any price. It hands the position to the liquidator — and HLP is the backstop liquidator for most of the exchange. The vault absorbs the underwater position at the liquidation price and then works out of it. In a normal liquidation this is pure edge: HLP takes over a position that's already been marked down past the maintenance margin, and the remaining margin is the buffer. The mechanics of how the clearinghouse marks, margins and hands off these positions are worth understanding on their own if you're building anything liquidation-adjacent — we walk through them in detail in the Hyperliquid clearinghouse and liquidation writeup.
Market making. HLP also quotes the book directly, posting bids and asks around fair value and collecting the spread plus maker rebates. This is the same game a private maker plays, just at protocol scale with a very large balance sheet behind it.
Fees. A share of exchange trading fees routes to HLP. This is the least glamorous and most reliable leg — it's a cut of volume, not a directional bet.
The important part: the first two strategies mean HLP is systematically short gamma. It gets handed positions precisely when the market is moving fast against the liquidated trader, which is exactly when inventory is hardest to offload. Most days this pays. On the bad days — a violent liquidation cascade where the vault inherits a pile of losing longs into a waterfall — it eats the drawdown so the exchange stays solvent. You're getting paid a premium for underwriting tail risk. Price it that way.
Where the yield actually comes from
Rough decomposition of HLP returns, in order of stability:
- Fee share — steady, scales with exchange volume, low variance.
- Maker spread + rebates — steady in calm markets, compresses when volatility spikes and spreads widen against you.
- Liquidation capture — lumpy and positively skewed most of the time, with a fat left tail during cascades.
The headline APR you see quoted is a trailing average that blends all three. It looks smooth until it isn't. A single bad liquidation event can erase weeks of accumulated spread and fee income in an afternoon, and the vault's equity curve reflects that: long stretches of grind-up punctuated by sharp cliffs.
When depositing beats running your own maker
This is the real decision, and the honest answer is that HLP wins for most people who think they want to run a maker.
Depositing makes sense when:
- You don't have low-latency infrastructure colocated near Hyperliquid's matching. Building a competitive maker means a real setup — see what that involves in our Python and Rust API trading guide.
- Your capital is small enough that your own quotes would get adversely selected by faster players. HLP's scale and fee share are an edge you can't replicate at $50k.
- You want exposure to maker flow without babysitting an inventory book through funding flips and volatility regimes.
Running your own maker beats HLP when:
- You can quote a specific asset better than a generalized vault — tighter, smarter inventory skew, a real view on funding. A dedicated Hyperliquid market-making system can concentrate on the two or three markets where you have an edge instead of spreading a balance sheet across everything.
- You want to control your own drawdown. In HLP you're pooled; a cascade hits your NAV whether or not you'd have taken that risk. Your own perps bot lets you set your own liquidation-avoidance and de-risking rules.
- You have a strategy HLP doesn't run at all — funding-rate arbitrage against a CEX, for example, which is a fundamentally different trade we cover in the funding arbitrage breakdown.
Modeling the drawdown risk
Don't trust the quoted APR — model the equity curve. Pull HLP's historical NAV series from the info endpoint and look at the distribution of returns, not the mean.
Here's the minimum I'd compute before depositing size:
import numpy as np
# nav: daily HLP vault NAV series (USDC), oldest -> newest
nav = np.array(nav_series, dtype=float)
ret = np.diff(nav) / nav[:-1]
ann_return = (1 + ret.mean())**365 - 1
ann_vol = ret.std() * np.sqrt(365)
sharpe = ann_return / ann_vol
# max drawdown on the actual equity curve
peak = np.maximum.accumulate(nav)
dd = (nav - peak) / peak
max_dd = dd.min()
# tail: how bad is a bad day?
var99 = np.percentile(ret, 1) # 1-day 99% VaR
worst = ret.min()
print(f"APR ~{ann_return:.1%} vol {ann_vol:.1%} sharpe {sharpe:.2f}")
print(f"max drawdown {max_dd:.1%} 1d 99% VaR {var99:.2%} worst day {worst:.2%}")
The two numbers that decide the trade are max_dd and the worst-day return. If the vault has historically drawn down 30-40% in a cascade, then a 15% quoted APR is compensation for carrying a 30%+ tail — that's a real risk premium, not free yield. Size your deposit so that the historical max drawdown is a loss you can actually sit through without redeeming at the bottom, because redemptions during stress are exactly when the vault is most fragile and the exit is worst.
One gotcha worth stating plainly: there's a withdrawal delay on HLP. You cannot instantly pull capital the moment things look ugly, which means your drawdown tolerance has to be set in advance, not discovered mid-cascade. Treat the deposit like a lockup, not a money-market account.
A quick worked example
Say HLP shows a trailing 14% APR, 9% annualized vol, and a historical max drawdown of 33%. Sharpe near 1.5 looks great. But the return distribution is left-skewed — most days are small positives, and the drawdown came from a handful of cascade days. If you deposit $200k, the model says a repeat of the worst historical event is roughly a $66k unrealized loss you'd have to hold through a withdrawal delay. If that's fine, deposit. If it isn't, either size down or build the maker yourself where you control the risk. There's no third answer that gives you the yield without the tail.
If you want help deciding between depositing and running your own book — or building the monitoring to watch either one in real time — a purpose-built trading dashboard is the fastest way to see the risk you're actually holding.
Need a bot like this built?
We design, build and run trading bots on Solana, Hyperliquid and Polymarket.
Start a projectMore from the blog
Public vs Paid RPC: How to Run a Fair Benchmark
A fair comparison of public and paid RPC endpoints must account for quotas, workload, freshness and support guarantees.
Read articleRPC Benchmark Percentiles Explained: p50, p95 and p99
Why averages hide the latency spikes that break trading bots, wallets and production blockchain applications.
Read articleHyperliquid REST vs WebSocket Benchmark: What to Measure
A benchmark plan for Hyperliquid market data that separates request latency from streaming freshness and recovery.
Read article