Skip to content

ZigBolt

A pure-Zig, zero-allocation, lock-free messaging system for high-frequency trading. Zero GC pauses, zero JVM safepoints, zero runtime overhead.

< 200ns IPC Latency

Shared memory channels with cache-line-padded atomics, designed for sub-200ns p50 round-trip latency (design target — run the bundled benchmarks on your hardware).

Zero Copy

Messages decoded in-place via pointer cast. No serialization overhead on the hot path.

100M+ msg/sec

Comptime wire codecs targeting 100M+ encode/decode operations per second.

No Runtime, No GC

A single native shared library (about a megabyte). No JVM, no runtime, no garbage collector.

Lock-Free Buffers

SPSC (acquire/release atomics) and MPSC (CAS two-phase commit) ring buffers. 1-to-N broadcast buffer for market data fan-out.

SBE Codec

FIX-standard Simple Binary Encoding with groups, vardata, and comptime schemas. NewOrderSingle, ExecutionReport, MarketData messages built-in.

Aeron-Compatible Protocol

Wire protocol flyweights (DataHeader, StatusMessage, NAK, Setup, RTT, Error). AIMD congestion control. Min/Max/Tagged flow control.

Raft Consensus (Experimental)

Leader election, log replication, durable write-ahead log, persisted vote/term, atomic snapshots, and crash recovery. Experimental: liveness (election timers, transport) is the embedder’s responsibility, and it has not yet been validated with multi-process fault injection.

Archive & Replay

Segment-based message recording with per-record CRC32 and configurable fsync. Catalog with time/stream queries. Sparse index. Standalone LZ4-style compression utility.

Five Language Bindings

C, Rust, Python, Go, and TypeScript bindings — all five build and pass smoke tests against the C-ABI shared library.

Hardened & Tested

423 tests pass in both Debug and ReleaseFast. The IPC shared-memory header is treated as untrusted (bounds-checked), ring buffers are memory-safe with back-pressure, and the FIX/SBE/flyweight wire parsers validate untrusted input — a malformed datagram cannot cause out-of-bounds access or panics.

FeatureZigBoltAeronChronicle QueueZeroMQ
LanguageZigJava/C++JavaC
IPC Latency (p50)< 200 ns (target)~200 ns~1 us~10 us
SBE CodecNativeXML codegenChronicle WireNo
GC PausesNoneJVM GCJVM GCNone
ReliabilityNAK-basedNAK-basedReplicationREQ/REP
ClusterRaft (experimental)RaftEnterpriseNone
Binary Size~1 MB (no JVM)~20 MB~50 MB~1 MB

Latency figures for ZigBolt are design targets; figures for other systems are their publicly stated numbers. Benchmark on your own hardware.

ZigBolt is developed alongside these projects by the same team:

Marketmaker.cc

Market making tools and strategies for high-frequency trading. marketmaker.cc