Solid FX Rulebook

1. Overview

Solid FX is an ultra-low latency leading multi-bank ECN in mainland Europe for the FX market. It has the ability to connect with all types of market participants—direct on the Solid FX ECN or indirect through third party products/platforms/ECNs, either disclosed or undisclosed via PB intervention or through a direct credit line with one or more partnered central counterparties.

Solid has the ability to create custom liquidity pools by specific requirements, for example: order size requirements, specific book tiering, order timing constraints, order allocations, trade netting, algorithmic execution and fill rate guarantees by simple aggregation, cross-matching and hedging methods. In this capacity Solid is acting as a principle bridge between clients and providers and therefore:

  • Solid is aiming to function as riskless principle, or rather a technology vehicle, between clients and providers and is taking as little market risk as possible upon itself.
  • Solid will always work with the counterparties involved to make sure the best setup is achieved and protect everyone’s interest as good as possible.
  • Solid will act as neutral as possible with regards to market risk taken, market impact and information leakage.
  • Solid will never analyze or use profile information, market data, order and/or trading data from clients or providers for its own benefit.

Solid has over 150 clients globally who can provide and/or take both disclosed and undisclosed liquidity on the platform. Currently Solid has over 180 sessions live providing liquidity coming from both bank- and non-bank liquidity providers.

Solid is unique from a technology perspective; all technology is built in-house.

Solid’s bespoke liquidity management team will ensure that there is proper governance overlooking the behavior of all participants and will work for all participants to create the best pool of liquidity on an individual client level.

Currently Solid is supporting Spot FX as instrument type on the platform. The integration of FX Forwards/Swaps onto the platform is currently worked on.

Solid can either charge its clients by collecting a spread or by sending an invoice.

2. Solid FX ECN

2.1 General

2.1.1 Matching Engines

The Solid FX platform runs on three different Equinix locations: London (LD4), New York (NY5) and Tokyo (TY3). Solid is using the latest technology which enables low double-digit microsecond matching.

Each location runs its own matching engine. There’s no data exchange between the locations other than trade data to calculate the credit usage of a client. Please refer to section Credit Usage Monitoring for a detailed explanation.

2.1.2 Access to Solid FX

A client can submit orders to Solid FX using the GUI trading client or via API. For more information please contact our Sales and Liquidity management team at +31 299 434 867.

2.1.3 Trading Hours

Solid FX opens on all three locations at Sunday 5 PM EST and closes at Friday 5 PM EST. The FIX connections will be unavailable from Monday to Thursday 5 PM EST – 5:05 PM EST. Trading hours are not affected by holidays.

2.1.4 Support

The Solid FX Support Team can be reached at For urgent matters they can be reached during trading hours at + 31 299 769 153.

2.1.5 Out-of-line situations/failures

In case of out-of-line situations or failures, Solid might temporarily shut down its pricing or might be turned off completely to avoid any risk for its clients and LPs. Solid FX is monitored closely during trading hours and out-of-line situations will be handled immediately by either Solid FX itself or by qualified Solid FX Support Team members. This might result in pausing the supply of tradeable snapshots or temporarily shutdown of one or more Solid FX components. In case of emergency, a disaster recovery plan is executed to ensure that all Solid FX components and services will be restored as soon as possible. For urgent issues, the Solid FX Support Team can be reached 24/7 by phone. Other issues will be handled during CET office hours.

2.2 Platform functionality

2.2.1 Order book

An order book consists of all received quotes and orders for a symbol. Both sides of the order book are sorted by best price (highest bid/lowest offer), highest quantity and newest entry.


Every incoming quote is matched against all resting orders on the opposite side of the order book. LP quotes are not matched to other LP quotes.

2.2.3 Orders

Orders will be processed immediately after receipt by Solid FX, no holding times are applied. Each order will be validated and verified upon authorization, completeness and correctness. Orders that do not pass the validation or verification will be rejected. If an order is accepted, the client receives a confirmation of the order receipt.

Incoming orders are matched against all quotes and resting orders on the opposite side of the order book. A match with a resting order will be executed immediately. A match with a quote will result in a Trade Request to an LP with last look.

2.2.4 Last Look

Allowed LPs will perform a last look on a Trade Request, i.e. accept, reject or cancel an order without any reason.

