Skip to main content

RFQ Markets

Request for quote (RFQ) markets execute against competing market makers instead of a public order book. They are designed for markets where a trader benefits from requesting a firm price for a specific size rather than matching against visible resting orders.

Availability

RFQ support is available on devnet and mainnet in v20.

RFQ compared with CLOB

CLOB marketRFQ market
LiquidityVisible resting ordersResponses from RFQ makers
Trader price protectionLimit price on the orderPrivate execution bound
ExecutionPrice-time matchingFirst valid maker response for the permitted size
LifetimeDetermined by order type and cancellationShort request timeout, cancellation, or execution
Partial fillsDetermined by available order-book liquidityFull fill by default; optional when the requester permits it

A market operates in either CLOB or RFQ mode. Both modes are not active at the same time for the same market.

How an RFQ executes

1. The trader creates a request

The requester specifies:

  • the market and side;
  • the total base size;
  • a private price bound;
  • how long the request remains valid;
  • an optional minimum fill size; and
  • whether the request is reduce-only.

The price bound defines the worst price the requester will accept. It is validated against the market's current index-price band but is not included in the request delivered to makers.

Before opening the request, N1 checks that the market is operational and in RFQ mode, the size and price are valid, and the account has sufficient margin. An open RFQ counts toward the account's open orders and margin requirements.

2. Makers receive the request

RFQ makers receive the order ID, market, side, size, and remaining lifetime. They do not receive the requester's private price bound.

The delivery feed is a notification layer. The request itself lives in engine state, so a delayed or disconnected maker feed does not cancel it. The request remains open until it executes, is canceled, or expires according to engine time.

3. A maker submits a fill

An authorized RFQ maker responds with a firm execution price. If partial fills are allowed, the maker may also provide a compatible minimum and maximum fill size.

N1 accepts a response only when:

  • the market is operational and remains in RFQ mode;
  • both the request and maker response are still valid;
  • the maker is currently authorized;
  • the execution price satisfies the requester's private bound and the market price band;
  • the fill size satisfies both parties' size rules; and
  • the trade passes margin, health, and reduce-only checks for both accounts.

The first valid response executes for the permitted size. Other responses do not execute against size that has already been filled.

4. N1 settles the trade

Execution and settlement happen together. N1 updates both accounts' positions, realized PnL, funding, quote balance, and RFQ maker or taker fees. If any required check fails, the attempted fill does not commit partial account changes.

The execution appears in account activity and market trade history like other perpetual trades.

Full and partial fills

A standard RFQ without partial-fill parameters is all-or-none for its full size.

When the requester sets a minimum fill size, a maker may fill an amount at or above that minimum and no more than the open size. If the fill leaves a valid remainder, that remainder stays open under the same order ID, price bound, and expiry, and another maker may fill it later.

The request closes when it is fully filled or when the remaining size is smaller than the requester's minimum. Reduce-only requests may be capped or partially filled to avoid increasing or flipping the position, and may be resized or removed when the underlying position changes.

Timeouts and cancellation

Both the request and the maker response have validity windows. N1 checks timeouts against engine time when a response arrives, even if an expired request has not yet been removed from the feed.

The requester may cancel an open RFQ. Otherwise, it is removed automatically after expiry. A late maker response fails without changing positions or balances.

Market prices and funding

RFQ markets do not have public order-book depth from which to derive an impact price. N1 instead sends designated makers short-lived, non-executable sampling requests for standardized bid and ask sizes.

Maker responses to these samples never create trades or change account state. N1 uses the highest valid bid and lowest valid ask to form the sample midpoint. If either side has no valid response, that round does not produce a midpoint sample.

These samples contribute to RFQ market pricing and funding calculations. See Funding and Oracle, Index, and Mark Prices for the broader pricing model.

These materials are provided for informational purposes only and do not constitute financial, investment, legal, or tax advice, or an offer or solicitation to buy or sell any asset. Trading digital assets and derivatives involves substantial risk, including the possible loss of some or all capital. Products may not be available in all jurisdictions. Users are responsible for evaluating suitability and complying with applicable laws.