FIX API.
SiftingIO delivers its aggregated fair-price market data over FIX 4.4 as an enterprise transport. Same data, same model as our WebSocket and REST products, delivered into your OMS or trading stack over a standard FIX session.
FIX connectivity is an enterprise offering provisioned per account. Contact us to begin onboarding and certification.
At a glance
- Protocol
- FIX 4.4 (FIX 5.0 SP2 available on request)
- Scope
- Market data only, no order entry
- Asset classes
- Crypto (CEX + DEX), forex, commodities and metals
- Transport
- TCP over TLS, IP-allowlisted
- Session
- Continuous for crypto (24/7), market-hours-aligned for forex and metals
- Data model
- Aggregated fair price: bid, ask, last trade, sizes
Low-latency connectivity
Cross-connect in the datacenters where your trading systems already live. SiftingIO delivers FIX from purpose-built points of presence, placing our feed a short hop from your matching and execution stack.
Benefit from low-latency execution via our TY3, NY4, and LD4 datacenters, covering APAC, North American, and European trading hours on resilient cross-connects.
Session layer
Standard FIX session semantics, handled end to end:
- Logon (
35=A) with your assigned credentials andSenderCompID/TargetCompID. - Heartbeat (
35=0) on a negotiatedHeartBtInt(default 30s), with TestRequest (35=1). - Sequence numbers persisted per session, with ResendRequest (
35=2) recovery. - Graceful Logout (
35=5).
8=FIX.4.4|35=A|49=YOUR_SENDER|56=SIFTINGIO|34=1|52=20260625-12:00:00.000|98=0|108=30|10=000Market-data messages are perishable. On a ResendRequest, we respond with SequenceReset-GapFill for market-data messages rather than replaying stale quotes. On reconnect you receive a fresh snapshot. Administrative messages are recovered normally.
Requesting market data
Subscribe with a MarketDataRequest (35=V):
SubscriptionRequestType (263) = 1: snapshot + updates.MarketDepth (264) = 1: top of book.NoRelatedSym (146): one or more symbols per request.
8=FIX.4.4|35=V|49=YOUR_SENDER|56=SIFTINGIO|262=req-1|263=1|264=1|267=2|269=0|269=1|146=2|55=BTCUSD|55=XAUUSD|10=000We respond with:
- MarketDataSnapshotFullRefresh (
35=W): current book on subscribe. - MarketDataIncrementalRefresh (
35=X): live updates thereafter. - MarketDataRequestReject (
35=Y): unknown symbol or entitlement limit.
8=FIX.4.4|35=X|49=SIFTINGIO|56=YOUR_SENDER|268=2|279=0|269=0|55=BTCUSD|270=67250.40|271=1.250|279=0|269=1|55=BTCUSD|270=67251.10|271=0.880|10=000Unsubscribe with SubscriptionRequestType = 2.
Market data entries
Each update carries up to three MD entries in the NoMDEntries (268) group:
0BidMDEntryPx (270), MDEntrySize (271)1OfferMDEntryPx (270), MDEntrySize (271)2TradeMDEntryPx (270), MDEntrySize (271)
These classes have no public trade tape, so the Trade entry is omitted and price is represented by the bid and ask. Do not treat a synthetic mid as an executed print.
Symbology
Symbols use SiftingIO canonical codes in Symbol (55), for example BTCUSD, GBPUSD, XAUUSD. Discover the full tradable universe via SecurityList (35=x → 35=y), or request the static mapping sheet during onboarding.
Entitlements
Your plan defines:
- Concurrent FIX sessions per account.
- Symbols per session.
Requests beyond your entitlement are rejected with MarketDataRequestReject; excess sessions are refused at logon.
Onboarding & certification
From provisioning to production in four steps:
- 1Provision
We provision SenderCompID / TargetCompID, credentials, and the TLS endpoint.
- 2Connect to UAT
You connect from your allowlisted source IPs to a UAT session.
- 3Conformance
We run a conformance pass against your OMS: logon, subscribe, snapshot, incremental, reconnect and gap-fill.
- 4Promote
Promotion to the production session.
Talk to us about FIX access
We provision your session, run a conformance pass against your OMS, and promote you to production. Reach out to begin onboarding.