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)
SiftingIO sends trade price, bid, and ask for these classes, so the Trade entry stays available alongside the two-sided quote.
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.