PQ CRYPTA PLATFORM

๐Ÿ  Main

๐Ÿงช Interactive Apps

๐Ÿ“ฐ News

๐Ÿ›ก๏ธ PQ Crypta Proxy

๐Ÿ‘ค Account

โŸจ QUANTUM ERROR PORTAL โŸฉ

Navigate the Error Dimensions

PQ Crypta Logo

HTTP/3 Client Matrix

What each implementation does when the server misbehaves on purpose

Every result here was produced by pointing a real client binary at the adversarial conformance suite and recording what the server observed. Nothing is hand-entered, and no client is asked to report on itself.

This is not a ranking. Several tests are discretionary — the specification permits more than one answer — and a client can be entirely conformant and still never reach a test, which is recorded as inconclusive rather than counted against it. The interesting cells are the ones where implementations disagree.

7 clients
57 tests each
28 disagreements
2026-09-17 last run

The implementations

ClientStackLanguageVersionResult
curl ngtcp2 + nghttp3 C ngtcp2/1.11.0 30 pass 0 fail 22 incon
quinn quinn + h3 (our fork) Rust noq fork 38 pass 3 fail 16 incon
aioquic aioquic Python 1.3.0 38 pass 3 fail 11 incon
chromium Chromium QUICHE C++ build 1223 43 pass 5 fail 9 incon
quic-go quic-go Go quic-go v0.61.0 42 pass 2 fail 13 incon
quiche Cloudflare quiche Rust 0.30.0 41 pass 3 fail 13 incon
neqo neqo (Firefox) Rust unknown 42 pass 4 fail 11 incon

Per-test results

Rows where the implementations disagree are marked . Hover a cell for what the server actually observed.

Verdict and implementation work together: choosing a verdict alone shows every test where any client scored it, and adding an implementation narrows that to one column — “every failure in Chromium”, or “every RFC 9114 correctness test where implementations disagree”. Column headings sort.

