q-armor-chain
The blockchain side of QArmor: a DVN worker whose attestations a quantum computer cannot forge.
Ethereum's signature envelope is ECDSA, and Shor breaks ECDSA. A bridge that trusts only that envelope inherits its expiry date. The attestation inside does not have to.
The DVN worker and contracts/QArmorDVN.sol. It listens for JobAssigned on
the contract, verifies the payload with ML-DSA-65 (FIPS 204, not ECDSA)
and posts the attestation on-chain. A quantum attacker can break Ethereum's
ECDSA envelope; it cannot forge the attestation.
pip install q-armor-chain
Producer zero of the telemetry pipeline (INV-10, ADR-23)
This package does not talk to tx-platform, and that is not a convention:
the worker receives no control-plane client, so it cannot. Its intelligence
reaches the graph by pull, read from the on-chain events by
q-chain-indexer.
It used to push a dvn_job_verified event for every job. Being best-effort
and non-blocking did not save it: it was still a coupling route, and it was
the estate's only live invariant violation.
The decoy survived the cut. The canary's URL was the useful content of
that push: an attacker who harvested that HTTPS and decrypted it tomorrow
found the URL and visited it. It now travels in the canary's registration in
canary-network, which is a QArmor endpoint and not a source of the pipeline.
With no canary_network_url configured there is no channel to harvest and the
decoy is inert, exactly as it was before in open mode, and that is said rather
than hidden.
Why this package still carries cryptography
The L2 emission (iden-q-post-quantum) publishes ML-KEM-768 and
ML-DSA-44, in Python and in TypeScript. ML-DSA-65 is emitted by no
language, and it is the one that signs these attestations. That is why
q-armor-pqc still exists; see its
README.
The QArmor family
Five packages, one version, published together from a single tag.
| Package | What it is |
|---|---|
q-armor-lib |
Detection, scoring and the control-plane client |
q-armor-cli |
q-armor, the operator's command line |
q-armor-proxy |
Enterprise runtime: protection proxy, firewall, SIEM webhook |
q-armor-chain |
This one: the DVN worker and QArmorDVN.sol |
q-armor-pqc |
Interim ML-DSA-65 primitive |
Next
Metadata
Release files for q-armor-chain 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| q_armor_chain-0.3.1-cp313-none-any.whl | CPython 3.13 | none | any | Details |
| q_armor_chain-0.3.1-cp312-none-any.whl | CPython 3.12 | none | any | Details |
| q_armor_chain-0.3.1-cp311-none-any.whl | CPython 3.11 | none | any | Details |
Total release size: 48.9 kB
Release files / q_armor_chain-0.3.1-cp313-none-any.whl
| Download URL | q_armor_chain-0.3.1-cp313-none-any.whl |
|---|---|
| Size | 16.4 kB |
| Tags | CPython 3.13 |
|
SHA-256 checksum How to use checksums |
46a6d62589ec97a67d73874755e23fc7e4ec75d59ac0bbb7437a3a9f98f32ac8
|
|
BLAKE2b-256 checksum How to use checksums |
e1520a272c64a75b28af65d75d7732c405dfcd0f7dd272088b074d9ba64c7d7f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / q_armor_chain-0.3.1-cp312-none-any.whl
| Download URL | q_armor_chain-0.3.1-cp312-none-any.whl |
|---|---|
| Size | 16.4 kB |
| Tags | CPython 3.12 |
|
SHA-256 checksum How to use checksums |
5037842cd3438e8edf03415e48aad3cfe2f99d3aab7945aca5af57f6181ac7d0
|
|
BLAKE2b-256 checksum How to use checksums |
abe54ee43fa89bd5c2e8f661a13d86491e0660e9dea7f499b0f36aabb14d7a74
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / q_armor_chain-0.3.1-cp311-none-any.whl
| Download URL | q_armor_chain-0.3.1-cp311-none-any.whl |
|---|---|
| Size | 16.1 kB |
| Tags | CPython 3.11 |
|
SHA-256 checksum How to use checksums |
a4a4109a4a1e56e8e6eee9a6705b96be6b64c1983132eb84fa82a3f39fa6fceb
|
|
BLAKE2b-256 checksum How to use checksums |
f9e9348db775cc99698f7e0ea771eb894c1ce72afdefa4ea25d0bac102f548a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency log