Skip to content

HIP-2: Hyperliquidity

Practitioner

HIP-2, Hyperliquidity, is a market-making strategy built into HyperCore that quotes a new HIP-1 token against USDC on a fixed ladder of 0.3 per cent steps.

Hyperliquidity gives a new token a market before any market maker arrives. HLP quotes perps off outside prices, and a new token has none. So the protocol posts ordinary orders on the HyperCore book itself.

It runs in the block transition, secured by the same consensus, with no pool, operator, keeper or user transaction; the docs call it inspired by Uniswap. Anyone can quote tighter alongside it.

Say you launch with startPx 0.5, orderSz 10,000, nOrders 400 and nSeededLevels 5. The lowest 5 levels start as USDC bids you fund (the first costs 0.5 x 10,000 = 5,000 USDC), and the other 395 as asks from supply reserved at genesis.

Parameter Meaning
spot The token’s spot pair against USDC
startPx The lowest price of the ladder
nOrders How many price levels the ladder has
orderSz The size of one full order, in tokens
nSeededLevels How many of the lowest levels start as bids instead of asks

The ladder starts at px_0 = startPx and spans about 1.003 ** nOrders: 400 levels cover about 3.3x, 1,000 about 20x. For a fixed nOrders, each extra seeded level reduces total supply.

SEEDED BIDS, USDC ASKS, FROM THE TOKEN BALANCE bid bid bid ask ask ask ask ask ask ask px0 px1 px2 px3 px4 px5 px6 px7 px8 px9 x 1.003
At launch the lowest levels are bids, the rest asks. A filled ask at px3 is re-posted as a bid at px3, so best bid and ask stay one 0.3 per cent step apart.

It updates on the first block at least 3 seconds after its last update. Each update:

  1. Targets floor(balance / orderSz) full asks plus a partial ask of balance % orderSz if non-zero (balance is its token balance). Unless the post-only (ALO) orders are rejected, these asks are guaranteed on the book.
  2. Replaces each fully filled tranche with an orderSz order on the other side: a filled ask becomes a bid, and vice versa.

The docs call it a guaranteed 0.3 per cent spread, refreshed every 3 seconds.

Parameter Value
Level spacing px_i = round(px_{i-1} * 1.003), 0.3% per level
Update cadence at most once per 3 seconds
Pairs supported spot pairs against USDC only
Cost of one seeded level px * sz USDC
Frontend check: minimum levels 10 orders
Frontend check: share of supply Hyperliquidity must exceed 1% of total supply
Frontend check: smallest order first order worth at least 1 USDC
Frontend check: market cap at startPx at most 10M USDC
Frontend check: market cap at the top level between 1B and 100B USDC

Frontend checks are client-side validations published for deployment tools; the protocol validates separately on submission.

Trading against a predictable counterparty

Section titled “Trading against a predictable counterparty”

For you as a trader, Hyperliquidity is visible and deterministic (trading against it):

  • Its next quote after a fill is predictable from the deployment parameters.
  • A level taken within 3 seconds stays empty until the next update.
  • Once its token balance is bought out, it quotes only bids until someone sells back.
  • Anyone can quote inside its spread.

Configuring it with registerHyperliquidity

Section titled “Configuring it with registerHyperliquidity”

The fifth deployment action sets it up (deploying a spot token):

  • spot is the spot pair index, not the token index; orderSz is in tokens, not wei.
  • With noHyperliquidity at genesis, pass nOrders: 0. Bridged assets usually opt out this way, per the docs.
  • Seeded bids are debited in USDC at registration.
  • With the top price computed as startPx * ceil(1.003 ** nOrders), the two market cap checks require at least 1,535 levels.
  • The Hyperliquidity account cannot be named in userGenesis; its allocation comes from its parameters, or is zeroed by noHyperliquidity.
  • Incompatible supply and Hyperliquidity parameters leave a deployment stuck, gas unrefunded. Rehearse on testnet.

For the token it quotes, see HIP-1: native token standard.