q-version-negotiation RFC 9000 ยง6 · MUST Pass Pass Pass Pass Pass Pass Pass
q-retry RFC 9000 ยง8.1.2 · MUST Pass Pass Pass Pass Pass Pass Pass
q-reserved-transport-param RFC 9000 ยง18.1 · MUST Pass Pass Pass Pass Pass Pass Pass
q-reserved-frame RFC 9000 ยง12.4 · MUST Pass Pass Pass Pass Pass Pass Fail
q-cid-rotation RFC 9000 ยง5.1 · MUST Inconclusive Inconclusive Inconclusive Inconclusive Pass Inconclusive Inconclusive
q-stateless-reset RFC 9000 ยง10.3 · MUST Pass Pass Fail Pass Pass Pass Pass
q-flow-control RFC 9000 ยง4 · SHOULD Pass Pass Pass Pass Pass Pass Pass
q-ack-frequency draft-ietf-quic-ack-frequency · MAY Pass Pass Pass Pass Pass Pass Pass
q-ecn RFC 9000 ยง13.4 · MUST Inconclusive Inconclusive Inconclusive Pass Pass Inconclusive Inconclusive
q-pmtu-blackhole RFC 9000 ยง14, RFC 8899 · SHOULD Pass Pass Pass Pass Pass Pass Pass
q-path-challenge RFC 9000 ยง8.2 · MUST Pass Pass Pass Pass Pass Pass Pass
q-zero-rtt-reject RFC 9001 ยง4.6.2 · MUST Inconclusive Inconclusive Inconclusive Inconclusive Inconclusive Inconclusive Inconclusive
q-multipath draft-ietf-quic-multipath · MAY Pass Pass Pass Pass Pass Pass Pass
q-key-update RFC 9001 ยง6.2 · MUST Pass Pass Pass Pass Pass Pass Pass
q-stream-limit RFC 9000 ยง4.6 · MUST NOT Pass Pass Pass Pass Pass Pass Pass
q-loss-recovery RFC 9000 ยง2.2, ยง13.3 · MUST Pass Pass Pass Pass Pass Pass Pass
q-connection-migration RFC 9000 ยง9.6 · SHOULD Pass Pass Pass Pass Pass Pass Pass
q-invalid-transport-param RFC 9000 ยง7.4, ยง18.2 · MUST Pass Inconclusive Pass Fail Fail Pass Fail
q-zero-rtt-replay RFC 8470 ยง5.2 · SHOULD Inconclusive Inconclusive Inconclusive Inconclusive Inconclusive Inconclusive Inconclusive
q-ecn-congestion RFC 9000 ยง13.4 · MUST Inconclusive Inconclusive Inconclusive Pass Pass Inconclusive Inconclusive
q-key-update-repeated RFC 9001 ยง6.1, ยง6.5 · MUST Pass Pass Pass Pass Pass Pass Pass
q-max-streams-credit RFC 9000 ยง4.6 · MUST NOT Inconclusive Pass Pass Pass Pass Pass Pass
h-grease-settings RFC 9114 ยง7.2.4.1 · MUST Pass Pass Pass Pass Pass Pass Pass
h-grease-frame RFC 9114 ยง7.2.8 · MUST Pass Pass Pass Pass Pass Pass Pass
h-reserved-uni-stream RFC 9114 ยง6.2.3 · MUST Pass Pass Pass Pass Pass Pass Pass
h-duplicate-setting RFC 9114 ยง7.2.4 · MAY Pass Pass Pass Pass Pass Pass Pass
h-control-frame-unexpected RFC 9114 ยง7.2.1 · MUST Inconclusive Pass Pass Pass Pass Pass Pass
h-missing-settings RFC 9114 ยง6.2.1 · MUST Inconclusive Pass Pass Pass Pass Pass Pass
h-second-control-stream RFC 9114 ยง6.2.1 · MUST Inconclusive Pass Pass Pass Pass Pass Pass
h-qpack-dynamic-table RFC 9204 ยง4.3.3, ยง4.5.2 · MUST Inconclusive Inconclusive Inconclusive Inconclusive Inconclusive Inconclusive Inconclusive
h-qpack-huffman RFC 9204 ยง4.1.2, RFC 7541 ยง5.2 · MUST Pass Pass Pass Pass Pass Pass Pass
h-oversized-field-section RFC 9114 ยง4.2.2 · MUST Pass Pass Pass Pass Pass Pass Pass
h-trailers RFC 9114 ยง4.1 · MUST Pass Pass Pass Pass Pass Pass Pass
h-early-hints RFC 9110 ยง15.2, RFC 8297 · MUST Pass Fail Fail Pass Pass Pass Pass
h-goaway RFC 9114 ยง5.2 · SHOULD Pass Pass Pass Fail Pass Pass Pass
h-max-push-id RFC 9114 ยง7.2.7 · MUST NOT Inconclusive Pass Pass Pass Inconclusive Pass Pass
h-settings-on-request-stream RFC 9114 ยง7.2.4 · MUST Inconclusive Pass Pass Pass Pass Pass Pass
h-data-before-headers RFC 9114 ยง4.1 · MUST Inconclusive Pass Pass Pass Pass Fail Pass
h-cancel-push-unsolicited RFC 9114 ยง7.2.3 · MUST Inconclusive Fail Inconclusive Fail Inconclusive Inconclusive Pass
h-qpack-blocked-stream RFC 9204 ยง2.1.2, ยง2.2.1 · MUST Inconclusive Inconclusive Inconclusive Inconclusive Inconclusive Inconclusive Inconclusive
h-response-stream-reset RFC 9114 ยง8, ยง4.1 · MAY Pass Pass Pass Pass Pass Pass Pass
h-priority-update RFC 9218 ยง7.2 · MUST NOT Pass Pass Pass Pass Pass Pass Pass
h-extended-connect RFC 9220 ยง3, RFC 8441 ยง3 · MUST Pass Pass Pass Pass Pass Pass Pass
h-push-promise-unsolicited RFC 9114 ยง7.2.5, ยง4.6 · MUST Inconclusive Fail Fail Fail Inconclusive Fail Fail
h-datagram-setting-invalid RFC 9297 ยง2.1.1 · MUST Inconclusive Inconclusive Pass Pass Fail Pass Pass
h-qpack-encoder-overflow RFC 9204 ยง4.3.1, ยง6 · MUST Inconclusive Inconclusive Inconclusive Inconclusive Inconclusive Inconclusive Inconclusive
h-goaway-increasing RFC 9114 ยง5.2 · MUST Inconclusive Pass Inconclusive Pass Pass Pass Fail
h-push-stream-unpromised RFC 9114 ยง6.2.2 · MUST Inconclusive Inconclusive Inconclusive Fail Pass Fail Pass
h-qpack-static-index-invalid RFC 9204 ยง3.1, ยง4.5.2 · MUST Inconclusive Pass Pass Pass Inconclusive Pass Pass
q-packet-reordering RFC 9000 ยง2.2 · MUST Pass Pass Pass Pass Pass Pass Pass
h-qpack-encoder-bad-name-index RFC 9204 ยง3.1, ยง4.3.2 · MUST Inconclusive Inconclusive Pass Pass Inconclusive Inconclusive Pass
t-hybrid-only RFC 8446 ยง4.1.4, draft-ietf-tls-hybrid-design · MUST Not run Pass Not run Pass Pass Pass Pass
t-classical-only RFC 8446 ยง4.1.1, draft-ietf-tls-hybrid-design ยง5 · MAY Pass Inconclusive Pass Pass Pass Pass Pass
t-hybrid-large-hello RFC 9000 ยง8.1, ยง14.1, RFC 9001 ยง4.4 · MUST Not run Pass Not run Pass Pass Pass Pass
t-group-not-offered RFC 8446 ยง4.1.3, ยง4.2.8 · MUST Not run Inconclusive Not run Inconclusive Inconclusive Inconclusive Inconclusive
t-corrupt-hybrid-share draft-ietf-tls-hybrid-design ยง3.2, RFC 8446 ยง4.1.3 · MUST Not run Inconclusive Not run Inconclusive Inconclusive Inconclusive Inconclusive
t-grease-group RFC 8701 ยง3.1, RFC 8446 ยง4.1.4 · MUST Not run Inconclusive Not run Inconclusive Inconclusive Inconclusive Inconclusive

Reading this honestly

Generated 2026-09-17T20:03:02Z. Run the suite against your own client at conformance.pqcrypta.com.