Entropy test results

Test run: 27 July 2026 · Published: 10 August 2026

This page publishes the statistical test results behind the randomness claim on our homepage, plus enough method to let you re-run them against the live API yourself.

What was tested

One million bits pulled from the live QuantumRand API in 245 sequential calls (business-tier key, 4,096 bits per call), while the service reported real_quantum_seeded=true — that is, while its generator was seeded from real IBM quantum hardware. The same battery was then run on one million bits from /dev/urandom as a control, to check the test harness itself.

Seven tests from the NIST SP 800-22 suite, at a significance level of α = 0.01. This is a seven-test subset, not the complete fifteen-test suite — see what this is not.

QuantumRand — live API, quantum-seeded. n = 1,000,000 bits, α = 0.01.
Testp-valueVerdict
Monobit (frequency)0.99362Pass
Block frequency0.35037Pass
Runs0.69358Pass
Longest run of ones0.78545Pass
Cumulative sums0.98526Pass
Approximate entropy0.97349Pass
Discrete Fourier transform (spectral)0.67293Pass
Control — /dev/urandom, the operating system's CSPRNG. Same battery, same n.
Testp-valueVerdict
Monobit (frequency)0.56057Pass
Block frequency0.71675Pass
Runs0.26801Pass
Longest run of ones0.24866Pass
Cumulative sums0.85547Pass
Approximate entropy0.06922Pass
Discrete Fourier transform (spectral)0.40886Pass

What this shows — and what it does not

Both sources pass all seven tests. That is the expected and correct result, and we want to be precise about what it means.

What the quantum seed actually buys you is provenance: the seed originates in quantum hardware rather than a formula, and every API response is labelled with the source that produced it. That is a supply-chain property, not a per-bit statistical one.

Re-running it yourself

The battery is deliberately reproducible. With an API key, pull a million bits and run any SP 800-22 implementation over them — ours, NIST's reference suite, or dieharder. Bits arrive as hex; n is the number of bits (a multiple of 4, at most 4096 per call):

curl -H "X-API-Key: $QR_KEY" \
  "https://quantumrand.dev/generate/hex?n=4096"

Repeat to your sample size, concatenate, convert hex to a bitstream, and test. Check the source field on each response so you know what you measured, and /health for the seed state at the time of your run — seed_source and real_quantum_seeded tell you whether the generator was on a real hardware seed or a labelled fallback.

Expect p-values to differ from ours. They should: each run is a fresh sample, and a p-value is not a score. A single test falling below α on one run is ordinary sampling behaviour, not a defect — that is what α = 0.01 means.

Questions about the method

If you want the exact runner we used, or you re-run this and get a result you can't reconcile with ours, email hello@qntyx.io and we'll share the harness and compare notes.