# Hyperliquid market making: fees, API and inventory risk

> Build a Hyperliquid market-making loop with ALO orders, acknowledgments, reconciliation, stale-order cancellation, inventory caps and a kill switch.

Canonical HTML: [Hyperliquid market making: fees, API and inventory risk](https://hyperliquidreferralcodes.com/hyperliquid-market-making)
Markdown URL: [Hyperliquid market making: fees, API and inventory risk as Markdown](https://hyperliquidreferralcodes.com/markdown/hyperliquid-market-making.md)
Reviewed: 11 Aug 2026 (2026-08-11).

Bottom line: Hyperliquid documents no DMM program, special fee arrangement or latency advantage. Market makers use public interfaces and accept inventory, adverse-selection, operational and liquidation risk.

## No DMM program

The official market-making page states that there is no DMM program, special fee arrangement or latency advantage. Anyone can market-make through the public exchange interfaces and APIs.

Infrastructure location, state handling, risk limits, quoting logic and capital still affect execution results.

## Post-only intent and queue risk

ALO orders protect maker intent by preventing immediate taker execution. They do not guarantee a fill, favorable queue position or profitable spread. A Chase order reprices in the browser and is not a substitute for a server-side quoting engine.

A maker must handle partial fills, self-trade prevention, tick and lot constraints, stale quotes and cancel acknowledgements. Never assume a local order state is final until reconciled with exchange state.

## Spread and rebates must exceed real losses

Gross spread and maker rebates are only the visible revenue. Adverse selection, inventory drift, funding, hedging, failed cancels, slippage and liquidation can dominate them.

Hyperliquid’s maker-rebate tiers depend on the user’s share of rolling weighted maker volume. A zero maker-fee tier and a negative maker rebate are separate conditions; model the actual account response.

## Run a minimal control loop

Check the long cap against the current position plus all open bid size. Check the short cap against the current position minus all open ask size. A position-only check can fail when several open orders fill before the next loop.

Use scheduleCancel as a dead man's switch and renew the deadline while the process is healthy. The deadline must be at least five seconds in the future. The protocol permits at most 10 triggered cancel-all events per UTC day.

Start on testnet, then use minimal mainnet size. A backtest does not reproduce queue position or live adverse selection.

Steps:
1. Snapshot: read a fresh l2Book plus the account position, open orders and recent fills.
2. Quote: calculate ALO bid and ask prices and sizes. Include open-order exposure when you apply the inventory and notional caps.
3. Acknowledge: submit a unique cloid for each order and check every order or cancel status. Keep an order pending when the response is missing.
4. Reconcile: combine orderUpdates and userFills with an openOrders query. Query the account address, not the API wallet address.
5. Cancel stale orders: cancel each acknowledged order that uses old book data, old inventory or removed quote intent. Confirm the cancel status and reconcile again.
6. Kill switch: cancel open orders after stale data, a missed acknowledgment, feed loss, a cap breach or a loss limit. Stop new signing and require an operator reset.

Code:

~~~~text
snapshot -&gt; quote -&gt; submit -&gt; acknowledge -&gt; reconcile -&gt; cancel stale

if stale_data || acknowledgment_timeout || inventory_cap || loss_limit:
  cancel_all -&gt; stop_signing -&gt; require_operator_reset
~~~~

## Official sources

- [Hyperliquid Docs: Market making](https://hyperliquid.gitbook.io/hyperliquid-docs/trading/market-making): Official source used for the product claims on this page.
- [Hyperliquid Docs: Fees](https://hyperliquid.gitbook.io/hyperliquid-docs/trading/fees): Official source used for the product claims on this page.
- [Hyperliquid Docs: Order types](https://hyperliquid.gitbook.io/hyperliquid-docs/trading/order-types): Official source used for the product claims on this page.
- [Hyperliquid Docs: API](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api): Official source used for the product claims on this page.
- [Hyperliquid Docs: Info endpoint](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint): Official source used for the product claims on this page.
- [Hyperliquid Docs: WebSocket](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket): Official source used for the product claims on this page.
- [Hyperliquid Docs: Rate limits](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/rate-limits-and-user-limits): Official source used for the product claims on this page.

## Related pages

- [Hyperliquid API, WebSocket and Python SDK guide](https://hyperliquidreferralcodes.com/api-websocket-python): Related guide.
- [Hyperliquid order types: Chase, TWAP, stops and limits](https://hyperliquidreferralcodes.com/order-types): Related guide.
- [Hyperliquid open interest, volume and liquidity](https://hyperliquidreferralcodes.com/open-interest-volume-liquidity): Related guide.

## Publication details

- Publisher: Hyperliquid Field Guide.
- Status: Independent and unaffiliated with Hyperliquid Labs and the Hyperliquid Foundation.
- Reviewed: 11 Aug 2026 (2026-08-11).
- Affiliate disclosure: The site operator may earn protocol referral rewards when eligible users trade with code AWD. Hyperliquid controls eligibility, attribution and rewards.
- Contact: research@hyperliquidreferralcodes.com.
- Product terms: Check the linked official documentation and the official Hyperliquid app before you act.
