Order Priority
How orders are routed, who gets to fill them, and in what order.
Orderbook Fundamentalsโ
Hypercall runs a central limit order book (CLOB) for options and perpetual futures. All resting orders are limit orders. There are no market orders as a distinct type.
Price-Time Priorityโ
Orders on the book are matched using price-time priority:
- Price: the best-priced resting order fills first. Bids ranked highest-first, asks ranked lowest-first.
- Time: at the same price level, the order that arrived earliest fills first.
When an incoming order crosses resting liquidity, it fills immediately against the best available prices. Any unfilled remainder rests on the book (or is cancelled, depending on time-in-force).
Time-in-Forceโ
Every order includes a time-in-force (TIF) instruction:
There is no dedicated "market order" type. To get market-order behavior, submit a limit order with TIF set to IOC at a price you are willing to pay. The order crosses whatever is available and cancels any unfilled portion.
Maker and Takerโ
Every fill has two sides:
- The maker is the party whose order was already resting on the book.
- The taker is the party whose incoming order crossed it.
Makers pay 0.02% fees, takers pay 0.05%. See Fees for full details.
Order Typesโ
Hypercall supports several execution paths depending on what you are trading and how you submit:
Limit Order
Single-leg options, direct to book
- Standard limit order on the orderbook
- Crosses resting liquidity or rests at your price
- Available on orderbook-only instruments
- Time-in-force: GTC, IOC, or FOK
RPI Order
Single-leg options, auction + book
- Automatic on RFQ-eligible instruments
- 2-second MM auction before the book
- MMs must beat the reference price by โฅ 1 tick
- Falls back to a standard limit order if no MM fills
RFQ
Multi-leg packages
- Request for Quote to professional market makers
- Manual accept or auto-execute with a limit
- Atomic fill: entire package or nothing
- No orderbook fallback for multi-leg
Limit Ordersโ
The simplest path. You submit a price, size, side, and symbol. The engine checks your margin, validates your EIP-712 signature, and places the order on the book.
If the book has resting liquidity at or better than your limit, you cross immediately. Otherwise, your order rests until filled or cancelled.
This is the execution path for instruments configured as orderbook-only (no RFQ/RPI layer).
RPI Orders (Retail Price Improvement)โ
On instruments configured for both orderbook and RFQ, single-leg orders automatically enter a two-phase execution pipeline. This is the default path on the Hypercall frontend.
Phase 1: RPI Auction
Market makers compete to fill your order
- Order is broadcast to all connected quote providers
- Each market maker has 2 seconds to respond with a firm quote
- Every quote must be strictly better than the reference price
- Best-priced quote wins (ties broken by arrival time)
- Auction closes early if all market makers respond
- If a qualifying quote wins, you are filled immediately with price improvement
Phase 2: Limit Fallback
Your order becomes a standard limit order
- Activates only if Phase 1 produces no qualifying fill
- Order is placed on the orderbook at your original limit price
- Crosses immediately if resting liquidity exists at or better than your limit
- Otherwise, order rests until filled or cancelled
- Standard time-in-force applies (GTC, IOC, FOK)
- Total latency from submission to Phase 2: ~2 seconds
The structural logic comes from equity market programs like CBOE BYX's Retail Price Improvement and the NYSE Retail Liquidity Program: market makers earn the privilege of seeing your order first in exchange for a guaranteed better price.
RFQ (Request for Quote)โ
RFQ is used for multi-leg orders (spreads, straddles, iron condors, risk reversals) and for single-leg instruments configured as RFQ-only. There is no CLOB for arbitrary multi-leg packages, so market makers are the only counterparty.
RFQ has two modes:
Manual acceptโ
- You submit a package via
POST /rfq/requestwith your legs (instrument, side, size per leg) - The system fans out the request to all eligible quote providers
- QPs respond with firm quotes (valid for up to 30 seconds)
- You see all quotes in the app and manually select one to accept
- You sign and submit an accept (
POST /rfq/accept) to execute the trade
Manual accept gives you full control over which quote you take. The tradeoff is a second signature and the risk of quotes expiring while you decide.
Auto-executeโ
- You submit a package via
POST /rfq/requestwith anauto_accept_limit(the maximum debit you will pay, or minimum credit you will accept) - Your signature pre-authorizes execution at any price within your limit
- The first quote that meets or beats your limit is automatically executed without a second signature
- If no qualifying quote arrives before the RFQ expires, the request expires with no fill
Auto-execute is faster and simpler. You set your worst acceptable price upfront and let the system execute. This is the mode the Hypercall frontend uses for multi-leg packages.
Multi-leg fills are always all-or-nothing. The entire package executes atomically, or not at all. This eliminates leg risk.
Perp Orders (Directives)โ
Perpetual futures orders go through a separate path. Instead of the options orderbook, perp orders are submitted as directives to HyperCore (Hyperliquid's on-chain execution layer).
Perp orders are submitted via POST /v1/actions/hl_limit_order and support:
Perp orders do not pass through the RPI auction or RFQ system. They are signed, relayed to the on-chain exchange contract, and matched on-chain.
Bulk and Replace Operationsโ
For programmatic traders, the API supports batch operations:
Bulk and replace endpoints
- Bulk place (
POST /bulk_order): Submit up to 50 orders in one request. Each enters the standard execution path independently. - Bulk cancel (
DELETE /bulk_orderorDELETE /bulk_order_cloid): Cancel up to 50 orders by order ID or client ID in one request. - Replace (
PUT /order): Atomically cancel an existing order and place a new one in the same engine tick. No gap risk. - Bulk replace (
PUT /bulk_order): Replace up to 50 orders atomically.
Replace operations are critical for market makers who need to update quotes without exposing themselves to being filled on the old price while the new order is in flight.
Price Improvement (RPI)โ
The core guarantee of the RPI auction: a market maker only wins by giving you a better price than what you could get anywhere else.
The reference priceโ
The reference price is the threshold a market maker must beat. It accounts for both your limit and any existing book liquidity.
Buy Orders
- Reference = min(your limit, best ask on book)
- MM must quote at or below reference minus 1 tick
- If the book ask is already below your limit, the MM must beat the book, not just your limit
Sell Orders
- Reference = max(your limit, best bid on book)
- MM must quote at or above reference plus 1 tick
- If the book bid is already above your limit, the MM must beat the book, not just your limit
This is the same principle behind CBOE BYX Rule 11.24: RPI orders must improve on the NBBO. On Hypercall, the "NBBO" is the best resting price on the orderbook.
Worked exampleโ
You submit a buy order for 1.0 BTC-30MAY26-80000-C at a limit of $2,450.
Price improvement display
- When filled via RPI, the app shows your savings vs. the limit and vs. the book
- Example: "Filled at $2,447.50 โ saved $2.50 (0.1%)"
- This appears automatically on your fill confirmation, no action required
Quote Providersโ
Quote providers (QPs) are professional market makers registered on Hypercall. They maintain persistent WebSocket connections and receive both RPI auction requests and multi-leg RFQs in real time.
QP eligibility
- Registered and active (not suspended)
- Whitelisted for the relevant underlying (or approved for all underlyings)
- Not frozen by Market Maker Protection (MMP) on that underlying
- Connected via WebSocket at the time of the auction or RFQ
Multiple QPs compete on each auction. The system selects the best price, breaking ties by arrival time. This competition is the mechanism that drives price improvement. As more QPs join, competition intensifies and spreads tighten.
See Market Maker Protection (MMP) for how QPs manage risk, and Incentives for market maker programs.
Instrument Eligibilityโ
Each instrument has a configured trading mode that determines how orders are routed:
As instruments mature and attract more resting liquidity, they transition from RFQ-enabled to orderbook-only. The routing is transparent to you. You always submit the same order type regardless of which mode the instrument is in.
Fill Priority Summaryโ
When a single-leg order enters the system on an RPI-eligible instrument, fills are prioritized:
1. RPI Auction
First look (eligible instruments only)
- Market makers compete for your order
- Must offer strictly better price than reference
- Best quote wins, ties broken by arrival time
- Fill includes price improvement
2. Book Cross
Immediate fill on existing liquidity
- Activates if no RPI fill
- Crosses against resting orders at or better than your limit
- Standard price-time priority
- May fill partially (standard matching)
3. Resting Order
Wait for a counterparty
- Activates if no immediate cross
- Order rests at your limit price
- Visible on the orderbook
- Subject to your time-in-force setting
On orderbook-only instruments, the flow starts at step 2 (no RPI auction). The system never fills you at a price worse than your limit.