FIX over ZAP
FIX 4.4 / 5.0 trading channel — schema published, runtime in progress.
FIX over ZAP
Status — spec-only, January 2026. The wire schema is published; the Go acceptor / initiator runtime hasn't shipped. The target use case is sub-µs trading where FIX semantics are required but the SSL/TCP transport overhead isn't acceptable.
zap-proto/fix carries the Financial Information eXchange (FIX) protocol — versions 4.4 and 5.0 SP2 — over the ZAP wire. The wire encoding will be FIX-compliant (parses with any FIX engine after the transport bridge); the transport will be ZAP.
Why on ZAP
- Mutual KEM auth at the transport — no per-session FIX Logon/CompID handshake security theater
- No head-of-line blocking — multi-stream framing means a slow market-data subscription doesn't stall order-entry
- Lossless audit trail — every message signed by sender ID and timestamped at wire receipt, not application time
- Bridge to classical FIX is part of the design — interop with QuickFIX engines is non-negotiable for any real venue
Schema
Published at zap-proto/fix/schema/zap_fix.zap. Maps every FIX 4.4 message type onto ZAP structs. Generated types via SDK codegen.
Roadmap
| Milestone | Target |
|---|---|
| Wire schema published (FIX 4.4) | ✅ |
| FIX 5.0 SP2 schema | in progress |
| Go acceptor + initiator | in progress |
| Bridge to QuickFIX TCP/SSL | proposed |
| Real-world performance harness | once runtime stabilizes |
We will not publish performance numbers until they're reproducible from zap-proto/bench. The current bench harness only covers HTTP-shaped workloads; a FIX-specific harness is part of the runtime delivery.
Track progress on zap-proto/fix.