Skip to main content

Figure Markets Trade Connector

Features

fix-figuremarketsConnector Key
Instruments
FXFUTURE
Request Types
SUBMITCANCELREPLACE
Order Types
MARKETLIMITSTOPSTOP_LIMIT
Time In Force
DAYIOCFOKGTCGTD
Order ID Mapper
SEQUENCE
Order Status Request
Cancel On Disconnect
Commission
Post Only
Fast Cancel
Fast Replace

Notes

Connectivity

Figure Markets requires a secure TLS connection.
Use Stunnel as the SSL termination endpoint.

Market Orders

Market orders must be submitted with Time-In-Force IOC.

Firm, User and Account Identifiers

Figure Markets validates individual traders via SenderSubID (50) and customer accounts via Account (1) on order entry.
Contact Figure Markets to obtain these identifiers.

Schedule

The platform operates 24 hours a day with a weekly maintenance window between 21:00 and 21:30 on Sunday. The FIX session schedule runs weekly from Sunday 21:00:00 to Sunday 20:59:59.

Cancel on Disconnect

Cancel on Disconnect is an optional risk control that automatically cancels all open orders if connectivity is lost.
It is disabled by default and must be enabled per session — contact your Figure Markets representative to arrange this.

Self-Match Prevention

Self-match prevention can be enabled at the FIX session level or per order using tags SelfMatchPreventionID (7928) and SelfMatchPreventionInstruction (8000).
When enabled, two otherwise-executable orders from the same participant sharing the same SelfMatchPreventionID will not match — one is expired instead.
Which order is cancelled (resting or aggressive) is controlled by SelfMatchPreventionInstruction (8000) on the incoming order.

Post Only Orders

Figure Markets supports PostOnly orders via ExecInst(18) = 6.

Exec Instructions

Exec InstructionTag 18 ValueDefinition
ALL OR NONEGRequire that either (a) all of the order quantity is filled immediately, or (b) none of it should trade even partially. Marking an order with this ExecInst instruction is functionally-equivalent to setting Time In Force to FOK.
IGNORE PRICE VALIDITY CHECKScExempt this order from absolute price limits, relative price limits, order size limits, and total notional limits. Only allowed for market-to-limit orders to sell. This flag exists to support quickly liquidating a position.
PARTICIPATE DON'T INITIATE6Require that the order is only accepted if it would NOT immediately match. This guarantees that the order will always be the passive side in any trades. Should not be used with MinQty (110) or with instructions requiring immediate execution: ExecInst (18) = G (All or None), or TimeInForce (59) = 3 or 4 (IOC or FOK).

Symbology

Symbology

Figure Markets assigns a simple string identifier to each instrument traded on the platform,
used as the Symbol (55) value in all FIX messages.

The default attributeKey value is figuremkts.

Configuration

Connector settings

ParameterDefault ValueDescription
usernameUsername.
passwordPassword.
senderSubIdSenderSubID(50). Default trader.
useTraderfalseUse request's Trader ID (if provided) for SenderSubID(50)
accountAccount(1). User account.
useAccountfalseDefines whether or not to use Account from request in FIX message
selfMatchPreventionIdSelf Match Prevention ID.
selfMatchPreventionInstructionSelf Match Prevention Instruction. Allowed values: CANCEL_RESTING, CANCEL_TAKING.
discardOnReconnectfalseDiscard open order upon reconnect.

Supported order attributes

KeyDescription
1Account(1) - Account mnemonic as agreed between buy and sell sides.
18ExecInst(18). See Exec Instructions.
50SenderSubID(50). Trader.
8000SelfMatchPreventionInstruction(8000). Allowed values: O - Cancel oldest (resting) order, N - Cancel newest (aggressive) order.
7928SelfMatchPreventionID(7928). Unique identifier to be passed in the case of a self-match prevention cancellation.
6127ConditionTriggerMethod(6127). The price used to trigger the stop order. Applicable to Stop orders only. Allowed values: 2 - Last price [Default], 5 - Settlement price.

Config sample

connectors {
FIGUREMKTS : ${template.connector.fix.figuremarkets} {
settings {
host = "<HOST>"
port = <PORT>

attributeKey = figuremkts # default

senderCompId = "<SENDER_COMP_ID>"
targetCompId = "<TARGET_COMP_ID>"

username = "<USERNAME>"
password = "<PASSWORD>"

senderSubId = "<DEFAULT_TRADER>"
useTrader = false # default

account = "<ACCOUNT>"
useAccount = false # default
}
}
}