{"id":48383452,"url":"https://github.com/edyionescu/fix-protocol-nodejs-client","last_synced_at":"2026-04-05T21:16:04.266Z","repository":{"id":289146361,"uuid":"967028312","full_name":"edyionescu/fix-protocol-nodejs-client","owner":"edyionescu","description":"Node.js FIX client","archived":false,"fork":false,"pushed_at":"2026-03-07T14:50:30.000Z","size":1491,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-07T20:57:32.032Z","etag":null,"topics":["expressjs","fix-engine","fix-protocol","nodejs","reactjs","vite"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/edyionescu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-04-15T20:17:33.000Z","updated_at":"2026-03-07T14:50:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"cc858c5a-a96b-40de-8898-21bd34ffcaf7","html_url":"https://github.com/edyionescu/fix-protocol-nodejs-client","commit_stats":null,"previous_names":["edyionescu/fix-protocol-nodejs-client"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/edyionescu/fix-protocol-nodejs-client","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edyionescu%2Ffix-protocol-nodejs-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edyionescu%2Ffix-protocol-nodejs-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edyionescu%2Ffix-protocol-nodejs-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edyionescu%2Ffix-protocol-nodejs-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/edyionescu","download_url":"https://codeload.github.com/edyionescu/fix-protocol-nodejs-client/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edyionescu%2Ffix-protocol-nodejs-client/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31450229,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T15:22:31.103Z","status":"ssl_error","status_checked_at":"2026-04-05T15:22:00.205Z","response_time":75,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["expressjs","fix-engine","fix-protocol","nodejs","reactjs","vite"],"created_at":"2026-04-05T21:16:03.619Z","updated_at":"2026-04-05T21:16:04.256Z","avatar_url":"https://github.com/edyionescu.png","language":"JavaScript","readme":"# FIX protocol Node.js client\n\n[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/edyionescu/fix-protocol-nodejs-client)\n![GitHub License](https://img.shields.io/github/license/edyionescu/fix-protocol-nodejs-client)\n\nA 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`](https://www.fixtrading.org/standards/fix-4-4/) standards.\n\nOn the frontend, a React application is designed for manual testing of various FIX protocol endpoints, which can be helpful during the onboarding process.\n\n\u003cimg src=\"fix-protocol-nodejs-client.gif\" alt=\"FIX protocol Node.js client\"/\u003e\n\n### Key Components\n\n1. Session Management\n\n   - Handles TCP/IP connections to FIX servers\n   - Manages login/logout sequences\n   - Maintains heartbeat intervals\n   - Processes session-level messages\n\n2. Message Processing\n\n   - Constructs FIX messages following 4.4 specification\n   - Parses incoming FIX messages\n   - Validates message format and content\n\n3. Protocol Compliance\n\n   - Implements required fields and tags\n   - Maintains proper message structure\n   - Handles checksum validation\n   - Supports mandatory message types\n\n### Message Types\n\n- Logon (35=A)\n- Heartbeat (35=0)\n- Logout (35=5)\n- Execution Report (35=8)\n- New Order Single (35=D)\n- Order Cancel Request (35=F)\n- Market Data Request (35=V)\n- Collateral Inquiry (35=BB)\n- Request For Positions (35=AN)\n\n## Usage\n\n#### Server ([Express](https://expressjs.com/))\n\n1. Open the `/server` folder from terminal.\n2. Run `npm install` to install all the dependencies.\n3. Obtain the connection settings (host/port) and authentication credentials from the remote FIX provider.\n\n   - Create an empty `.env` file and copy the contents of `.env.example`.\n   - Update the `FIX trading connection` and `FIX market data connection` keys.\n\n   Note: To connect to the [`Binance FIX Api`](https://developers.binance.com/docs/binance-spot-api-docs/testnet/fix-api), first generate an Ed25519 public key pair as described on [`testnet.binance.vision`](https://testnet.binance.vision/), then update the `BINANCE_PRIVATE_KEY` in `.env`.\n\n4. Run `npm run dev` to start the server.\n\n#### Client ([React](https://react.dev/), [Vite](https://vite.dev/))\n\n1. Open the `/client` folder from terminal.\n2. Run `npm install` to install all the dependencies.\n3. Create an empty `.env` file and copy the contents of `.env.example`.\n4. Run `npm run dev` to start the application .\n5. Visit the application at [`http://localhost:5173/`](http://localhost:5173/).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedyionescu%2Ffix-protocol-nodejs-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fedyionescu%2Ffix-protocol-nodejs-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedyionescu%2Ffix-protocol-nodejs-client/lists"}