Quantum LDPC decoding.
The syndrome, decoded and signed, in your browser.
A fault-tolerant machine runs a classical decoder in its innermost loop: every syndrome round must become a correction, fast and cheap enough to keep up with the code cycle. For the high-rate quantum LDPC codes that make fault tolerance affordable, the decoder is belief propagation — and plain BP fails on quantum codes, trapped by their stabilizer degeneracy and short Tanner-graph cycles. The fix is Relay-BP: an ensemble of BP passes with disordered per-node memory, relayed from one another, that breaks the symmetry.
Here it is in pure integer Rust (normalized min-sum — no float, no tanh), so a
decode is byte-identical on every machine and the correction is a portable hash. Each decode
seals a signed, joule-metered wai.quantum.decode receipt carrying joules-per-decode
— the metric no decoder reports and none signs. Honest boundary: simulated syndromes (no QPU),
and the browser's joules is modeled from the exact message-pass count; a real decoder fills it
from a hardware meter.
Toric code · decode a syndrome
Bivariate-bicycle qLDPC · [[72,12]]
Relay-BP vs plain BP · logical error rate, gross code
A decode you can put in an auditor's hands — and joules-per-decode, at last reported
The toric panel decodes a bit-flip syndrome on the canonical topological code: red edges are the
true error, green the decoder's correction, and the badge is green only when the residual is a
product of stabilizers — a logical success, not merely a satisfied syndrome. The gross-code
panel does the same on a real high-rate [[72,12]] bivariate-bicycle qLDPC code. The Monte
Carlo panel shows the point of relay: over identical error samples, Relay-BP's logical error
rate sits below plain BP's across the whole range — the disordered-memory legs recover decodes
plain BP leaves failed. Every decode hashes identically on every machine (no float in the
decoder) and carries a signed receipt binding (check-matrix hash, syndrome hash,
decoder params) → (correction hash, converged, work, joules). The classical decode layer,
content-addressed and budget-gated, with the one number the field never reports — the energy per
decode. Reference engine + spec in the open-standards repo, Apache-2.0.