2.2.5 Order Execution

An order that awaits the result of one or more trade request is called ‘in matching’ and cannot be altered or cancelled. After the last trade request result has been received, the order becomes filled, partially filled or not filled at all. Depending on the TimeInForce (TIF) and TimeToLive (TTL), an order with a remaining quantity will be cancelled or will become a resting order in the order book.

An order that allows partial fills will receive an execution report for each fill on the order. Every order will receive a final execution report which either cancels the order completely, cancels the remaining quantity, or fills the order completely.

2.2.6 Time outs

A client order that awaits the result of one or more trade request will be held against the time out rules. If an LP is not obeying the time out rules agreed upon, any fill will not be accepted by Solid. If the client order exceeds the time out period, the remaining quantity will be canceled. Solid FX supports custom time out rules. Please refer to our time out policy how Solid handles time outs.

2.2.7 Price Improvement

If an order matches a better price than requested, price improvement will be forwarded to the client.

2.2.8 Transaction Disputes/Off-market deals

Although Solid has taken the highest measures to minimize the risk of off-market deals, off market deals may take place. Please refer to our off-market deals policy on how Solid handles off-market deals.

2.2.9 Market data

Solid FX aggregates market data from its LPs and resting client orders to an order book per symbol. Solid FX supplies order books as market data snapshots to its clients based on subscription request, availability and applicability, in real time or subject to a refresh rate configured per client. Both sides of the order book are sorted by best price (highest bid/lowest offer), highest quantity and newest entry. Clients will only receive market data from LPs and resting orders from clients they can trade with. Solid FX reserves the right to stop taking market data from its LPs and/or stop supplying tradeable snapshots to clients any time.

2.2.10 Quality of Market Data

Solid FX continuously monitors the received market data from its LPs. To protect its clients and LPs, Solid FX will take out market data that is not complying to the quality rules defined by Solid FX, e.g. market data resulting in inverted or crossed books or market data with a bigger tick size than defined by the market. These quality rules are regularly reviewed and are subject to change.

2.2.11 Credit Usage Monitoring

Each order will be subject to a credit usage check. Each counterparty is configured with a credit limit. This credit limit is applied to all locations where the counterparty is active, i.e. all trades done on all Solid FX locations together count towards the credit usage. The credit usage is continuously monitored over all locations and each order will be held against the configured credit limit. If the credit limit would be exceeded when the order would be filled, the order will be rejected. The counterparty and/or its PB will be informed when the credit usage reaches 80% of the configured credit limit. Each order resulting in a breach of the credit limit will be rejected. If an LP breaches its credit limit, the market data of that LP will not be processed and published anymore, until the credit limit is not breached anymore.

2.3 Dealing rules

2.3.1 Pre-hedging (during the last-look window)

Solid does not allow liquidity providers to pre-hedge during the last-look window. Whenever Solid finds evidence this is happening all live connections with the LP will be switched off and Solid engages to find ways to reestablish a relationship without harming other Solid clients.

2.3.2 Sweeping

To protect LPs from clients that are either sweeping a complete book or from continuously dripping orders to an LP, Solid can prohibit LPs from being swept or Solid can prohibit clients from sweeping, based on a configurable trigger. If triggered, sweeping will be prohibited for a configurable number of seconds after an LP has filled an order by one of the following configurations chosen:

  • Not submitting orders to the same LP for the same side and symbol.
  • Prohibit the client from receiving quotes in the same symbol and side.
  • Prohibit the client from receiving quotes from other LPs in the same symbol and side.

Unless sweeping is prohibited, each order will be swept across the book, taking the matching rules into account. For example, if the sorted order book contains 3 layers, 1M, 2M and 3M, and a 3M orders is received and matches all three layers, it will hit the quotes in the sorted order, i.e. hit the 1M and 2M quotes.

2.3.3 Re-distribution of market data

Redistribution of market data is not allowed.

2.3.4 Client obligations

  • A client should not share or leak information that could damage Solid, Solid staff or other Solid clients or LPs.
  • A client should avoid conflicts of interest when trading with Solid.
  • Market data that is sent to a client is solely intended for trading purposes of the client.

