Skip to main content

Jane Street / JCX 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 = "<HOST>"
port = <PORT>

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