Skip to main content

Jane Street Trade Connector

Features​

fix-jcxConnector Key
Instruments
FX
Request Types
SUBMITCANCEL
Order Types
LIMIT
Time In Force
DAYIOC
Order ID Mapper
SEQUENCE
✗
Order Status Request
✗
Cancel On Disconnect
✗
Commission
✗
Post Only
✗
Fast Cancel
✗
Fast Replace

Notes​

Message Recovery​

JCX does not resend lost messages after a sequence reset.

JCX does not support sequence number reset mid-session. ResetSeqNum(141)=Y in a Logon message is not supported.

Connectivity​

JCX requires secure connection with client-side certificate validation. Self-signed certificates are allowed.

Configuration steps:​

  • Generate self-signed certificate:

    openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 3650 -nodes

    Note: Provide JCX with cert.pem.

  • Merge key.pem and cert.pem files to one jcx.pem

    cat key.pem cert.pem > jcx.pem
  • Extract server side certificate

    openssl s_client -showcerts -connect 162-254-96-31.jcx.janestreet.com:23450 < /dev/null | openssl x509 -outform PEM > 162-254-96-31.jcx.janestreet.com.pem
  • Configure JCX section in stunnel.conf

    [JCX]
    client = yes
    accept = 33450
    connect = 162-254-96-31.jcx.janestreet.com:23450
    CAfile = 162-254-96-31.jcx.janestreet.com.pem
    cert = jcx.pem
    key = jcx.pem
    verify = 0

Symbology​

JCX UAT supports the following symbols:

Cryptocurrency common nameJane Street IdentifierMaximum quantity precision
BitcoinXBT8 decimal places
Bitcoin CashBCH8 decimal places
Bitcoin SVBSV8 decimal places
LitecoinLTC8 decimal places
EthereumETH6 decimal places
Ethereum ClassicETC6 decimal places
DogecoinDOGE0 decimal places

The symbols available in the JCX production environment should be discussed as part of the settlement agreement.

Schedule​

The UAT session runs from 01:45 to 17:00 New York time and is reset before the next session begins.

The Production system is currently available from 00:04 to 23:57, 7 days a week.

Configuration​

Connector settings​

ParameterDefault ValueDescription
targetSubIdTargetSubID(57).

Config sample​

connectors {
JCX: ${template.connector.fix.jcx} {
settings: {
host = "<STUNNEL_HOST>"
port = <STUNNEL_PORT>

senderCompId = "<SENDER_COMP_ID>"
targetCompId = "<TARGET_COMP_ID>"
targetSubId = "<TARGET_SUB_ID>"
}
}
}