Exchange-Native Sequence Number

An exchange-native sequence number is the sequence identifier assigned by a trading venue to market data messages in the order they were generated or published.

Exchange-native sequence numbers are assigned by the source trading venue, not by a normalized data provider. They are commonly used in real-time feeds for trades, quotes, order book updates, and other market data events.

In order book workflows, these identifiers are especially important because incremental updates must be applied in the correct order. If a consumer receives sequence numbers 1042 and 1044 but never receives 1043, that missing value may indicate a sequence gap. Depending on the exchange protocol and the data product, the consumer may need to request a new snapshot, replay the missing messages, or rebuild local state.

The exact behavior of exchange-native sequence numbers varies by venue. Some exchanges provide strictly increasing integers per symbol, per channel, per matching engine, or per connection. Others use sequence identifiers that reset, wrap, or apply only to specific data streams. Because of this, sequence numbers should be interpreted according to the exchange’s native feed rules and the normalized data model used by the consuming application.

Exchange-native sequence numbers matter because they help preserve the original ordering semantics of market data. They make it easier to detect missing messages, validate replay logic, audit historical feeds, and confirm whether an order book reconstruction is complete.

For trading systems, even one missed order book update can lead to an inaccurate local book. By tracking the venue’s own sequence numbers, developers can identify when local state may no longer match the exchange and take corrective action.

A consumer uses an exchange-native sequence number to apply market data messages in the intended order. For example, if order book updates arrive with consecutive sequence numbers, the client can apply them to a local book state. If the numbers skip or arrive out of order, the client can flag the stream as incomplete and recover using a snapshot or replay sequence.

No. An exchange-native sequence number is assigned by the exchange, while a normalized sequence ID may be generated or transformed by a data provider to create a consistent model across venues. Both can be useful, but the exchange-native value preserves the venue’s original sequencing behavior.

A missing exchange-native sequence number may indicate that one or more market data messages were not received. In order book applications, this can make the local book unreliable until the missing data is recovered or the book is reset from a trusted snapshot.

A developer is maintaining a local order book for a crypto exchange. The feed sends incremental updates with exchange-native sequence numbers 9001, 9002, 9003, and 9005. Because 9004 is missing, the application detects a sequence gap and stops treating the local book as complete. It then loads a current order book snapshot and resumes applying updates from the correct point.

CoinAPI’s Market Data API helps developers work with normalized and historical market data across many exchanges. When building order book replay, gap detection, or audit workflows, understanding exchange-native sequence numbers helps teams preserve the source venue’s ordering logic while using normalized CoinAPI data structures.

This is especially relevant when comparing incremental order book updates, current snapshots, and replay sequences across different exchanges whose native sequencing rules may differ.

Crypto API made simple: Try now or speak to our sales team

CoinAPI.io Glossary - Exchange-Native Sequence Number