Skip to main content

Overview

All option order books in Starbase will have a fixed-length speed bump, configured to be in the 1-10 millisecond range. Any aggressive order or quote, that is, an order or quote that would immediately match, will be made pending by a fixed duration before being entered into the order book. No other member except the owner of the order or quote is informed that this order or quote is pending. Pending orders and quotes are stored in a FIFO queue. Any jitter on speed bump timing will not cause pending orders or quotes to overtake each other.

Purpose

In the presence of a speed bump, any liquidity providing member has a fixed period of time to detect if their orders or quotes are stale due to newly available information and to send in cancellations of those orders or quotes. In other words, latency arbitrage that prices in information on sub-millisecond timescales is avoided. Market makers can tighten their bid-ask spreads as a result. As Deribit’s market will go from a sub-second latency exchange to a sub-millisecond exchange, we have deemed it necessary to protect our option market makers with a speed bump to make sure our liquidity can transition and deepen.

How Speed Bumps Work

New orders and quotes will be speed bumped if they aggress. Cancellations will never be speed bumped. For amendments, see the table below:
RestingPending
Order amended to aggressRemoved from book and made pendingMade pending for speed bump duration again
Order amended to restImmediately amendedImmediately added to book
Quote replaced to aggressOld quote removed and new quote made pendingOld quote removed and new quote made pending
Quote replaced to restOld quote removed and new quote added to bookOld quote removed and new quote added to book

Mass Quotes

Quotes can only be entered via MassQuoteRequest. Each quote in such a batch would be speed bumped individually, per side. This means that one side of the quote can immediately be added to the book, while the other side is pending.

Cancelling Pending Orders

Orders and quotes can be cancelled while pending. Starbase informs the member of pending and released orders and quotes. Both single cancels (CancelOrderRequest) and mass cancels (MassCancelRequest) immediately cancel pending orders. They are not converted to IOC orders. A speed-bumped order that is cancelled will not sweep the book; it is removed entirely before being entered.

Cancel arriving before the order

If a cancel reaches the matching engine before the order it targets (for example, when the order is still awaiting its risk check in the pre-trade risk (PTR) layer), the order is treated as IOC upon release. It will attempt to match against available liquidity and any unfilled remainder is immediately cancelled. Note that this situation is distinct from cancelling a speed-bumped order: a speed-bumped order has already passed the risk check and is queued in the matching engine, so a cancel on it results in immediate removal with no fills. The IOC treatment applies only when the cancel overtakes the order and the order has not yet entered the matching engine at all.

Post-Only Attributes

To guarantee that trading members aiming to provide passive liquidity are not encumbered by the speed bump, Starbase has post-only-reject and post-only-amend order and quote attributes. These attributes guarantee an avoidance of the speed bump.

Message Flow During Speed Bump

SBE Gateway

When a new order or quote aggresses and is speed bumped, the gateway immediately acknowledges the request with a queued status. A follow-up unsolicited message is sent once the speed bump period expires and the order or quote is entered into the book.
EventImmediate responseFollow-up unsolicited message
New order speed bumpedNewOrderResponse (200) with orderState = 4 (queued)OrderPlaced or OrderPlacedWithFills
Amend causes order to aggressAmendOrderResponse (210) with orderState = 4 (queued)OrderPlaced or OrderPlacedWithFills
Quote side speed bumpedMassQuoteResponse (230) with quoteStatus = 8 (Queued) per affected sideQuoteOrdersPlaced
OrderPlaced is sent when the order is placed in the book without immediate fills. OrderPlacedWithFills is sent when the order matches immediately upon book entry. See Unsolicited Events for the full message specifications.

FIX Gateway

For speed bumped orders, the FIX gateway sends an ExecutionReport (8) for every state transition, including the queued state.
EventFirst ExecutionReport (OrdStatus)Second ExecutionReport (OrdStatus)
New order speed bumpedA (Pending New)0 (New) upon placement, or 1/2 if filled
Cancel/Replace speed bumpedE (Pending Replace)0 (New) upon placement, or 1/2 if filled
See Execution Reports for the full field specifications including the OrdStatus values.