A Node.js FIX client that enables communication with FIX servers for trading and market data operations. It acts as an initiator in the FIX protocol, establishing connections, sending messages, and receiving responses according to the FIX 4.4 specification
standards.
On the frontend, a React application is designed for manual testing of various FIX protocol endpoints, which can be helpful during the onboarding process.
-
Session Management
- Handles TCP/IP connections to FIX servers
- Manages login/logout sequences
- Maintains heartbeat intervals
- Processes session-level messages
-
Message Processing
- Constructs FIX messages following 4.4 specification
- Parses incoming FIX messages
- Validates message format and content
-
Protocol Compliance
- Implements required fields and tags
- Maintains proper message structure
- Handles checksum validation
- Supports mandatory message types
- Logon (35=A)
- Heartbeat (35=0)
- Logout (35=5)
- Execution Report (35=8)
- New Order Single (35=D)
- Order Cancel Request (35=F)
- Market Data Request (35=V)
- Collateral Inquiry (35=BB)
- Request For Positions (35=AN)
Server (Express)
-
Open the
/server
folder from terminal. -
Run
npm install
to install all the dependencies. -
Obtain the connection settings (host/port) and authentication credentials from the remote FIX provider.
- Create an empty
.env
file and copy the contents of.env.example
. - Update the
FIX trading connection
andFIX market data connection
keys.
Note: To connect to the
Binance FIX Api
, first generate an Ed25519 public key pair as described ontestnet.binance.vision
, then update theBINANCE_PRIVATE_KEY
in.env
. - Create an empty
-
Run
npm run dev
to start the server.
- Open the
/client
folder from terminal. - Run
npm install
to install all the dependencies. - Create an empty
.env
file and copy the contents of.env.example
. - Run
npm run dev
to start the application . - Visit the application at
http://localhost:5173/
.