- Only one quote per side per instrument is allowed within a group.
- Each quote must have a size below the group’s defined limit.
- They allow multiple quotes on the same side of the same instrument (as long as each belongs to a different group).
- They support different margin settings across instruments with varying risk profiles.
Enabling Market Maker Protection (MMP) does not automatically enable the Mass Quote feature. These are separate systems and must be requested and activated independently. If you require Mass Quote functionality, please contact Deribit support to request access explicitly.
Mass Quote Behaviour and Requirements
Quote Behavior
- Quotes behave like limit orders with good-til-cancel TIF and cannot be hidden or custom-priced.
-
Bid and ask sides are processed deterministically to avoid client-side spread crossing:
- If both move up → ask is modified first.
- If both move down → bid is modified first.
- Crossing quotes are rejected or cancelled automatically.
- Each side is validated independently — one side may succeed while the other fails.
- Amendments with no amount are processed safely; if no quote exists, an error is returned.
- Errored amendments cancel the affected resting quote(s) on that side.
-
Priority is preserved when reducing size or changing only the
quote_set_id. - Quotes interact with reduce-only orders the same way as regular orders.
- Post-only logic applies similarly — quotes can reject or amend based on post-only rules.
Instrument Availability
Mass quotes are supported for the following instrument types:- Perpetual contracts
- Dated futures
- Options
- Option combos
- Future spreads
- Options on Standard Margin (SM) accounts — since long options on SM are not margined
- Spot instruments — as spot products are not margined on Deribit
Subaccounts
All mass quote functionality operates at the subaccount level:- Margin for MMP groups is drawn from the specific subaccount.
- Quotes and MMP group limits are managed separately per subaccount.
- This design allows isolated risk and quote behavior across subaccounts within the same user.
Rate Limits
Mass quoting has a dedicated rate limit system:- A guaranteed base rate limit is always available, regardless of the size of each mass quote.
- A higher maximum rate limit is accessible only if the number of quotes per message remains below a set threshold.
- Dated futures
- Future spreads
- Deep ITM options
UI
- Quotes are shown in the UI with an extra tag, “Quote”.
- All quotes can be cancelled using the “Cancel all” button.
Session Requirements
To use mass quote methods:- Your session must have Cancel-on-Disconnect enabled. Without it, methods like mass_quote or cancel_quote will return an error.
- However, routine use of Cancel-on-Disconnect to remove quotes is discouraged. It’s intended as a safeguard, not a quote management strategy.
Priority in the Order Book
Mass quotes follow standard Deribit limit order book (LOB) priority rules, with the following nuances:-
If a quote is amended without changing price, amount, or
quote_set_id, it loses its priority. This prevents abuse through repeated resubmission of identical quotes. -
You may change only the
quote_set_idwithout affecting priority. - Each side of a quote (buy/sell) has independent priority. Amending one side does not affect the priority of the other.
MMP Groups behaviour
MMP groups let market makers define custom protection rules – such as quantity, delta, and vega limits – for mass quotes. Clients create or update these groups via the /private/set_mmp_config API call. The group name is user-defined (no fixed format), but it must be unique within the account. Groups are identified by this name and tied to a specific index (trading pair) in the configuration.Group Limits and Usage
- Naming: You can choose any string for the group name, as long as it is unique within your (sub)account. Group names are user-defined and there is no specific naming convention. The maximum length is 64 characters. Names are case sensitive and cannot be an empty string.
-
Parameters: Each group’s thresholds (
quantity_limit,delta_limit,vega_limit, etc.) must be set to non-negative values (zero or higher). - IM Reservation: Each MMP group continuously reserves initial margin (IM), regardless of open orders or positions.
-
Group Assignment: Each mass quote request must include a
mmp_groupname. All quotes in the request will be linked to that group. - Group count: You can configure up to 16 MMP groups per (sub)account. Attempting to create a 17th group will result in an error.
- Instrument membership: The same instrument (index) can be assigned to multiple groups simultaneously. In other words, one product can participate in several MMP groups with different limits (useful for layered quoting strategies).
- Priority: All MMP groups operate at the same level; there is no hierarchy or priority among groups.
- Lifespan: An MMP group remains in effect until explicitly removed. To delete a group, set its interval parameter to 0 with set_mmp_config – this releases any reserved margin and removes the group. Otherwise the group (and its reserved initial margin in the context of Mass Quotes) persists indefinitely.
-
Delta Constraint: A system rule enforces
delta_limit<quantity_limitto maintain proper margin coverage. - Quantity Limits: 500 BTC or 5000 ETH
Managing and Renaming Groups
- Modifying groups: Use the set_mmp_config method to edit an existing group’s settings (or create a new one). If some parameters are not included, those parameters are NOT kept as old values. They are set to undefined, so in fact disabled.
-
Renaming groups: There is no separate “rename” operation. If you call set_mmp_config with a different
mmp_groupname, a new group is created instead. The old group continues to exist until deleted (settinginterval="0"removes the group).
Quotes in MMP Groups
- Only one quote per side per instrument per MMP group is allowed.
- Submitting a new quote replaces any existing one in the same group.
- To support “n” layers in the order book, “n” separate MMP groups are required.
-
Each quote’s amount must be strictly less than the group’s
quantity_limit. -
All mass quotes are implicitly treated as
mmp=true. -
Quotes exceeding the group’s
quantity_limitwill be canceled if the limit is reduced after they are placed.
Mass Quote Flow
Step 1: Send a Mass Quote
You can submit up to 100 quotes total (max 100 bids + 100 asks) per private/mass_quote request. Requirements:- All quotes must use the same index (currency pair).
- Quotes must belong to an existing MMP group.
- Each quote can include an optional
quote_id(client defined string for tracking). - Quotes are processed in order, so prioritize from most to least important.
- Identical re-submissions are discouraged to avoid unnecessary load and lost priority.
Depending on the detailed flag in the mass quote request, the system will:
- Return either a simple success/error count
- Or list each error mapped to
instrument_nameandside
Step 2: Monitor Quote Status
To retrieve currently active quotes, use private/get_open_orders:- All quotes are tagged with
"quote": true - Standard filtering by instrument, kind, or quote flag is available
Step 3: Cancel Quotes
Method private/cancel_quotes allows for cancelling quotes in bulk, filtered by:- Currency pair
- Instrument kind
- Specific instrument
quote_set_id- Delta range (for options/combos only, not futures or spreads)
Setting
amount = "0" in a new mass quote is also treated as a cancellation for that quote.Segregated Pathway
Standard order endpoints such as private/buy, private/sell, or private/edit do not apply to quotes. This separation ensures performance and risk control for market makers.FIX Logic
Mass quoting is fully supported via FIX, using dedicated message types that segregate quote flow from regular orders.Sending & Cancelling Quotes
-
Mass Quote (i) – Used to submit new quotes or amend existing ones.
Setting
OrderQty="0"acts as a cancel for that quote. -
Quote Cancel (Z) – Cancels quotes in bulk.
Can be filtered by instrument, product type,
QuoteSetID, or delta range (for options only).
Retrieving & Monitoring Quotes
- Quote Request (R) – Retrieve active quotes.
- Execution Report (8) – Sent when a quote is amended or executed.
-
Mass Quote Acknowledgement (b) – Response to
Mass Quote (i), depending onQuoteResponseLevel. -
Quote Status Report (AI) – Response to
Quote Cancel (Z)andQuote Request (R).
Standard FIX order messages (e.g.
New Order Single (D)) do not apply to quotes.