Exchange FIX API
System overview
doc

System overview

Revolut FIX Gateway is a FIX 4.4-compliant gateway that provides a direct connectivity to the Revolut matching engine cluster.

Each FIX API (Trading and Market Data) is served by its respective Revolut FIX Gateway.

Revolut FIX Gateway operates in the UTC time zone.

For more information about FIX, see the FIX protocol documentation.

Supported FIX messages

Session-level messages

These messages are the same for both the Trading FIX API and Market Data API.

Application-level messages

FIX Gateway rate limiter

Once the rate limiter counter reaches the defined value (currently 7500 orders in the 5-second sliding window), FIX Gateway will start sending rejection for NEW (D New Order - Single) and REPLACE (G Order Cancel/Replace Request) orders, until the number of recently posted orders reduces below the threshold:

  • For a NEW order that violates the rate limiter, FIX Gateway will reply with 8 (ExecutionReport):

    TagNameValue
    103OrdRejReason99 - Other
    58TextRate limit exceeded
  • For a REPLACE order that violates the rate limiter, FIX Gateway will reply with 9 (OrderCancelReject):

    TagNameValue
    102CxlRejReason99 - Other
    58TextRate limit exceeded

The impact of NEW and REPLACE is the same (weight=1). There is no rate limiter for CANCEL (F Order Cancel Request) requests (weight=0).

The expected behavior is to tolerate such rejections, wait (for example, ~1 second) and re-send the ORDER/REPLACE request, with more recent price if necessary.

warning

When a REPLACE order is rejected by the rate limiter, the order that was supposed to be replaced (previous order) stays intact. This means the previous order is not cancelled or modified.

If it is necessary to remove the previous order, the trading algorithm should send an explicit CANCEL request.

note

The rate limiter scope is active per FIX session independently, and it is not shared. If the trading service is connected under two different sessions (or two different gateway nodes), the actual allowed rate will be 2x higher.

Was this page helpful?