@boarteam/fix documentation
@boarteam/fix is a TypeScript FIX analyzer with zero runtime dependencies. It parses, validates and encodes FIX messages — in a browser tab or in Node — and it never throws on bad input: framing, datatype and validation problems come back as data. It is an analyzer by design, not a session engine: no sockets, no sequence numbers, no heartbeats. If your job is a log viewer, a decode dashboard, a test harness or a CI assertion, this is built for you.
Install
You need the engine plus at least one dictionary. The dictionaries ship as data and peer-depend on the engine; everything is dual ESM + CJS with types included, and runs on Node ≥ 18 or any modern browser.
npm install @boarteam/fix @boarteam/fix-dict-fix44
Swap in @boarteam/fix-dict-fix42 for FIX 4.2, or @boarteam/fix-dict-fix50sp2 for FIX 5.0 SP2 over FIXT.1.1 — choosing a dictionary covers the trade-offs.
First parse
createFixEngine(dictionary) binds the engine to a dictionary and returns { parse, parseAll, validate, encode }. Feed parse a raw message — string or Uint8Array, real SOH or pipe-separated — and you get named, typed fields back. The // → comments below are not aspirational: every sample on these pages is executed against the published packages by this site’s test suite, and the annotated output is asserted.
import { createFixEngine } from '@boarteam/fix';import { dictionary } from '@boarteam/fix-dict-fix44';const fix = createFixEngine(dictionary);// A MarketDataSnapshotFullRefresh (35=W), with SOH written as "|" so it is// readable — the same message the playground opens with.const raw = '8=FIX.4.4|9=130|35=W|49=SENDER|56=TARGET|34=2|52=20240101-12:00:00.000|' + '55=EUR/USD|268=2|269=0|270=1.0921|271=1000000|269=1|270=1.0923|271=1000000|10=248';const { message, issues } = fix.parse(raw, { soh: '|' }); // never throwsconsole.log(message.name); // → MarketDataSnapshotFullRefreshconsole.log(message.msgType); // → Wconsole.log(message.fields[55].value); // → EUR/USDconsole.log(issues.length); // → 0console.log(fix.validate(message).length); // → 0Want to see it on your own traffic first? The decoder runs this exact engine in your browser — paste a message, nothing is uploaded.
Guides
Where to go next
The FIX reference documents every tag, message, component and datatype the dictionaries define, with a real decoded example on each page. Decode diagnostics explains the issue codes you will meet in issues and validate() output. And the GitHub repository carries the full package READMEs, the roadmap and the issue tracker.