Voltry Probe
Voltry Probe captures, signs, and renders condition and provenance evidence
for data-center GPUs. voltry scan reads what the hardware already exposes
over NVML and the NVIDIA attestation chain (with DCGM and Redfish telemetry
consumed where a collector provides it), without requesting resets,
reconfiguration, or stress diagnostics, and binds the readings to the
device's fused cryptographic identity. voltry cert renders the signed
bundle into a self-contained certificate you can open with no network at all.
It never states or implies what your hardware is worth. It records what the hardware is.
Install
pipx install voltry-probe
Requires Python 3.10 or newer. Stock DGX OS and Ubuntu 22.04 hosts work as-is.
pip install voltry-probe inside a virtualenv works too.
Optional extras:
pipx install "voltry-probe[hardware]" # live NVML + Redfish readers
pipx install "voltry-probe[submit]" # the opt-in submission client
Without [hardware] the probe runs against captured fixtures and simulators,
which is all you need to evaluate it.
Sixty seconds to a certificate
# 1. Scan. Read-only, works fully offline and air-gapped.
# Reads live hardware; signs with your operator key.
voltry scan --signing-key operator.pem --out bundle.json
# 2. Render. A self-contained HTML certificate, no network needed to view.
voltry cert bundle.json --out cert.html
Just evaluating, with no GPU and no key of your own? Point scan at a captured
sample and sign with a throwaway key:
voltry scan --fixture sample.json --ephemeral-key --out bundle.json
voltry cert bundle.json --out cert.html
That is the whole loop. voltry submit exists as a separate, explicit,
opt-in step; scanning and rendering never phone home.
What read-only means
The probe never writes to, resets, reconfigures, or stress-tests a device during a scan. You can run it on a live production fleet. It does write the local output files you ask for (the bundle and the certificate).
Functional qualification (which does exercise the device) is a separate,
explicit operation and never part of a scan: it requires importing
voltry_probe.functional and giving drain consent at the call. This release
maps functional results captured elsewhere into the bundle; it does not yet
run the live diagnostics itself.
| Operation | Device mutation | Network |
|---|---|---|
import voltry_probe |
No | No |
voltry scan |
No | No |
voltry cert |
No (no device access) | No |
voltry submit |
No | Yes: opt-in, consent flag required |
voltry_probe.functional |
Mapping only in this release; live runs need drain consent | No |
What the certificate says, and what it does not
The certificate keeps measured facts and modeled estimates in separate blocks that never look alike:
- Deterministic gates: authenticity, firmware integrity, functional and sanitization results. Pass or fail, no model in the loop.
- Measured condition: ECC and Xid history, retired and remapped pages, spare rows remaining, throttle and clock behavior. Raw values against published thresholds.
- Provenance: certification history on the device's permanent identity, append-only. A failed attempt stays on the record; cherry-picking is structurally impossible.
It never contains a price, a dollar figure, or a lifetime guarantee. Power-chain exposure reads "Not Assessed" unless the facility itself was instrumented; it is never inferred from board power.
Verifying a bundle yourself
Every bundle is signed (ECDSA P-384 over RFC 8785 canonical JSON) and can be
verified by anyone with the voltry-evidence-schema package:
import json
from evidence_schema import EvidenceBundle, verify_bundle
bundle = EvidenceBundle.model_validate(json.load(open("bundle.json")))
assert verify_bundle(bundle)
License
Apache-2.0.
Release files for voltry-probe 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| voltry_probe-0.3.0.tar.gz | 66.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| voltry_probe-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 115.5 kB
Release files / voltry_probe-0.3.0.tar.gz
| Download URL | voltry_probe-0.3.0.tar.gz |
|---|---|
| Size | 66.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
eb22da36be72c0840f7beaf3888c6a2eb290917fbe5ab25cb06d180b18040d0b
|
|
BLAKE2b-256 checksum How to use checksums |
140a1502339404bd51ec72aab5f30d06f722f562b6fe83dafea994fc1747ae1e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
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 Jul 12, 2026.
Transparency logRelease files / voltry_probe-0.3.0-py3-none-any.whl
| Download URL | voltry_probe-0.3.0-py3-none-any.whl |
|---|---|
| Size | 48.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e5dc04ce9aab43de55a57376fd0abeaec8e435d4a8825be31fd5410a5a092776
|
|
BLAKE2b-256 checksum How to use checksums |
0e2fc633d6c6e36d2ba3afcc4c87ffa0c24464d54e8ccf37c4066bb2e104384e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
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 Jul 12, 2026.
Transparency log