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
/serverfolder from terminal. -
Run
npm installto install all the dependencies. -
Obtain the connection settings (host/port) and authentication credentials from the remote FIX provider.
- Create an empty
.envfile and copy the contents of.env.example. - Update the
FIX trading connectionandFIX market data connectionkeys.
Note: To connect to the
Binance FIX Api, first generate an Ed25519 public key pair as described ontestnet.binance.vision, then update theBINANCE_PRIVATE_KEYin.env. - Create an empty
-
Run
npm run devto start the server.
- Open the
/clientfolder from terminal. - Run
npm installto install all the dependencies. - Create an empty
.envfile and copy the contents of.env.example. - Run
npm run devto start the application . - Visit the application at
http://localhost:5173/.
