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.

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:

fix
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].