Sealed evidence

A result you can re-check.
Without asking us.

Runs that QCOS executes come back with a record of what ran, where, with which seed and parameters, at what cost, returning what — sealed under a SHA-256 Merkle root. Keep the file. Anyone can recompute the seal on their own machine.

SHA-256Merkle root over the whole record
Offlineverify with no network call
0 creditssimulator runs are sealed too
JSONa plain file you keep
SHA-256Merkle root over the whole record
Offlineverify with no network call
0 creditssimulator runs are sealed too
JSONa plain file you keep
SHA-256Merkle root over the whole record
Offlineverify with no network call
0 creditssimulator runs are sealed too
JSONa plain file you keep
What a record holds

Eight sections.
One hash each, one root.

QCOS writes the record as JSON, hashes each section with SHA-256 and combines the eight hashes into a Merkle root. The rule for recomputing it — canonical JSON, sorted keys, no whitespace — sits inside the seal, so nobody has to guess how it was built.

identity

Run and job ids, timestamps, and the hashes of the input circuit and of the result.

reproducibility

Software environment, random seeds, algorithm parameters, and the shot, cost and time limits.

backend

Where it ran: execution mode, backend, and the hardware snapshot when the provider reports one.

circuit

The circuit's logical metrics, and the compiled ones wherever QCOS compiled it.

execution

Status, attempts, configuration, timings, resource use, and any error mitigation applied.

results

The raw distribution, quality metrics, and how many requested shots produced an outcome.

control_topology

The control path the run took, field by field. What nobody knows is marked unknown, not left out.

economics

Estimated and actual cost, and the credits the run required.

audit

The eight section hashes, the Merkle root, and the exact rule for recomputing both.

Change one field and its section hash changes, and so does the root. The audit block also carries a single hash of the whole record.

Re-check it yourself

Three commands.
The last one needs no network.

Fetch the record once and keep it with your results. The offline check recomputes every section hash and the root on your machine, then compares them with what the record claims. Nothing is sent anywhere.

The same check ships in the Python SDK, so a pipeline can refuse a record that does not verify.

softqcos · evidence
# install the CLI
pip install softqcos

# keep your own copy — the server store is a cache
softqcos evidence get <evidence_id> --out record.json

# recompute every hash on this machine, no network
softqcos evidence verify record.json --offline

# prints VERIFIED, or NOT VERIFIED and exits 1
Sealed, not signed

What the seal proves.
And what it does not.

A seal is integrity: the record you hold is the record that was made. It is not origin: anyone can compute a hash over content they control. Every record states its own claim level, and a record with hashes only says SEALED_UNSIGNED.

SHA-256Merkle rootcanonical JSONoffline check

Integrity

Edit any field and the recomputed root no longer matches. The offline check reports NOT VERIFIED.

Reproducibility

Seeds, parameters, shots and the software environment are inside the seal, so someone else can run it again.

Not origin

A hash does not say who made the record. We call a record signed only when it carries a signature you can check.

Two kinds of record

Runs QCOS executes are Merkle-sealed. The quick simulator in SynapseX Labs keeps a content-hashed manifest of the code, seed and shots instead.

FAQ

What people ask
before they cite a result.

A JSON record of one run: what ran, on which backend, with which seed and parameters, what came back and what it cost. QCOS hashes each part of the record with SHA-256 and combines those hashes into a single Merkle root. Change any field afterwards and the root no longer matches.

Sealed, not signed. A seal proves the record was not altered after it was made; it does not prove who made it. Every record states its own claim level, and a record marked SEALED_UNSIGNED carries hashes only. We do not call a record signed unless it carries a signature you can check.

Install the CLI with pip install softqcos, save the record with softqcos evidence get <evidence_id> --out record.json, then run softqcos evidence verify record.json --offline. The check recomputes the hashes on your machine with no network call and prints VERIFIED or NOT VERIFIED.

Runs that QCOS executes, including its free CPU simulators, come back with a record sealed under a SHA-256 Merkle root. The quick simulator built into SynapseX Labs keeps a content-hashed manifest instead: a SHA-256 of each file, plus the code that ran, the seed and the shots, hashed together into one fingerprint.

QCOS keeps a copy you can fetch by its evidence id, but treat that copy as a cache and keep your own. The record is a plain JSON file: store it next to your results, attach it to a paper, or hand it to a reviewer.

Whether the science is right. A seal shows that the record you hold is the record that was made, and the seed and parameters let someone run it again. Whether the method suits the question is still for you and your reviewers to judge.

Keep the record.
Check it anywhere.

Simulator runs on QCOS cost 0 credits and come back sealed. Install the CLI, run a circuit, and verify the record on a machine that has never talked to us.