2.3.5 Solid FX obligations

  • Solid wil not share or leak information to Solid FX clients, LPs or other related parties.
  • Solid will avoid any conflict of interest; it will not use information resulting from Solid FX, like ordering behavior, pricing behavior, fill or reject ratio’s etc.
  • Solid FX saves audit trails of orders and trades.
  • Solid monitors system behavior and system wellness.
  • Solid takes the highest measures to ensure a correct, fast and safe working ECN.
  • In case of issues or emergency, Solid will protect its clients and LPs by taking security measures that will mitigate the risks for its clients and LPs.
  • A BCP or disaster recovery plan is present and regularly tested.

3. Global Code of Conduct

On May 17th, 2018 Solid signed the Statement of Commitment whereby it supports and commits to the FX Global Code of Conduct. The FX Global Code is a set of global principles of good practices to promote the integrity and effective functioning of the wholesale FX market. Solid will actively promote and contribute towards a robust, fair, liquid and open transparent FX market with a robust and fast infrastructure, competitive pricing and innovative technology.

4. Solid Partners

Solid is using two Prime Brokers for its service to provide liquidity towards clients. Since 2015 NatWest Markets has been the preferred Prime Broker for Solid. During 2018 Standard Chartered has been added as secondary prime broker to mitigate operational risks and remain competitive towards all clients.

5. Definitions

ECN Electronic Communications Network. The ECN provides an electronic system for buyers and sellers to come together for the purpose of executing trades. It does this by providing access to information regarding orders being entered, and by facilitating the execution of these orders. The network is designed to match buy and sell orders currently present in the exchange. When specific order information is not available, it provides prices reflecting the highest bid and lowest ask listed on the open market.
Client Trading client
Liquidity Provider (LP) Supplier of market data
Counterparty Client or LP
Symbol Currency pair
Order Client request to buy or sell a symbol
Quote Bid or offer from an LP
Market Data Collection of quotes
Order book Collection of quotes and orders for one symbol
Time To Live (TTL) User setting that specifies the default time an order remains in effect within Solid FX. If there is no immediate match between 2 opposite orders/market quotes, TTL can extend the duration of the order until the pre-set end time of this order to remain in the Order book to increase the chance of an offsetting transaction. Clients can express their wish to have this switched off. The default for all clients is to have TTL switched on.

Order types

The Solid FX platform supports the following order types. For a detailed explanation, please refer to the latest version of the Solid FX FIX specification.

Market A market order is an order to buy or sell at the current market price.
Limit A limit order is an order to buy or sell at a specific price or better.
Stop (Loss) A Stop (Loss) order is an order that becomes active as an IOC market order when a configured number of available quotes on the stop side is equal to or worse than the stop price.
One Cancels Other (OCO) An OCO order is a limit order that has a built-in security: the Stop Price. The order acts as a limit order, combined with a Stop (Loss) order. When a configured number of available quotes on the stop side is equal to or worse than the stop price the limit order is changed into an IOC market order.
Trailing stop A Trailing Stop order is a Stop order that, when active, trails the market at the specified side (StopTriggerSide) by a specified TrailingStopAmount. A trailing stop order becomes active when the market reaches the TrailingStopTriggerPrice.

Order timing

The time that an order will stay active in the book depends on the provided value for TimeInForce (TIF). Exceptions are IOC and FOK orders with a specified Time To Live (TTL). An IOC or FOK order with a specified TTL will be canceled after the specified TTL, if not filled. This makes it possible to enter the matching process multiple times within the TTL as aggressing order, in order to find a match. IOC and FOK orders without TTL will enter the matching process only once. The Solid FX platform supports the following values for TimeInForce:

Day Order expires at the end of the trading sessions, i.e. 5:00 PM ET. This includes all NZD-related orders, for which the trading day roll-over has already taken place.
Good For Millis (GFM) Order expires after the specified number of milliseconds after initial order receipt.
Good Till Cancel (GTC) Order never expires, unless canceled by the client.
Immediate Or Cancel (IOC) Order will be immediately filled for as much as possible up to the entire order quantity, any remainder will be canceled.
Fill Or Kill (FOK) Order will be immediately filled for the full quantity of the order or canceled by the system if there is no match. Partial fills are not possible.

The following table shows the valid combinations of order type and TIF.

TimeInForce (TIF)
Order type Market
Stop (Loss)
Trailing stop