Docs / Makers
Connect a FIX 4.4 LP
Connect a liquidity provider to XiroLink over FIX 4.4: what to ask your LP for, the maker settings, subscribing to prices and fixing a session that will not log on.
Most liquidity providers stream prices over FIX 4.4. This page covers what to ask your LP for, how to add them as a maker in XiroLink, and how to fix a session that will not connect.
Before you start: ask your LP for
| Item | Example |
|---|---|
| Host and port of their market data session | fix.lp-example.com, 9881 |
| SenderCompID (yours) and TargetCompID (theirs) | BROKER_MD, LP_MD |
| Username and password, if they use them | Sent in tags 553 and 554 |
| Their symbol names | EUR/USD, EURUSD.x |
| Heartbeat interval and reset schedule | 30 seconds, weekly |
And send them your bridge's fixed IP so they can allow-list it. It is on the Server card of your company in the XiroLink portal, with a Copy IP button.
XiroLink reads prices from MarketDataSnapshotFullRefresh messages (
35=W). Confirm your LP can send full refresh snapshots. Incremental refresh (35=X) is not supported.
Add the maker
Go to Makers and choose to add one. Under What connects? choose FIX.
| Field | What to enter |
|---|---|
| Name | Any name, such as LP Prime |
| Description | Optional |
| Host | Hostname or IP only, without https://, a path or :port |
| Port | The LP's port |
| SenderCompID | Yours: tag 49 on every message XiroLink sends |
| TargetCompID | The LP's: tag 56 on every message XiroLink sends |
| Username, Password | Optional. The password is stored encrypted. |
| Heartbeat | Seconds between heartbeats. Default 30. |
| Reconnect every | Seconds to wait before trying again after a drop. Default 10. |
The form shows the pair you will log on with, such as 49=BROKER_MD → 56=LP_MD. If it looks backwards, the CompIDs are swapped.
Test before you save
Under Connection test, choose Test. It checks DNS and the TCP connection, then tries a real FIX logon with these settings, so you know the details are right before the maker goes live.
Choose Create maker. The session starts straight away.
What XiroLink sends
On logon, XiroLink sends your CompIDs, the heartbeat interval and, if set, your username and password. Sequence numbers reset on every logon, logout and disconnect, so each session starts at 1.
One second after logon it subscribes to every enabled symbol mapped to the maker, with one MarketDataRequest per symbol:
35=V|262=MDR_3_EURUSD_1762162200|263=1|264=5|267=2|269=0|269=1|146=1|55=EURUSD|That asks for a snapshot and updates (263=1), five levels of depth (264=5), bid and offer, for one symbol. XiroLink uses the top level for prices and keeps the depth.
The session runs from Sunday to Sunday, so it follows a weekly sequence reset such as Centroid's without false alarms. A maker that is down for less than 30 seconds, as during a scheduled reset, raises no alert.
Map the LP's symbols
Go to Symbols and map each of the LP's symbols to a universal symbol. If the LP uses names such as EUR/USD or EURUSD.x, auto match proposes the mappings for you.
If a newly mapped symbol shows no prices, soft restart the maker so it subscribes again.
Keep it healthy
Silent feed protection, on the Maker status page, watches for an LP that stays logged in but stops quoting:
| Feed watchdog | What happens when a maker goes silent |
|---|---|
| Off | Nothing |
| Warn only | An alert: the maker is connected but silent |
| Re-subscribe (recommended) | An alert, and XiroLink subscribes to its symbols again |
| Re-subscribe, then reconnect | As above, then a soft restart if that does not help |
A maker counts as silent after Silent after (s), 120 seconds by default. The check pauses while all of the maker's markets are closed.
Each symbol also has its own staleness watch: a warning after about 10 seconds without a price and an alert after about 30, adjusted to how often that symbol normally ticks.
Restart a maker
Restart offers two kinds:
- Soft restart logs out, logs back in and subscribes again. Try this first.
- Hard restart rebuilds the session from its saved settings.
Saving changes to a maker's connection settings restarts it with the new settings. You can also schedule a daily restart on the Maker status page.
Troubleshooting
| You see | Check |
|---|---|
| The connection test cannot reach the host | The host and port, and that your LP has allow-listed your bridge's fixed IP |
| Logon refused or logout straight away | SenderCompID and TargetCompID, then username and password. Logout text from the LP appears in the maker's connection history. |
| Connected, but no prices | Symbols are mapped to this maker and enabled. A market data reject notification names any symbols the LP refused, with its reason. |
| Prices stop after a while | The feed watchdog settings, and whether the LP's market for that symbol is closed |
| Wrong symbol prices | The mapping from the LP's name to your universal symbol on Symbols |
Centroid
XiroLink follows Centroid's FIX 4.4 maker specification: millisecond timestamps, prices matched to the symbol you asked for even when Centroid adds a feed suffix (asking for EURUSD and receiving EURUSD_1), and the weekly Sunday reset.
Something unclear or out of date? Email [email protected].