Hyperliquidity for traders
Hyperliquidity is a protocol-run ladder of post-only orders 0.3 per cent apart, refreshed at most every 3 seconds, that gives a new token two-sided liquidity without a market maker.
A new token has no outside price to quote from. HLP quotes perps off centralised exchange prices; HIP-2 gives spot tokens a ladder that needs none.
The ladder runs in HyperCore’s block logic under the same consensus as the order book, with no operator. Modelled on an automated market maker’s price range, it quotes on the ordinary book, where anyone can quote alongside, inside or ahead of it.
Say the lowest ask sits at 1.000 USDC and each level holds 1,000 tokens. You buy 3,000:
- You fill 1,000 at 1.000, 1,000 at 1.003 and 1,000 at about 1.006, for about 3,009 USDC.
- At the next update, 3 seconds or more later, those levels flip to bids at the same prices: if the price falls, Hyperliquidity buys back down the ladder.
Five parameters set the ladder
Section titled “Five parameters set the ladder”The deployer sets them at launch: the spot pair, startPx, nOrders, a size per order orderSz, and nSeededLevels.
Price grid. Each level is 0.3 per cent above the one below:
px_0 = startPxpx_i = round(px_(i-1) * 1.003)Inventory. The token’s Hyperliquidity allocation sits as asks; the lowest nSeededLevels levels start as deployer-funded bids instead (sizes in the table below).
Update. On the first block at least 3 seconds after the last update, every completely filled level is reposted at full size on the other side, restoring a one-level spread of 0.3 per cent. The spread holds only where there is inventory on both sides.
Post-only. A placement that would cross a resting order is rejected, leaving that level empty for the update; the docs guarantee the orders only “to the extent that ALO orders are not rejected”.
Finite range. The ladder runs from px_0 to px_(nOrders - 1): no asks above, no bids below, and depth inside set by how much inventory has changed hands.
The numbers
Section titled “The numbers”| Parameter | Value |
|---|---|
| Quote asset | USDC only |
| Level spacing | 0.3% (px_i = round(px_(i-1) * 1.003)) |
| Refresh | first block at least 3 s after the previous update |
| Size per level | orderSz, set by the deployer; one partial level for the remainder |
| Seeded bid levels | nSeededLevels, each funded with px * sz USDC by the deployer |
Price after walking k levels |
px * 1.003^k, before rounding |
| 100 levels | about 35% |
| Doubling | about 232 levels |
| 100 times the start price | about 1,538 levels |
Official frontend checks, client-side and not necessarily protocol rules:
| Frontend check | Limit |
|---|---|
| Number of orders | at least 10 |
| Hyperliquidity share of total supply | more than 1% |
| Market cap at the start price | under 10M USDC |
| Market cap at the top of the ladder | between 1B and 100B USDC |
| First order | at least 1 USDC |
Together they force a ladder spanning at least 100 times in price, about 1,538 levels.
Trading against the ladder
Section titled “Trading against the ladder”- A market buy walks up level by level, so size it against the ladder (order types).
- Quote inside the 0.3 per cent gap to sit ahead of Hyperliquidity; its post-only orders won’t cross yours.
- It moves only on trades, so a gap to another venue lasts until someone arbitrages it.
- Check the seeded bids, the only protocol bids at launch:
seededUsdcintokenDetails(native tokens).
Registering a ladder
Section titled “Registering a ladder”One action registers it:
{ "type": "spotDeploy", "registerHyperliquidity": { "spot": 1, "startPx": "0.05", "orderSz": "10000", "nOrders": 1600, "nSeededLevels": 2 }}spotis the pair index, not the token index;orderSzis in tokens, not wei.- A token deployed with
noHyperliquiditymust sendnOrders: 0. spotDeployStatereportshyperliquidityGenesisBalanceduring deployment;tokenDetailsreportsseededUsdcafterwards.- In
l2Bookthe ladder’s levels carrypx,szand an order countn, with no owner.
Rounding, partial fills, bridged tokens
Section titled “Rounding, partial fills, bridged tokens”- Rounding makes levels not exactly 1.003 apart: compute them with the recursion, not a power.
- Only completely filled levels flip; a partly filled level stays on its side.
- Bridged assets usually launch without Hyperliquidity, so their books depend on other traders.
For the standard, see HIP-2; for choosing parameters, see Deploying a spot token.