Qstamp / Paper
Research paper · Mathematics and deployment

Post Quantum Evidence for Autonomous Agents on the Quantova Virtual Machine

The mathematics of Qstamp and how it is deployed. The paper defines how agent records are hashed, salted and committed, proves that the resulting evidence cannot be forged by a classical or quantum adversary under stated assumptions, and shows how a court or regulator verifies a receipt. It covers SDK release 0.1.4 on the Quantova test network.

Abstract

Autonomous agents and superintelligence agents now make payments, decisions and filings on behalf of companies in banking, government, healthcare and finance. The records of what those agents did are held by the operators whose conduct the records describe. Such records can be rewritten by their custodian, and where they are signed at all they are signed with ECDSA, EdDSA or RSA, which Shor's algorithm allows a quantum computer to forge in polynomial time.

Qstamp is an open SDK and a set of Quanta smart contracts on the Quantova Virtual Machine (QVM) that turn agent records into durable evidence that anyone can verify, while the records themselves remain private with the operator. Each record is reduced to a SHA3 256 digest and bound to a fresh 256 bit salt. The resulting leaves are combined in an RFC 9162 hash tree of up to 220 leaves, and the tree is committed by one domain separated 32 byte value that binds the chain, the contract, the signer, the record kind and the batch size. The commitment is anchored by an attested Quanta smart contract in a transaction signed with ML DSA 65 and finalised by a validator committee that has signed every block with ML DSA 65 since genesis.

We define an evidence forgery game and prove that the advantage of any classical or quantum adversary is bounded by the collision and second preimage advantages against SHA3 256, a q fold EUF-CMA advantage against ML DSA 65 and the probability of a consensus failure. We state exactly what a receipt proves and what it does not, describe how the contracts are compiled, attested and deployed, give a verification procedure suited to orders of courts and regulators with a worked example from the Quantova test network, and relate the construction to record keeping obligations in the European Union, the United Kingdom, the United States, Japan, Korea and Hong Kong.

Keywords

post quantum cryptographyAI agentssuperintelligence agentsaudit traildata integritytransparencyhash commitmentsML DSASHA3Merkle treesEU AI Actregulatory evidence
Document control
Issuing entity
Quantova Inc, a Delaware corporation and owner of the Qstamp technology
Research entity
Quanto Organisation Pte. Ltd., Singapore
Version
Version 1.0. The concept was concluded in 2025 and Qstamp was deployed in 2026.
Scope
Qstamp SDK release 0.1.4 and the Quanta contracts deployed on the Quantova test network Q-test-net-1
Status
Public technical specification. It does not constitute legal advice.
Permanent location
https://qstamp.org/paper.html
Recommended citation
Quantova Inc (2026), Qstamp research paper, Version 1.0

1. Introduction and contribution summary

Software agents built on large models now call tools, move funds, approve credit and produce content on behalf of people and institutions. When such an action is later disputed, the question before a court, a supervisor or an insurer is factual. What did the agent do, under which model and policy, and when? The answer is almost always taken from records kept by the operator of the agent, which is also the party whose conduct is in question.

Two weaknesses follow. The first is custody. A record held in a database under the operator's administrative control can be changed by the operator, and nothing in the record itself reveals the change. The second is durability. Where records are protected cryptographically, the protection is a digital signature over ECDSA, EdDSA or RSA, and published resource estimates indicate that a fault tolerant quantum computer of sufficient size would forge such signatures in hours or days [10, 11, 8]. Many records must be retained for six to ten years [37, 35], which is long compared with the uncertainty in when such a machine might exist [13].

Definition 0 · Qstamp

Qstamp is a privacy preserving, on chain evidence toolkit and SDK, deployed through the Quantova network, to which autonomous agents and superintelligence agents connect directly. Records, their digests and their receipts remain with the operator, and only salted commitments are published. It enables a company that operates such agents, including in banking, government, healthcare, finance and compliance, to produce evidence of what its agents did and decided. That evidence can be presented to courts, auditors and government authorities on request and verified by them without trusting the company or Quantova Inc. Under the hardness and consensus assumptions of Section 3, it cannot be forged by an adversary equipped with a quantum computer, in the sense made precise by Theorem 1.

Qstamp addresses both weaknesses with one construction. Each record is reduced inside the operator boundary to a salted SHA3 256 commitment. A batch of up to 220 commitments is aggregated in a hash tree, and a single 32 byte value that binds the tree to its chain, contract, signer, kind and size is anchored through a Quanta smart contract on the Quantova Virtual Machine. Every signature on which that anchor depends, from the account that submits it to the committee that finalises it, is an ML DSA 65 signature [24], and this has been so since the genesis block of the network. The record never leaves the operator, and any party holding the record and its receipt can later verify it without trusting the operator or Quantova Inc.

This paper makes the following contributions.

  1. A formal model of the operator as an insider adversary and of the quantum adversary against classical signatures, and a predicate that captures the record keeping requirements of current regulation (Section 2 and Section 3).
  2. A complete specification of the Qstamp construction exactly as implemented in SDK release 0.1.4, including encodings, the stamping and verification algorithms and the three valued verification outcome (Section 5).
  3. A reduction proving that evidence forgery against Qstamp is bounded by the collision and second preimage resistance of SHA3 256, the unforgeability of ML DSA 65 and the safety of consensus, together with binding, hiding and liveness properties and concrete classical and quantum bounds (Section 6).
  4. A precise statement of what a receipt proves and does not prove for autonomous agents (Section 7), and a verification procedure for orders of courts and regulators illustrated with a real test network run (Section 8).
  5. A mapping from legal obligations to the formal properties provided and their limits (Section 9), an analysis of why the properties require a post quantum layer 1 with attested contract code (Section 10), and measured cost and latency (Section 11).

The paper describes only what is live at the date of Version 1.0. The construction runs on the Quantova test network, whose receipts carry no evidential weight. Production use will take place on the Quantova main network once it launches. Planned features are identified as such in Section 6.7 and Section 12.

2. The problem, stated mathematically

Throughout, H denotes SHA3 256 [22], ‖ denotes byte concatenation, λ denotes the security parameter, and an algorithm is efficient if it runs in time polynomial in λ on a classical computer (PPT) or on a quantum computer (QPT).

2.1 Operator controlled records and the insider adversary

Definition 1 · Operator controlled log

A log is a finite sequence Λ = (e1, …, em) of byte strings held in storage administered by an operator O. The administrative capability of O is modelled by an oracle Rewrite(j, e′) that replaces ej by e′ and that O may call at any time before an audit time ta. A verifier V receives at ta the log that O produces.

Observation 1 · Custody defeats self evidence

Suppose the view of V at ta is a function of the produced log and of values computed by O alone. Then for any logs Λ and Λ′ the view of V is identically distributed whether O stored Λ′ from the outset or stored Λ and rewrote it into Λ′. Every strategy of V therefore distinguishes the two cases with advantage zero.

Signatures computed by O do not change this. If each entry carries σj = Sign(skO, ej), then O, which holds skO, computes a valid σ′ for any replacement e′. A custodian's signature authenticates origin towards third parties but says nothing about integrity against the custodian. Integrity against O requires a witness W, a party or system whose state O cannot alter, that fixes a value derived from Λ before ta. In current practice V's confidence in the state of W rests on signatures by W, almost always ECDSA over secp256k1 or P 256 [26, 29], Ed25519 [30] or RSA, or on no signature at all when the witness is an internal system of the operator.

2.2 Shor's algorithm and its published cost

2.2.1 The order finding reduction

Let N be an odd composite integer that is not a prime power, and let a be drawn uniformly from the units modulo N. The order of a is

r = ordN(a) = min { r > 0 : ar ≡ 1 (mod N) }.
(1)

If r is even and ar/2 ≢ −1 (mod N), then N divides (ar/2 − 1)(ar/2 + 1) but neither factor, so

gcd( ar/2 − 1 , N ) ∉ { 1 , N }
(2)

is a non trivial factor. For N with at least two distinct odd prime factors this event has probability at least one half over the choice of a [2, 12]. Factoring therefore reduces in classical polynomial time to computing orders, and Shor's contribution is a quantum algorithm for the latter [1, 2].

2.2.2 The quantum Fourier transform

Choose Q = 2ℓ with N2 ≤ Q < 2N2. A register of ℓ qubits is placed in uniform superposition and the map x ↦ ax mod N is computed reversibly into a second register,

|ψ⟩ = Q−1/2 ∑x=0Q−1 |x⟩ |ax mod N⟩.
(3)

The quantum Fourier transform over ℤQ acts on the first register as

QFTQ |x⟩ = Q−1/2 ∑y=0Q−1 e2πi·xy/Q |y⟩,
(4)

and is implemented exactly with O(ℓ2) one and two qubit gates. Because the second register is periodic in x with period r, a measurement of the first register after the transform returns, with probability Ω(1/log log N), a value y such that

| y/Q − s/r | ≤ 1/(2Q) < 1/(2r2)
(5)

for some integer s coprime to r. By Legendre's theorem s/r is then a convergent of the continued fraction expansion of y/Q, which yields r classically. Modular exponentiation dominates the cost, with O(ℓ3) gates for schoolbook arithmetic.

2.2.3 Discrete logarithms and elliptic curves

Let ⟨P⟩ be a cyclic group of prime order q and let Q′ = dP be a public key. The function

f(a, b) = aP + bQ′ = (a + bd)P
L = { (a, b) ∈ ℤq2 : a + bd ≡ 0 (mod q) }
(6)

is constant exactly on the cosets of the subgroup L. A two register Fourier transform over ℤq2 followed by measurement yields (u, v) with v ≡ ud (mod q), so d = v·u−1 mod q whenever u ≠ 0 [2]. For an elliptic curve group the group law is evaluated reversibly with arithmetic over the base field [9]. Roetteler, Naehrig, Svore and Lauter give a concrete circuit for prime field curves of bit length n [8] that uses

9n + 2⌈log2n⌉ + 10 logical qubits, which for n = 256 gives 9·256 + 2·8 + 10 = 2330,
(7)

and a Toffoli gate count of the order of 1011 for n = 256. The estimate applies to secp256k1 and P 256, which underlie most ECDSA deployments, and with negligible change to the 255 bit curve of Ed25519. These are logical qubits. Fault tolerant implementation multiplies the physical count by the overhead of the error correcting code.

2.2.4 Resource estimates for RSA 2048

For RSA, Gidney and Ekerå estimated in 2019 that a 2048 bit modulus can be factored in about 8 hours with 20 million noisy qubits, assuming a physical gate error rate of 10−3, a surface code cycle time of one microsecond and a control system reaction time of ten microseconds [10]. Gidney revised the estimate in 2025 to fewer than one million noisy qubits and under one week of run time under the same hardware assumptions [11].

These figures are published resource estimates for hypothetical fault tolerant machines. They are not statements about any machine that exists. To our knowledge no machine of this scale had been publicly demonstrated at the date of this paper. The argument of this paper does not depend on when such a machine is built. It depends only on the fact that evidence must remain sound for longer than the present uncertainty about that date.

2.3 Consequence for signatures, ledgers and logs

Definition 2 · Existential unforgeability under chosen message attack [14]

For a signature scheme Σ = (KeyGen, Sign, Verify) and an adversary A the experiment is

ExpEUF-CMAΣ, A(λ) : (pk, sk) ← KeyGen(1λ) ; (m*, σ*) ← ASign(sk, ·)(pk) ;
return 1 iff Verify(pk, m*, σ*) = 1 ∧ m* ∉ 𝓜
(8)

where 𝓜 is the set of messages submitted to the signing oracle, and AdvEUF-CMAΣ(A) = Pr[Exp = 1].

Proposition 1 · A quantum forger for ECDSA

Let Σ be ECDSA over a prime order curve with generator G. There is a QPT adversary AShor that makes no signing query and achieves AdvEUF-CMAΣ(AShor) ≥ 1 − ε, where ε is the failure probability of the discrete logarithm subroutine and decreases exponentially with repetition.

Proof. AShor runs the algorithm of Section 2.2.3 on (G, pk) to obtain a candidate d, accepts it when dG = pk and repeats otherwise. It then chooses any m* and computes σ* = Sign(d, m*) honestly. Correctness of ECDSA gives Verify(pk, m*, σ*) = 1, and m* was never queried. The same argument applies to EdDSA, whose verification equation does not depend on how the signer derived its nonce, and to RSA through factoring. ∎

The evidential consequence is retroactive. Let an entry e be signed at time tc under pk, and let tq be the first time at which the adversary can run AShor. At any time T ≥ tq the adversary produces (e′, σ′) with Verify(pk, e′, σ′) = 1. A verifier at T holds two pairs that both verify, and signature verification gives no information about which existed at tc. The adversary needs only pk, which is public and in ledgers is published with the first transaction of the account. Public keys and signed records can therefore be collected now and forged later. With x the period for which evidence must remain sound, y the time needed to migrate it and z the time until tq, Mosca's condition [13]

x + y > z
(9)

identifies when evidence is exposed. Retention periods are long. Broker dealer records under Rule 17a 4 are kept for up to six years [37], and technical documentation of high risk AI systems for ten years after the system is placed on the market [35].

Smart contract platforms in production today authorise transactions with ECDSA or EdDSA. On such a platform the statement that an account authorised a transaction is evidenced only by a classical signature, and after tq any account whose public key is known can be made to sign anything. Whether the order of past blocks remains trustworthy depends on how a verifier learns the canonical history. A participant who followed the chain continuously retains its knowledge. Where consensus is itself authenticated by classical signatures, a verifier who reconstructs history after tq from signatures alone, as a court or an auditor would, cannot distinguish the canonical history from an alternative signed with recovered keys. Where ordering is secured by proof of work, ordering keeps hash based security but the authorisation of each transaction remains classical. It is the signature layer that breaks.

CLASSICAL TRUST CHAINFORGEABLE ONCE SHOR IS PRACTICALPOST QUANTUM TRUST CHAIN · QSTAMP ON THE QVMHASH AND LATTICE ASSUMPTIONS ONLYAgent recordlog entry eOperator signatureECDSA · secp256k1Ledger transactionECDSA or EdDSAFinality and auditclassical keysAgent recordSHA3 256 fingerprintCommitment Ksalted · bound contextQuanta contractML DSA 65 transactionCommittee finalityML DSA 65 certificate✕ Shor recovers the key✕ forged σ′ on e′ verifies✕ histories indistinguishable✓ 2¹²⁸ Grover bound✓ MLWE and MSIS hardness✓ fixed since genesissignature forgedany change is detectedCLASSICAL TRUST CHAINPOST QUANTUM TRUST CHAINAgent recordlog entry eOperator signatureECDSA · secp256k1Ledger transactionECDSA or EdDSAFinality and auditclassical keysAgent recordSHA3 256 fingerprintCommitment Ksalted · bound contextQuanta contractML DSA 65 transactionCommittee finalityML DSA 65 certificate✕ Shor recovers the key✕ forged σ′ on e′ verifies✕ histories indistinguishable✓ 2¹²⁸ Grover bound✓ MLWE and MSIS hardness✓ fixed since genesis
Rests on a classical signatureRests on SHA3 256 and ML DSA 65
Figure 1 · Classical versus post quantum trust chain. In the upper chain every link that attributes or orders a record is a classical signature, so a key recovered with Shor's algorithm yields a forged σ′ on an altered entry e′ that verifies like the original. In the lower chain the record is reduced to a salted SHA3 256 commitment and every signature from the anchoring transaction to the finality certificate is ML DSA 65.

Hash functions are weakened but not broken. Grover's algorithm finds a preimage of an n bit function with O(2n/2) evaluations [3], and this is optimal for generic search [4]. The algorithm of Brassard, Høyer and Tapp finds collisions with O(2n/3) evaluations given quantum accessible memory of the same size [5], again optimal for generic functions [6]. Bernstein shows that, once the cost of that memory is counted, the quantum collision search is no cheaper than classical parallel collision search at about 2n/2 [7]. For n = 256 the margins remain at least 285 in the most favourable model for the attacker and about 2128 under realistic cost. This asymmetry between signatures and hashes is the foundation of the design in Section 5.

2.3.1 Classical primitives in agent infrastructure

The infrastructure through which agents are identified, authorised and audited today rests on a small set of public key primitives. The table states, for each, the problem on which it rests and the effect of Shor's algorithm.

PrimitiveTypical role for agents and audit logsUnderlying problemEffect of Shor's algorithm
ECDSA over secp256k1 and P 256Ledger transactions, code and artefact signing, device and service attestationElliptic curve discrete logarithmThe private key is computed from the public key in polynomial time, after which any message can be signed (Proposition 1).
EdDSA, Ed25519Agent and service identity keys, SSH, software release signing, ledgersElliptic curve discrete logarithm on edwards25519The secret scalar is computed from the public key, and signatures on arbitrary messages verify.
RSA signatures, RS256 (PKCS #1 v1.5) and PS256 (PSS)Tokens, certificates, document and code signingInteger factorisationThe modulus is factored, the private exponent follows, and both padding schemes are forged alike.
ECDHE and RSA key exchange in TLSConfidentiality of connections between agents, tools and APIsElliptic curve discrete logarithm, integer factorisationSession keys of recorded handshakes are recovered, so captured traffic can be decrypted later. TLS key exchange never provided third party evidence, and its loss is a loss of confidentiality.
X.509 certificate chainsIdentity of services and agents, mutual TLS, signing certificatesRSA or ECDSA signatures of certification authoritiesA recovered authority key issues valid certificates for any name, and past chains can no longer be relied on to identify a signer.
JWT signing, ES256 and RS256Delegated authority, OAuth access tokens and tool permissions of agentsECDSA over P 256, RSATokens with any subject, scope or expiry are forged, and logged tokens no longer prove that an action was authorised.
Cloud KMS signing keysSigned audit logs, log digests and release artefactsRSA or ECDSA unless a post quantum key type is selectedHardware custody of the private key gives no protection once the private key can be computed from the published public key.

Symmetric primitives behave differently. HMAC and the SHA2 family are not affected by Shor's algorithm and are only weakened by Grover's, so HMAC with a 256 bit key retains about 128 bits of security against key search. A message authentication code, however, proves nothing to a third party. Whoever holds the key can recompute a valid tag for any altered entry, and in an audit log the key holder is the operator, so Observation 1 applies unchanged. The same holds for a hash chain kept by the operator without an external anchor, which the operator can recompute from any altered point onwards.

2.4 The regulatory gap

Across jurisdictions, rules require that certain records be generated, retained for defined periods and protected against alteration, or kept so that alteration is detectable. The EU AI Act requires high risk AI systems to allow the automatic recording of events over their lifetime (Article 12), and requires providers and deployers to keep those logs for a period, appropriate to the intended purpose, of at least six months (Article 19 and Article 26(6)) [35]. The eIDAS 2 amendment gives legal recognition to electronic ledgers and attaches a presumption of integrity and of chronological ordering to qualified electronic ledgers (Articles 45h and 45i) [36]. SEC Rule 17a 4 requires broker dealers to keep electronic records either with a complete time stamped audit trail or in a non rewriteable, non erasable form [37]. UK GDPR Article 5(1)(f) requires appropriate security of personal data, including protection against unauthorised processing and accidental loss or damage [38]. The Japanese Electronic Books Maintenance Act requires measures that ensure the authenticity of electronic records, such as time stamps or systems that record corrections and deletions [39]. The safety measures required under Article 29 of the Korean Personal Information Protection Act include keeping access records and protecting them against forgery and alteration [40]. Data Protection Principle 4 of the Hong Kong Personal Data (Privacy) Ordinance requires data users to take all practicable steps to protect personal data against unauthorised or accidental access, processing, erasure, loss or use [41].

The same horizon is now governed by post quantum migration mandates. NIST IR 8547, in its initial public draft, proposes that quantum vulnerable public key algorithms at the 112 bit security level be deprecated after 2030 and that all quantum vulnerable public key algorithms be disallowed after 2035 [27]. Executive Order 14412 directs United States federal systems to adopt post quantum key establishment by 31 December 2030 and post quantum digital signatures by 31 December 2031 [28]. Records created today will therefore be inspected within their retention periods at a time when the signatures that protect them are formally disallowed.

Definition 3 · Durable evidence requirement

Let r be a record created at time t0, let R be its retention period and let V be a verifier that does not trust the custodian. For ε ≥ 0 and an adversary class 𝒜 the requirement is the predicate

Reqε, 𝒜(r, t0, R) ≔ ∀ t ∈ [t0, t0 + R] : Ret(r, t) ∧ Intε, 𝒜(r, t0, t) ∧ Ver(r, t) ∧ Time(r, t0)
(10)

where Ret(r, t) holds if the custodian can produce r at t. Intε, 𝒜(r, t0, t) holds if for every A ∈ 𝒜 the probability that V accepts at t some r′ ≠ r produced by A as the record of t0 is at most ε. Ver(r, t) holds if V decides acceptance from public parameters and from data supplied by the custodian, without trusting the custodian. Time(r, t0) holds if V can establish that r existed no later than t0 + δ for a stated tolerance δ.

Statutes state Ret explicitly through retention periods and state Int in terms such as protection against alteration or forgery, non rewriteable storage or audit trails. Ver and Time follow from the purpose of supervision and of evidence. The gap is that every mechanism whose Int rests on a classical signature satisfies Int only for 𝒜 restricted to adversaries active before tq. Whenever t0 + R > tq the predicate fails for the remainder of the period. Qstamp is designed to provide Int, Ver and Time for all t in the period against classical and quantum adversaries, under the assumptions of Section 3. Ret remains the obligation of the custodian. No law cited here requires Qstamp. The laws require properties, and Section 9 sets out which of them Qstamp provides.

3. System model and threat model

3.1 Parties

  • Operator O. Runs one or more agents, holds their records, and controls a signing key skS whose ML DSA 65 public key determines the chain address S. O runs the Qstamp SDK.
  • Verifier V. A court, regulator, auditor, insurer or counterparty. V holds only public parameters, which are the genesis hash G of the chain, the address C of the official Qstamp contract and the published validator set, together with whatever O produces.
  • Network. The Quantova chain, consisting of the QVM, a validator committee 𝒱 that finalises blocks, and RPC endpoints and an explorer that serve chain data.
  • Adversary A. Any party that seeks to have V accept a false statement about a record.

3.2 Assumptions

LabelAssumptionUsed for
T1SHA3 256 is collision resistant and second preimage resistant against PPT and QPT adversaries [22].Binding of digests, leaves, tree and commitment
T2ML DSA 65 is existentially unforgeable under chosen message attack against PPT and QPT adversaries, which follows from the hardness of MLWE and of MSIS variants in the quantum random oracle model [24, 20, 21].Authorisation of transactions and of finality
T3Honest majority. The stake or seats controlled by corrupted members of each sampled committee remain below the finality threshold, so that no two conflicting blocks are finalised at the same height and a finalised block is never reverted.Uniqueness and permanence of anchors
T4Honest validators keep clocks within a bounded drift of reference time and refuse a block whose time exceeds their own clock by more than 15 seconds or precedes its parent.Meaning of the block time
T5Release 0.1 only. At least one consulted RPC endpoint reports chain data faithfully over an authentic channel, and all consulted endpoints must agree.Chain checks of verification, removed by offline proofs (Section 6.7)

3.3 Adversary classes

A classical adversary is PPT. A quantum adversary is QPT, may run Shor's and Grover's algorithms offline, and has quantum access to H where a random oracle model is used [16]. Both classes may corrupt the operator after a time t*, which models an insider who later wishes to rewrite history or a later compromise of skS. Both may control any other accounts, corrupt committee members up to the bound of T3, delay, reorder or drop network messages, and operate RPC endpoints of their own. The honest operator is assumed to stamp correctly before t*.

OPERATOR BOUNDARY · RECORDS STAY HERE QUANTOVA NETWORK · QVM AND COMMITTEE PUBLIC VERIFICATION SI agenttool calls · decisions · outputs Canonical record rsorted keys · fixed encoding Qstamp SDKd · leaf · RFC 9162 root · K Record and receipt storer beside its receipt ρ QVM · QStampstamp(hi, lo, kind) Attested compilerprovenance signature Block hheader · event root Stamped eventS ‖ K ‖ u64(k) Validator committeeML DSA 65 votes Finality certificateabout 0.2 s Explorer · qvmscan.iotransaction · event · block RPC endpointschain identity checked · must agree Verifiercourt · regulator · auditor Verdictvalid · invalid · indeterminate record r and receipt ρ, produced under order OPERATOR BOUNDARY · RECORDS STAY HERE QUANTOVA NETWORK · QVM AND COMMITTEE PUBLIC VERIFICATION SI agenttool calls · decisions · outputs Canonical record rsorted keys · fixed encoding Qstamp SDKd · leaf · RFC 9162 root · K Record and receipt storer beside its receipt ρ QVM · QStampstamp(hi, lo, kind) Block hheader · event root Validator committeeML DSA 65 votes Attested compilerprovenance signature Stamped eventS ‖ K ‖ u64(k) Finality certificateabout 0.2 s record r and receipt ρ, produced under order Explorer · qvmscan.iotransaction · event · block RPC endpointschain identity checked · must agree Verifiercourt · regulator · auditor Verdictvalid · invalid · indeterminate
Figure 2 · System architecture. Records and digests remain inside the operator boundary. Only the 32 byte commitment K crosses it, in a transaction signed with ML DSA 65. The QVM executes only containers carrying the attested compiler's provenance signature. The committee finalises the block, and any verifier confirms the anchor through RPC endpoints or the explorer. Dashed links are network operations.

Three matters are outside the model and are stated so that they are not mistaken for guarantees. A record that was false when stamped remains false, since Qstamp fixes content and does not judge it. An adversary holding skS before a record is stamped can stamp in the name of S, which is a key custody question. Availability of the record and of its receipt is the custodian's responsibility, since a lost salt makes the corresponding inclusion unprovable.

4. The Quantova framework

This section describes the components on which Qstamp relies, as they are live at the date of this paper.

Design principle · A fully post quantum framework

Quantova is post quantum at every layer of the protocol. Accounts, transactions, the attestation of contract code and finality certificates are signed with ML DSA 65 [24], and SLH DSA [25] is accepted as a hash based alternative where an account is created under that scheme. The transaction format accepts exactly these two signature schemes. A further scheme identifier is reserved for a future post quantum algorithm and is currently refused. No elliptic curve, RSA or BLS signature is accepted at any layer of the protocol, so no fact recorded by the protocol depends on a primitive that Shor's algorithm breaks. This distinguishes the framework from platforms that add post quantum signatures alongside classical ones, where any fact that can still be established with a classical signature inherits its weakness.

4.1 Quanta, the smart contract language

Quanta is the contract language of the Quantova chain. A Quanta contract compiles to a QVM container. Authority inside a contract derives only from verified signatures. The caller of an entry point is the verified signer of the transaction, and a contract can verify further ML DSA signatures over signed orders through the QVM instruction VERIFY_ML. Every such verification uses the FIPS 204 context string QVM/contract/v1, which FIPS 204 binds into the signed message as

M′ = 0x00 ‖ |ctx| ‖ ctx ‖ M , ctx = "QVM/contract/v1"
(11)

so a signature produced for a contract order cannot be presented as a signature in any other context [24]. The open Qstamp contract is the following Quanta source, which holds no state, no funds and no owner.

contract QStamp { entry stamp(hi: u128, lo: u128, kind: u64) { emit Stamped(caller, hi, lo, kind); } event Stamped(sender: Q_Address, hi: u128, lo: u128, kind: u64); }

The issuer and council templates add signed orders that carry a nonce held by the contract, a deadline and a per deployment domain value, so that an order cannot be replayed, used late or used on another deployment.

4.2 The attested compiler

A container c is identified by id(c) = H(c). The chain admits a deployment only if the identifier carries an ML DSA 65 signature by the compiler provenance key,

Admit(c) ⇔ ML DSA.Verify( pkprov , id(c) , σprov ; ctx = "QUANTOVA/QVM/PROVENANCE/v1" ) = 1
(12)

The signature establishes that the deployed container was produced by the attested compiler. Equality with reviewed source is then established by reproduction. A reviewer compiles the published source, compares the resulting container byte for byte with the deployed one, and so confirms that the code at C is the code that was reviewed. The published source of the open Qstamp contract compiles byte for byte to the contract deployed on the test network. The guarantee assumes the secure custody of the provenance key by Quantova Inc. For the code identity property only, this is a trust assumption additional to T1 to T5.

4.3 The Quantova Virtual Machine and execution layer

The QVM is a metered register machine with native instructions for ML DSA and SLH DSA [25] verification, hashing and hash trees. Before execution the QVM writes the verified sender of the transaction into contract memory as caller, so the recorded signer cannot be influenced by call data. Execution is atomic. With S the state, tx a transaction and m its meter limit,

Apply(S, tx) = (S′, E, fee) if Exec(S, tx) halts successfully within m
Apply(S, tx) = (S, ∅, fee) otherwise
(13)

where E is the list of emitted events. Events and state changes are recorded only on success, and events are committed to the event root of the block header. A finalised transaction without its event therefore proves nothing about a stamp, and verification in Section 5 requires the event.

4.4 Consensus and finality

Every account, every transaction and every finality certificate on the Quantova chain has been signed with ML DSA 65 since the genesis block, with SLH DSA available as the alternative account scheme described above. An address is a 32 byte value derived from an ML DSA 65 public key. Blocks are finalised by a sampled committee whose certificate carries ML DSA 65 signatures meeting the finality threshold, and finality is reached in about 0.2 seconds. The block time is proposed in whole seconds. Under T4 an accepted block B with parent P satisfies

tP ≤ tB ≤ cv + 15 s for the clock cv of each honest validator at validation
(14)

so block time never decreases and cannot run more than 15 seconds ahead of honest clocks.

4.5 Fees

Execution is metered, and the fee for a call that consumes m units of meter is

fee(m) = 500 · ⌈ m / 1210 ⌉ quon , 1 TQTOV = 106 quon
(15)

with unused reserve refunded. The stamp call has fixed length call data and emits one fixed length event, so its fee does not depend on the batch size N. On the test network one stamp costs 0.005 TQTOV, that is 5000 quon, regardless of N. TQTOV are test network units without monetary value.

5. The Qstamp construction

5.1 Notation

H
SHA3 256 as specified in FIPS 202 [22]
Dalg
record digest function, alg = 1 for SHA3 256 (the default) and alg = 2 for SHA 256 [23], encoded as one byte
‖ , u64(x)
byte concatenation, and the 8 byte big endian encoding of an unsigned integer x < 264
si
32 byte salt drawn uniformly at random from the operating system generator
N, i
batch size and leaf position, with 1 ≤ N ≤ 220 and 0 ≤ i < N
G, C, S, k
32 byte genesis hash, 32 byte contract address, 32 byte signer address and 64 bit record kind

5.2 Leaves, tree and commitment

For record ri with digest di = Dalg(ri) the leaf is

Li = H( 0x00 ‖ "QSTAMP/LEAF/V1" ‖ alg ‖ di ‖ si )
(16)

an evaluation of H on exactly 1 + 14 + 1 + 32 + 32 = 80 bytes. The leaves form the tree of RFC 9162 Section 2.1 [31], whose interior nodes are

node(L, R) = H( 0x01 ‖ L ‖ R )
MTH(L0) = L0 , MTH(L0..N−1) = node( MTH(L0..k−1) , MTH(Lk..N−1) ) , k = the largest power of two below N
(17)

an evaluation of H on exactly 65 bytes.

rootH(0x01 ‖ MTH(L₀..L₃) ‖ MTH(L₄, L₅))MTH(L₀..L₃)recomputedMTH(L₀, L₁)π[1]MTH(L₂, L₃)recomputedMTH(L₄, L₅)π[2]L₀leafL₁leafL₂targetL₃π[0]L₄leafL₅leafSolid white · nodes recomputed by the verifier from L₂. Dashed white · the inclusion path π = (L₃, MTH(L₀, L₁), MTH(L₄, L₅)) carried in the receipt.N = 6 and i = 2, so |π| = 3 = ⌈log₂ 6⌉. Leaves L₄ and L₅ sit one level higher, as the RFC 9162 split k = 4 prescribes. rootH(0x01 ‖ MTH(L₀..L₃) ‖ MTH(L₄, L₅)) MTH(L₀..L₃)recomputed MTH(L₀, L₁)π[1] MTH(L₂, L₃)recomputed MTH(L₄, L₅)π[2] L₀leaf L₁leaf L₂target L₃π[0] L₄leaf L₅leaf
Figure 3 · The RFC 9162 tree for a batch of six records, the size of the batch in the worked example of Section 8, with the inclusion path of leaf 2. The verifier hashes L₂ with each sibling in turn, on the side determined by i and N alone, and compares the result with the root held in the receipt.

The commitment is

K = H( 0x02 ‖ "QSTAMP/ROOT/V1" ‖ G ‖ C ‖ S ‖ u64(k) ‖ u64(N) ‖ root )
(18)

an evaluation of H on exactly 1 + 14 + 32 + 32 + 32 + 8 + 8 + 32 = 159 bytes. The three roles are separated by their first byte and by their lengths, a property used in Lemma 1. The construction follows the hash tree of Merkle [18] and the linking idea of Haber and Stornetta [19], with the domain separation of RFC 9162 and an explicit binding of size and context.

COMMITMENT INPUT · 159 BYTES · FIXED LAYOUT0x02role prefix⊘ role confusionQSTAMP/ROOT/V1label⊘ version mixGgenesis hash⊘ chain replayCcontract⊘ contract replaySsigner address⊘ front runningu64(k)record kind⊘ relabellingu64(N)batch size⊘ size ambiguityrootRFC 9162 root⊘ substitutionSHA3 256K · 32 byteshi ‖ lo · two 16 byte halvesON CHAIN · QVMstamp(hi, lo, kind) · selector 6ae4cf77transaction from S · ML DSA 65 · fee cappedStamped(caller, hi, lo, kind) · 5a110849caller = verified sender S · block h⊘ marks the attack that each bound field defeats.A copier F who anchors K from its own account obtainsan event naming F, and a receipt naming F verifiesonly if K = Commit(G, C, F, k, N, root), a collision. COMMITMENT INPUT · 159 BYTES · FIXED LAYOUT 0x02role prefix⊘ role confusion QSTAMP/ROOT/V1label⊘ version mix Ggenesis hash⊘ chain replay Ccontract⊘ contract replay Ssigner address⊘ front running u64(k)record kind⊘ relabelling u64(N)batch size⊘ size ambiguity rootRFC 9162 root⊘ substitution SHA3 256 K · 32 byteshi ‖ lo · two 16 byte halves ON CHAIN · QVM stamp(hi, lo, kind) · selector 6ae4cf77transaction from S · ML DSA 65 · fee capped Stamped(caller, hi, lo, kind) · 5a110849caller = verified sender S · block h ⊘ marks the attack that each bound field defeats. A copier F who anchors K from its own account obtains an event naming F, and a receipt naming F verifies only if K = Commit(G, C, F, k, N, root), a collision.
Figure 4 · Commitment binding. Every field of the context enters one SHA3 256 evaluation over a fixed 159 byte layout, so no field can be changed after anchoring without a collision. The contract emits the commitment beside the caller that the QVM writes from the verified sender.

5.3 Anchoring

K is split into two 16 byte halves (hi, lo) and submitted from S in a call to the official contract C,

stamp(u128 hi, u128 lo, u64 kind) selector 6ae4cf77
emit Stamped(caller, hi, lo, kind) event selector 5a110849 , data = S ‖ K ‖ u64(k)
(19)

The call data has fixed length, consisting of the 4 byte selector, 120 bytes of host context, the 32 byte commitment and the 8 byte kind. The event data has 72 bytes. Because the contract keeps no state, any number of stamps of any commitment may coexist, and no stamp can prevent another from being recorded.

5.4 Receipt

Each record receives its own receipt, the tuple

ρ = ( fmt , (id, G) , C , k , (alg, d, s) , (i, N, π) , root , (tx, h, B, t, S) )
(20)

with fmt = qstamp-receipt/1, the chain name id and genesis G, the contract C, the kind k as a decimal string, the digest algorithm, digest and salt, the position, batch size and inclusion path, the tree root, and the anchoring transaction, block height h, block identifier B, block time t in seconds since 1970 and signer S. A receipt contains no part of the record. It does contain the digest and the salt, which matters for Section 6.5.

5.5 Algorithms

Algorithm 1 · Stamp
  1. Input signing key skS, records r0, …, rN−1, kind k < 264
  2. require 1 ≤ N ≤ 220
  3. for i ← 0 to N − 1
  4. di ← Dalg(ri)
  5. si ←$ {0,1}256, require si ≠ 0256 and si ∉ {s0, …, si−1}
  6. Li ← H(0x00 ‖ "QSTAMP/LEAF/V1" ‖ alg ‖ di ‖ si)
  7. (root, π0, …, πN−1) ← MTH(L0, …, LN−1) with audit paths
  8. S ← addr(pkS), require the endpoint serves the chain (id, G)
  9. K ← H(0x02 ‖ "QSTAMP/ROOT/V1" ‖ G ‖ C ‖ S ‖ u64(k) ‖ u64(N) ‖ root)
  10. tx ← ML DSA.Sign(skS, call(C, 6ae4cf77, K, k, meter, maxFee)), submit tx, erase the seed copy
  11. persist pending = (C, k, S, tx, K, (alg, di, si)i) through onPending
  12. wait until tx is final, else return pending for later completion
  13. require tx.from = S, tx.to = C, block h holds event 5a110849 from C with data S ‖ K ‖ u64(k)
  14. read block identifier B and block time t at height h
  15. return ρi = (fmt, (id, G), C, k, (alg, di, si), (i, N, πi), root, (tx, h, B, t, S)) for every i
Algorithm 2 · Verify
  1. Input receipt ρ, record r or digest d*, endpoints E1, …, Ee
  2. format ρ parses with exactly the required fields and ranges, else return invalid
  3. contract C equals the official contract of (id, G), or a contract the caller explicitly trusts
  4. content d* ← Dalg(r), check d* = d, and fail if no record or digest is supplied
  5. inclusion L ← H(0x00 ‖ "QSTAMP/LEAF/V1" ‖ alg ‖ d ‖ s), check RootFromPath(L, i, N, π) = root
  6. K ← H(0x02 ‖ "QSTAMP/ROOT/V1" ‖ G ‖ C ‖ S ‖ u64(k) ‖ u64(N) ‖ root)
  7. for each endpoint Ej
  8. chain Ej serves chain id with genesis G, else skip its remaining checks
  9. transaction tx is final at height h in block B, from S, to C, a call whose data carries K ‖ u64(k)
  10. event block h holds an event of C with selector 5a110849 and data S ‖ K ‖ u64(k)
  11. block block h has identifier B and time t
  12. if every check passed return valid
  13. if every failed check is a transport failure return indeterminate
  14. return invalid
Algorithm 3 · RootFromPath, after RFC 9162 Section 2.1.3.2
  1. Input leaf L, index i, size N, path π
  2. if not (0 ≤ i < N ≤ 220) or |π| > 20 return ⊥
  3. fn ← i ; sn ← N − 1 ; x ← L
  4. for each p in π
  5. if sn = 0 return ⊥
  6. if fn is odd or fn = sn
  7. x ← H(0x01 ‖ p ‖ x)
  8. while fn is even and fn ≠ 0 do fn ← fn/2 ; sn ← ⌊sn/2⌋
  9. else x ← H(0x01 ‖ x ‖ p)
  10. fn ← ⌊fn/2⌋ ; sn ← ⌊sn/2⌋
  11. if sn ≠ 0 return ⊥
  12. return x

Verification returns one of three outcomes. Valid means that every check passed. Invalid means that at least one substantive check failed, including the case in which no record or digest was supplied. Indeterminate means that every failed check was a transport failure, such as an unreachable endpoint or a truncated event list. Indeterminate is never reported as valid. The checks are named format, contract, content, inclusion, chain, transaction, event and block, eight in all.

Lemma 0 · Proof length and batch bound

For every 0 ≤ i < N the audit path of leaf i satisfies

|πi| ≤ ⌈ log2 N ⌉ ≤ 20 , N ≤ 220 = 1 048 576
(21)

since the RFC 9162 split places every leaf at depth at most ⌈log2N⌉. A receipt therefore carries at most twenty 32 byte path hashes, 640 bytes in all, and one stamp of fee F serves N records at an amortised cost of F / N each.

qstamp · deployment and evidence trail
Set upIntegrateOperateProve
Set up

Install the SDK

The SI company adds the open source Qstamp SDK to the service that runs its agents. It has one dependency, QCore, for post quantum signing.

$ npm install @quantovainc/qstamp
added 2 packages

$ npx @quantovainc/qstamp --version
0.1.4
package@quantovainc/qstamp 0.1.4
signing library@quantovainc/qcore 0.4.2
licenceApache 2.0 or MIT · Copyright 2026 Quantova Inc
Set up

Create the signing account

A signing key is created on the operator's own server or hardware security module. Its account is funded and registered once on the Quantova network.

$ openssl rand -hex 32 > signer.key && chmod 600 signer.key
$ node account.js
address  Q1NUR6ETECQXEVE77TJ9YPZ6WAWYMT45WCJANV5J43X93SF79DWE0S0D572X
status   registered, ready to stamp
account signatureML DSA 65 · FIPS 204
key custodyoperator only, never sent to Quantova
Set up

Choose or deploy the contract

The company stamps through the official Qstamp contract, or deploys its own issuer contract from the Quanta templates. Its own contract is compiled in QIDE at qdock.io by the attested Quanta compiler and deployed with the QMask wallet.

official contractQ1D6TZFRL203P3DFAFVUPZUHGUCM4EWGH6063XNS42VA5235RNQWXS7FXEWX
institution contractQ1DAJ3TZ7AN8JVY2MUCWYUWVPXEJSHH53JNDZ48L07RT6948J2N5QSNF3787
compiled containermatches the audited hash 7cd509e2d21bc4a3
deployment domainfresh random 64 bit value bound into every signed order
Integrate

Register the model

When a model is approved for use, its passport is stamped with the record kind ai_model. Every later decision can then be linked to the exact model that made it.

model-passport.jsonmodel registry
{
  "evaluation": {"approved_by": "Model Risk Committee", "auc": 0.871},
  "model": "risk-model 3.2.1",
  "time": "2026-10-09T09:39:27.273Z",
  "training_data": "dataset manifest 2026-09-30",
  "weights_sha3": "f01483b8e6269760c5c2e2025875b6e5d1b16402443e9a98d73e0a43156bf17b"
}
record kind4 · ai_model
fingerprint1b15118c7e2f1e482f87821a43d8062585b85e93d061bef1f6d429f621cfc850
transactionQTX19P000T7X6TPFPG8XMXV2GPU0XAR94H36LF7TKP6GGTXN2NQPWLZQ8PZJFY
block2,011,764
Integrate

Connect the agent runtime

The agent runtime writes every tool call and decision as a canonical record, keeps it in the company's own log and anchors the batch every minute. The receipts are stored beside the actions.

agent-runtime.jsoperator system
const qstamp = require('@quantovainc/qstamp');
const batch = [];

agent.on('action', (action) => {
  const bytes = Buffer.from(canonicalJson(action));
  log.write(bytes);
  batch.push({ digest: qstamp.digestBytes(bytes) });
});

setInterval(async () => {
  const records = batch.splice(0);
  if (records.length === 0) return;
  const receipts = await qstamp.stamp({
    seed, index: 0, kind: 'ai_agent_action', records,
    onPending: savePending,
  });
  receipts.forEach(storeBesideAction);
}, 60000);
Operate

The agent acts

A credit decision agent at a bank approves a loan. Its action is written as a canonical JSON record with the agent, model, policy, tool, decision and time.

credit-batch-1/action-04.jsonoperator system
{
  "agent": "credit-decision-agent-07",
  "amount_usd": 125000,
  "applicant": "APP-54a49c823275",
  "decision": "approve",
  "human_review": false,
  "model": "risk-model 3.2.1",
  "operator": "Example Bank plc",
  "policy": "retail-lending-policy 2026-10",
  "reasons": ["score_above_threshold"],
  "risk_score": 645,
  "time": "2026-10-09T09:39:25.132Z",
  "tool": "credit_bureau.lookup"
}
Operate

The SDK fingerprints it

On the operator's own systems, the SDK computes the SHA3 256 bit fingerprint of the record. The record itself never leaves the bank.

$ npx @quantovainc/qstamp hash action-04.json
  action-04.json
algorithmSHA3 256 · FIPS 202
fingerprintefb393903da28c2a6221179be662a2bbe2be06dfbd1acdee26bb057b6d2fb11f
Operate

Salted and batched

The fingerprint is bound to a fresh random salt and placed in a hash tree with the other actions of the batch. Six actions share one tree root.

leafH(0x00 ‖ QSTAMP/LEAF/V1 ‖ alg ‖ digest ‖ salt)
saltd275e738d46530b36f2c90e48a16bcd6e37fa9480378eb253c4e7a66a6a6b710
batch size6 actions
tree root34f64b12e5b363f1add6c48c0f85ebd60e4c2d421e5559f5d7b88717db205c54
Operate

One commitment

The root is bound to the chain, the official contract, the signing account, the record kind and the batch size. The result is one 32 byte commitment.

commitmentH(0x02 ‖ QSTAMP/ROOT/V1 ‖ genesis ‖ contract ‖ sender ‖ kind ‖ size ‖ root)
record kind6 · ai_agent_action
value6068a3e9625471530eda32f3292a9ac667c4f543281d62b12c62ad3481f07e0a
Operate

Signed with ML DSA 65

The SDK sends one transaction that calls the Qstamp Quanta contract on the Quantova Virtual Machine. It is signed with ML DSA 65, a post quantum signature.

transactionQTX1V53JW528S64SZYD6EDZ563N0PUUA2ARGNQHV4LTJMNH24PQS5VPQTAH8RQ
signerQ1NUR6ETECQXEVE77TJ9YPZ6WAWYMT45WCJANV5J43X93SF79DWE0S0D572X
contractQ1D6TZFRL203P3DFAFVUPZUHGUCM4EWGH6063XNS42VA5235RNQWXS7FXEWX
signatureML DSA 65 · FIPS 204
fee0.005 TQTOV for the whole batch
Operate

Final on chain

Validators finalise the block with post quantum signatures. The contract records the commitment in a Stamped event. The stamp became final in under one second.

block2,011,753
time2026-10-09 09:39:25 UTC
eventStamped · selector 5a110849
event datasigner ‖ commitment ‖ kind
✓ final · recorded by the official contract
Operate

Visible on the explorer

Anyone can open the transaction on QVMScan, the public Quantova explorer, and read the commitment, the signer, the record kind and the block.

qvmscan.io/tx/QTX1V53JW5…PQTAH8RQ
statusSuccess
block2,011,753
fromQ1NUR6ETECQXEVE77TJ9YPZ6WAWYMT45WCJANV5J43X93SF79DWE0S0D572X
toQ1D6TZFRL203P3DFAFVUPZUHGUCM4EWGH6063XNS42VA5235RNQWXS7FXEWX
Qstamp evidenceStamped · Official Qstamp contract · ai_agent_action
commitment6068a3e9625471530eda32f3292a9ac667c4f543281d62b12c62ad3481f07e0a
Open the live transaction
Prove

A court asks what the agent did

The bank produces the record and its receipt. The verifier recomputes the fingerprint, the tree root and the commitment, and finds the same commitment on chain. Changing a single digit makes the check fail.

$ npx @quantovainc/qstamp verify action-04.json.qstamp.json --file action-04.json
pass format · pass contract · pass content · pass inclusion
pass chain · pass transaction · pass event · pass block
VALID  stamped no later than 2026-10-09T09:39:25Z in block 2011753

$ npx @quantovainc/qstamp verify action-04.json.qstamp.json --file altered.json
FAIL content  the content does not match the fingerprint in the receipt
INVALID
original fingerprintefb393903da28c2a6221179be662a2bbe2be06dfbd1acdee26bb057b6d2fb11f
altered fingerprint93b2b98383cd8fc1d71c9727c358b077149123050b4e1ac78654e1889f37c086

6. Security analysis

6.1 The evidence forgery game

Definition 4 · Evidence forgery

The game ForgeA(λ) runs as follows.

  1. Setup. The chain is created with genesis G, official contract C and a committee satisfying T3 and T4. The challenger generates (pkS, skS) and gives A all public parameters, including pkS.
  2. Honest phase. Until time t* A adaptively submits batches (r0, …, rN−1) and kinds k. The challenger stamps each with Algorithm 1 under skS, returns the receipts and records every tuple (tx, i, N, k, ri) in a list 𝓛. A may also send arbitrary transactions from accounts of its own.
  3. Corruption. At t* A receives skS. All blocks finalised afterwards have time greater than t*.
  4. Output. A outputs a record r′ and a receipt ρ′.

A wins if Verify(ρ′, r′) = valid, ρ′ names the signer S and a block time t ≤ t*, and (tx, i, N, k, r′) ∉ 𝓛 for the values tx, i, N and k named in ρ′. Writing r for the record actually committed at that position, A has output r′ ≠ r with a receipt that verifies. Advforge(A) = Pr[A wins].

The game captures the insider who rewrites history after the fact, since A obtains skS and still must attach r′ to an anchor from before t*. It captures the outsider who substitutes content, and the third party who attempts to frame S with a record S never stamped. A fresh stamp of r′ after t* is not a forgery, since its receipt states a later time.

6.2 Domain separation

Lemma 1 · Injective and role separated encodings

Let encleaf, encnode and encroot be the byte strings hashed in (16), (17) and (18). Each map is injective on its domain, since every field has fixed length and position. The images are pairwise disjoint, since they begin with 0x00, 0x01 and 0x02 respectively. Hence two hash evaluations of the construction with equal outputs and different inputs constitute a collision of H on distinct strings, whatever roles the two evaluations play.

Without the role prefixes an interior node could be presented as a leaf, the classical second preimage ambiguity of unprefixed Merkle trees that RFC 9162 removes [31]. Without u64(N) a root would not determine the shape of its tree, and one path could verify under several sizes.

6.3 Main theorem

Theorem 1 · Evidence unforgeability

Assume alg = 1 and T5. For every adversary A in Forge there are adversaries B1, B2, B3 and B4, each running in time close to that of A, such that

Advforge(A) ≤ AdvcollSHA3(B1) + Adv2preSHA3(B2) + q · AdvEUF-CMAML DSA 65(B3) + Advconsensus(B4)
(22)

where q = 1 + |𝒱| is the number of ML DSA 65 public keys on which verification relies, namely pkS and the committee keys. The reductions are straight line and do not rewind A, so the bound holds for quantum A with the quantum advantages of B1 to B4.

Proof sketch. Let A win with output (r′, ρ′), where ρ′ names alg′, d′, s′, position i, size N′, path π′, root′, kind k′, transaction tx, height h, time t ≤ t* and signer S. Validity of all eight checks gives the following facts. G and C are the official values. D(r′) = d′. RootFromPath(L′, i, N′, π′) = root′ with L′ the leaf of (alg′, d′, s′). Under T5 the finalised block at height h contains tx from S to C and an event of C with data S ‖ K′ ‖ u64(k′), where K′ = Commit(G, C, S, k′, N′, root′). We partition the winning event.

  1. Consensus failure. The block reported at height h is not the unique finalised block at that height. This contradicts T3 except with probability Advconsensus, after excluding forged committee signatures, which fall under the next case.
  2. Signature forgery. The canonical block at height h carries a transaction from S that the challenger did not sign before t*, or a committee signature that no honest member produced. Before t* the honest stamps are exactly the signing queries, so B3 guesses which of the q keys is forged, embeds its challenge key there and outputs the forgery. This costs at most q · AdvEUF-CMA.
  3. Honest anchor. Otherwise the event was emitted by an honest stamp with batch (r0, …, rN−1), salts si, kind k and commitment K, since every transaction from S before t* is honest and the event data names S. Event matching gives K′ = K and k′ = k. By Lemma 1 either (N′, root′) = (N, root) or B1 or B2 outputs a collision of two 159 byte strings.
  4. Same tree. With equal size and root, Algorithm 3 recomputes root from L′ along a path whose shape depends only on (i, N). Walk from the root towards the leaf. At the first level at which the honest and the presented node inputs differ, both inputs hash to the same output, which by Lemma 1 is a collision of two 65 byte strings. If no level differs then L′ = Li.
  5. Same leaf. By Lemma 1 either (alg′, d′, s′) = (alg, di, si) or the two 80 byte inputs collide.
  6. Same digest. Then D(r′) = di = D(ri) with r′ ≠ ri, since A wins, which is a collision of D = SHA3 256.

It remains to attribute each collision found in cases 3 to 6 to B1 or B2. If the honest input of the colliding pair is a function of values chosen by A alone, as when A chose the batch and the colliding input contains no fresh salt, the pair is a collision and is output by B1. If the honest input contains a value not chosen by A, namely a salt si or a record supplied by an honest party, then the honest input is a target fixed before A searches, and A has found a second input with the same image. This is a second preimage in the sense of Rogaway and Shrimpton for targets drawn from the honest distribution [17], and is output by B2. The two attributions are disjoint, so a union bound over cases 1 to 6 gives (22). ∎

For alg = 2 the digest step of case 6 relies on SHA 256 and the bound gains the corresponding SHA 256 terms. Binding requires only T1 to T3 in the standard model. Hiding in Section 6.5 uses the random oracle model [15, 16].

6.4 Binding of context, replay and front running

Proposition 2 · Context binding

If (G, C, S, k, N, root) ≠ (G′, C′, S′, k′, N′, root′) and the two commitments are equal, then H has a collision.

This follows from Lemma 1, and it has five consequences. A commitment anchored on one chain does not verify against another, because G differs, and a relaunched network with a new genesis cannot verify old receipts. A receipt does not verify against a different contract, because C differs. A front runner F that copies K from a pending transaction and submits stamp(K, k) from its own account obtains an event naming F, and a receipt naming F verifies only if K = Commit(G, C, F, k, N, root), a collision. Because the open contract is stateless, the copy does not prevent the original transaction of S from being recorded, so front running neither steals nor blocks a stamp. The declared kind cannot be relabelled after anchoring. The batch size is fixed, which removes the size ambiguity of bare RFC 9162 roots.

6.5 Hiding

Proposition 3 · Hiding of the public commitment

Model H as a random oracle. Consider an adversary that sees K and all public chain data but no receipt for position i, and wishes to confirm a guess r̂ for ri. The view depends on ri only through H evaluated on an input containing the uniform salt si. Each oracle query therefore confirms the guess with probability at most 2−256, and Q classical queries succeed with probability at most Q · 2−256. A quantum adversary with Q quantum queries succeeds with probability O(Q2 · 2−256), so about 2128 queries are needed, which is optimal by [4].

The caveat is essential. A receipt holder knows si and di. Since di = D(ri) is unsalted, a receipt holder can test a guess for a low entropy record, such as an amount or a short code, with one hash evaluation. Receipts must therefore be protected like the records they describe. Hiding protects content against observers of the chain, not against holders of receipts.

6.6 Concrete bounds

AttackRequired breakClassical workQuantum work
Content substitution under an honest receiptSHA3 256 second preimage22562128 by Grover [3, 4]
One digest, leaf, node or commitment for two inputs chosen by the stamperSHA3 256 collision2128285 queries in the BHT model with 285 quantum accessible memory [5], about 2128 under the realistic cost model [7]
Forge an anchoring transaction from SML DSA 65 EUF-CMANIST category 3NIST category 3 [24]
Forge a finality certificateML DSA 65 EUF-CMA for a committee key, or a violation of T3NIST category 3NIST category 3
Confirm a guessed record from the public commitmentSearch over the 256 bit salt22562128 by Grover
Rewrite or revert a finalised blockConsensus safetyAssumption T3Assumption T3

NIST category 3 means that breaking the scheme requires resources comparable to or greater than key search on a block cipher with a 192 bit key [24]. FIPS 202 states a collision resistance of 128 bits and a preimage and second preimage resistance of 256 bits for SHA3 256 against classical attack [22].

6.7 Liveness, indeterminacy and the trusted endpoint

Stamping liveness. A stamp completes when the committee finalises its transaction. If finality is not observed within the timeout, Algorithm 1 returns the persisted pending batch, which holds the salts, the commitment and the transaction identifier. The receipts are completed later from that batch without a second payment. An error raised while the transaction was being submitted also carries the pending batch, so salts are never lost to a network failure.

Proposition 4 · Fail closed verification

Let the network adversary delay, drop or truncate endpoint responses but not alter their content. Then Verify returns valid only if all eight checks pass on content that was received, and otherwise returns indeterminate or invalid. A network adversary can deny a verdict but cannot cause a false verdict of valid.

The trusted endpoint of release 0.1. Checks 1 to 4 run on the verifier's machine and depend on no outside party. The chain, transaction, event and block checks are answered by RPC endpoints, so T5 is required. An endpoint operated dishonestly could report an anchor that does not exist. Release 0.1 mitigates this by defaulting to the official endpoint, by checking that every endpoint serves the chain named in the receipt, by requiring every consulted endpoint to agree, and by reporting which endpoints were consulted. Without T5, (22) gains a term Advendpoint equal to the probability that every consulted endpoint lies consistently. T5 also covers the channel to each endpoint. Responses travel over TLS, which is transport security outside the Quantova protocol and may use classical key exchange and certificates, so an adversary able to impersonate an endpoint at the transport layer is counted in the same term.

Planned offline finality proofs. A forthcoming release will carry in each receipt the block header of height h, the finality certificate of the committee and an inclusion proof of the Stamped event against the event root of the header. Verification then needs only the receipt, the record and the published validator set. The endpoint term disappears and the chain checks reduce to ML DSA 65 verification under T2 and T3, so (22) holds without T5.

7. Application to autonomous agents and superintelligence agents

7.1 Canonical action records

An action a of an agent is evidence only through a byte encoding canon(a), and the digest is d = D(canon(a)). The encoding must be fixed and versioned by the operator, since two serialisations of the same content give different digests. A change of serialisation produces a false invalid verdict, never a false valid one. A canonical JSON form with lexicographically sorted keys and no insignificant whitespace, such as the scheme of RFC 8785 [32], meets this need. The SDK hashes exactly the bytes it is given and does not impose a serialisation. A useful action record names the agent, the operator, the model and its version, the policy in force, the tool invoked, the inputs relied on, the decision or output, whether a human reviewed it and the time asserted by the agent.

7.2 Batching

An operator collects actions over a window Δ, or up to a count, and stamps them as one batch. An action taken at time τ then has an anchor whose block was finalised no later than τ + Δ + tfin, where tfin is the stamping latency. The cost per action is fee / N. Material actions, such as payments above a threshold, can be stamped individually before or after execution so that the record is final before the action completes. The onPending hook lets the operator persist each submitted batch before waiting for finality.

7.3 Record kinds

KindNameTypical content
0recordPolicies, mandates, evaluation results and general records
4ai_modelDigests of released model artefacts, forming a model passport
5ai_datasetTraining and evaluation data manifests fixed at collection
6ai_agent_actionCanonical records of tool calls, decisions and transfers
7ai_outputGenerated content with its provenance labels

The kind is a 64 bit value bound into K and emitted in the event. It states what S declared the batch to contain. It is not a verified classification of the content.

7.4 Model passports

A model passport is a pattern of use, not a separate mechanism. At release the operator stamps, with kind ai_model, a record that lists the digests of the model artefacts, the digest of the dataset manifest stamped with kind ai_dataset, and the digests of the evaluation reports. Each later action record names the model version and the digest of its passport, so the receipt for an action leads to the receipt that fixed the model on which the action depended.

7.5 What a receipt proves and what it does not

Proposition 5 · Evidentiary content of a valid receipt

Let Verify(ρ, r) = valid under T1 to T5. Then, except with the probability bounded in Theorem 1, the following hold.

  1. Integrity. r is bit for bit the record committed at position i of a batch of size N.
  2. Existence no later than t. The digest of r was fixed by the controller of S no later than the real time τh at which block h was finalised. The block time t is the proposer's statement of that moment in whole seconds. It satisfies (14), so it never decreases from block to block and it runs at most 15 seconds ahead of honest clocks.
  3. Signer. The anchoring transaction was authorised by the ML DSA 65 key of address S.
  4. Kind. S declared the batch to be of kind k.

A valid receipt does not prove any of the following.

  1. That the content of r is true, accurate or complete.
  2. That the action recorded was lawful, authorised or in accordance with policy.
  3. The identity of a natural or legal person. S is a chain address, and linking it to an organisation is a separate attestation.
  4. An earliest time of existence, or the correctness of any time asserted inside r.
  5. That no other actions occurred. Inclusion is proven, and completeness is not. Operators who need completeness should number records consecutively and include the previous commitment in each batch, so that gaps become detectable.
  6. Qualified status. A receipt is not a qualified electronic time stamp within the meaning of eIDAS unless it is issued by a qualified trust service provider [36].

8. Evidentiary procedure for a court order

Suppose a court or a regulator orders an SI company to show what its agent did in a given matter. The procedure below requires nothing from the company beyond production of documents, and nothing from the verifier beyond public parameters and computation.

  1. Production. The company produces the record r and its receipt ρ. The order may also require the canonicalisation rule used for records of that type.
  2. Recomputation. The verifier recomputes d = H(r), the leaf L from (alg, d, s), the root from (L, i, N, π) with Algorithm 3, and K from (G, C, S, k, N, root). This step needs no network access and can be performed with the SDK, with the command qstamp verify, or with an independent implementation of Section 5.
  3. Anchor. Using the public chain, through one or more independent RPC endpoints and in the explorer, the verifier checks that the transaction named in ρ was sent by S to the official contract C and that block h contains the Stamped event of C with data S ‖ K ‖ u64(k). The explorer is a view of chain data that lets a non technical reader confirm the same facts. It is not a separate trust anchor.
  4. Finality. The verifier checks that the transaction is final and that the block at height h has identifier B and time t.
  5. Result. If every check passes, the result is valid, and Proposition 5 states what has been established. If a substantive check fails, the result is invalid, and the failed check identifies which link does not hold. If the network could not be consulted, the result is indeterminate and the procedure is repeated.
SI COMPANY · CUSTODIAN VERIFIER · LOCAL COMPUTATION · NO TRUST REQUIRED PUBLIC CHAIN · EXPLORER · RPC Ordercourt or regulator 1 · Productionrecord r · receipt ρ 2 · Recomputed → L → root → K 3 · Anchortx · Stamped · explorer 4 · Finalityblock h · time t · final 5 · Resultvalid · invalid · indet. Local checksformat · contract · contentinclusion Chain checkschain · transactionevent · block VERIFIER · LOCAL COMPUTATION · NO TRUST REQUIRED Ordercourt or regulator SI COMPANY · CUSTODIAN 1 · Productionrecord r · receipt ρ VERIFIER · LOCAL COMPUTATION · NO TRUST REQUIRED 2 · Recomputed → L → root → K Local checksformat · contract · contentinclusion PUBLIC CHAIN · EXPLORER · RPC 3 · Anchortx · Stamped · explorer 4 · Finalityblock h · time t · final VERIFIER · LOCAL COMPUTATION · NO TRUST REQUIRED Chain checkschain · transactionevent · block 5 · Resultvalid · invalid · indet.
Figure 5 · Verification under a court or regulatory order. Stage 1 is the only stage performed by the custodian. Stage 2 is pure computation on the verifier's machine. Stages 3 and 4 consult public chain data, and stage 5 aggregates the eight checks into one of three verdicts.

8.1 Worked example from the Quantova test network

This example was produced on the Quantova Virtual Machine. Test network receipts carry no evidential weight. The record is fictitious and Example Bank plc is a placeholder name, not a real institution.

A credit decision agent produced the following record, serialised as canonical JSON with sorted keys and no insignificant whitespace.

record.jsonkind 6 · ai_agent_action
{"agent":"credit-decision-agent-07","amount_usd":125000,"applicant":"APP-54a49c823275","decision":"approve","human_review":false,"model":"risk-model 3.2.1","operator":"Example Bank plc","policy":"retail-lending-policy 2026-10","reasons":["score_above_threshold"],"risk_score":645,"time":"2026-10-09T09:39:25.132Z","tool":"credit_bureau.lookup"}

The record was stamped in a batch of six records. The values below are taken from that run.

QuantityValue
ChainQ-test-net-1
Genesis Gca91e093bb8de33e90db52d7c89876597d14760703793ea7211929e73e613062
Record bytes344 bytes of UTF 8, canonical JSON with sorted keys
Fingerprint d = SHA3 256(r)efb393903da28c2a6221179be662a2bbe2be06dfbd1acdee26bb057b6d2fb11f
Batch size N6
Batch root34f64b12e5b363f1add6c48c0f85ebd60e4c2d421e5559f5d7b88717db205c54
TransactionQTX1V53JW528S64SZYD6EDZ563N0PUUA2ARGNQHV4LTJMNH24PQS5VPQTAH8RQ
Block height h2011753
Block time t2026-10-09T09:39:25Z, that is 1791538765 seconds since 1970
Signer SQ1NUR6ETECQXEVE77TJ9YPZ6WAWYMT45WCJANV5J43X93SF79DWE0S0D572X
Contract CQ1D6TZFRL203P3DFAFVUPZUHGUCM4EWGH6063XNS42VA5235RNQWXS7FXEWX
Kind6, ai_agent_action

The anchoring transaction can be inspected at https://qvmscan.io/tx/QTX1V53JW528S64SZYD6EDZ563N0PUUA2ARGNQHV4LTJMNH24PQS5VPQTAH8RQ.

Verification of the receipt against the record returned valid, with all eight checks passing.

CheckMeaningOutcome
formatThe receipt parses with exactly the required fieldspass
contractThe receipt names the official contract of Q-test-net-1pass
contentSHA3 256 of the record equals the receipt digestpass
inclusionThe path leads from the leaf to the batch rootpass
chainThe endpoint serves Q-test-net-1 with the stated genesispass
transactionThe transaction is final, from the signer, to the contract, and carries Kpass
eventThe contract emitted Stamped with signer, commitment and kindpass
blockThe block identifier and time match the receiptpass

The amount in the record was then changed by 1000 and the verification repeated with the same receipt. The content check failed and the result was invalid. The other checks are unaffected by the change, which is the intended behaviour, since the verdict names the exact link that broke. For illustration, replacing 125000 by 126000 gives the digest

d′ = 93b2b98383cd8fc1d71c9727c358b077149123050b4e1ac78654e1889f37c086 ≠ d

Two features of the example deserve comment. First, the time field inside the record, 09:39:25.132, is an assertion of the agent and is not certified. The block time is a whole second, 09:39:25, and agrees with the record at that resolution. Second, the time measured from submission to observed finality was about 0.7 seconds, which includes the polling interval of the SDK.

9. Regulatory mapping

The table relates each obligation to the formal property that Qstamp provides and to the limits of that property. The paraphrases are summaries for orientation and do not replace the legal texts [35, 36, 37, 38, 39, 40, 41, 27]. No law cited requires Qstamp. Each requires properties of records, and Qstamp provides some of them.

ObligationLegal text, paraphrasedFormal property providedLimits
EU AI Act, Article 12High risk AI systems shall technically allow the automatic recording of events over their lifetime, to ensure traceability appropriate to the intended purpose.Integrity and existence time of each logged event or batch (Proposition 5, items 1 and 2), verifiable by any party holding the record and receipt.Qstamp does not generate logs or decide what is logged. The Act does not prescribe a cryptographic mechanism.
EU AI Act, Article 19 and Article 26(6)Providers and deployers keep the automatically generated logs under their control for a period appropriate to the intended purpose, of at least six months unless other law provides otherwise.Intε, 𝒜 for the whole period, including after tq, for quantum 𝒜.Retention (Ret) remains the custodian's obligation. Records and receipts must both be kept.
eIDAS 2, Articles 45h and 45i, and Article 41An electronic ledger is not denied legal effect or admissibility solely because it is electronic or not qualified. Qualified electronic ledgers, operated by qualified trust service providers, enjoy a presumption of integrity, accurate date and time and chronological ordering. Qualified time stamps enjoy a presumption of accurate time and integrity.Detectability of change and an ordered, independently witnessed time reference as technical facts.Qstamp is not a qualified electronic ledger or a qualified time stamp, and Quantova Inc is not a qualified trust service provider. No legal presumption arises from Qstamp alone.
SEC Rule 17a 4(f)(2)Electronic records are preserved with a complete time stamped audit trail of modifications and deletions, or exclusively in a non rewriteable, non erasable format.Anchoring the entries of the audit trail makes later alteration of the trail detectable and bounds when each entry existed.Qstamp is not a recordkeeping system and stores no records. The other conditions of the rule remain.
UK GDPR, Article 5(1)(f)Personal data are processed with appropriate security, including protection against unauthorised or unlawful processing and against accidental loss, destruction or damage.Integrity evidence without disclosure. Only salted commitments leave the operator (Proposition 3).Integrity evidence is one measure among those required. Receipts contain digests of personal data and require protection. The status of commitments is for the controller's own assessment.
Japan, Electronic Books Maintenance ActElectronic records are kept with measures that ensure authenticity, such as time stamps or systems that record or prevent corrections and deletions.Detection of any correction made after anchoring, with an existence time bound.Receipts are not time stamps of an accredited provider under the Japanese scheme.
Korea, Personal Information Protection Act, Article 29Handlers take safety measures, which under the implementing standards include keeping access records for a prescribed period and protecting them against forgery and alteration.Tamper evident access records that a regulator can verify independently.Retention periods, access control and the other safety measures remain with the handler.
Hong Kong, Personal Data (Privacy) Ordinance, Data Protection Principle 4Data users take all practicable steps to ensure that personal data are protected against unauthorised or accidental access, processing, erasure, loss or use.Integrity evidence without disclosure. Only salted commitments leave the operator (Proposition 3).Integrity evidence is one practicable step among those required. Retention limits under Data Protection Principle 2 remain with the data user.
NIST IR 8547, initial public draftQuantum vulnerable public key algorithms are proposed for deprecation after 2030 at the 112 bit level and for disallowance after 2035.Every signature on which a receipt depends is ML DSA 65 under FIPS 204, and every hash is SHA3 256 under FIPS 202.Draft guidance addressed to United States federal systems.
Executive Order 14412Directs United States federal systems to adopt post quantum key establishment and digital signatures by fixed deadlines.Post quantum signatures on every account, transaction and finality certificate since genesis.Addressed to federal systems. It does not require Qstamp.

Each organisation remains responsible for meeting the full requirements of the laws that apply to it, and should take its own legal advice.

10. What distinguishes this construction

We argue that durable evidence for agents requires four properties together, and that a classical chain cannot acquire the first of them for its existing history by migration alone.

  1. R1. Post quantum authentication of the whole history. Every signature on which an anchor depends, from the submitting account to finality, is post quantum, back to genesis, and the protocol accepts no classical signature that could establish a competing fact.
  2. R2. Independent witness. The anchor is fixed by a committee independent of the custodian, not by the custodian or by one authority.
  3. R3. Attested code. The code that records an anchor is provably the reviewed code, and it cannot be replaced at the same address.
  4. R4. Programmable authority. Institutional policies, such as authorised issuers, multi party approval and revocation, execute under post quantum authentication.
Proposition 6 · Migration does not repair past history

Let a ledger authenticate transactions and finality with classical signatures up to a migration height hm. Consider an anchor at height h < hm and a verifier at time T ≥ tq that learns history from signatures. Unless the history up to h was committed into a post quantum authenticated structure before tq, an adversary running Proposition 1 on the relevant keys produces an alternative history up to h whose signatures verify, and the verifier cannot distinguish it from the canonical one.

The condition in Proposition 6 describes a real remedy, which should be stated fairly. Evidence can be preserved by renewal, in which old evidence is committed under stronger primitives before the old ones fail, as in the renewal of Haber and Stornetta [19] and the Evidence Record Syntax of RFC 4998 [34]. Renewal must happen before tq, must itself be verifiable, and protects only what was renewed. A network that is post quantum from genesis has nothing to renew for its own history. That is the sense in which retrofitting a classical chain leaves its earlier history forgeable unless it is renewed in time.

A post quantum time stamp authority satisfies R1 but rests on one authority and offers no programmable policy. A ledger without attested code satisfies R2 and R4, but a verifier must audit the bytecode at the contract address independently. The table summarises typical deployments of each category as of 2026. It describes categories, not named products.

CategoryR1 history post quantumR2 independent witnessR3 attested codeR4 programmable authority
Ledger with classical signaturesNoYesUsually noYes
Ledger migrated to post quantum keysOnly after migrationYesUsually noYes
Classical time stamp authority [33]NoNo, one authorityNot applicableNo
Post quantum time stamp authorityYesNo, one authorityNot applicableNo
Quantova with QstampYes, since genesisYes, committeeYes, attested compilerYes, Quanta

To our knowledge, few production networks combined R1 to R4 from genesis at the date of this paper. We do not claim that the combination is exclusive to Quantova, and the argument of this section depends only on the properties, not on the identity of any network.

11. Economics and performance

By (15) the fee of a stamp depends only on the meter consumed by the fixed length call, so one stamp costs 0.005 TQTOV, 5000 quon, on the test network for any N. The amortised cost per record is

cost per record = fee / N = 5000 / N quon
(23)
Batch size NQuon per recordPath length ⌈log2N⌉Path bytes
1500000
6≈ 833.3396
1024≈ 4.8810320
1 048 576≈ 0.004820640

On chain each stamp adds 164 bytes of call data and a 72 byte event, independent of N. Local verification costs one digest of the record and at most ⌈log2N⌉ + 2 further SHA3 256 evaluations on inputs of fixed length. Chain verification costs four queries per endpoint, for chain identity, transaction, events and block.

In the test network run that produced the example of Section 8, the time from submission of a stamp to observed finality was about 0.7 seconds, against a chain finality of about 0.2 seconds. The difference is attributable to submission and to the 400 millisecond polling interval with which the SDK observes finality. Four stamps cost 0.02 TQTOV in total, that is 0.005 TQTOV each. These figures are measurements on the test network and are not guarantees of main network performance or price.

12. Limitations and future work

  1. Offline finality proofs. Release 0.1 confirms chain facts through RPC endpoints and therefore relies on T5. Embedding the block header, the finality certificate and the event inclusion proof in each receipt, as described in Section 6.7, is planned and will remove that reliance.
  2. Per deployment domain in the templates. The issuer and council templates reject orders whose domain value differs from that of the deployment. The value is a 64 bit number chosen by the deployer, and its freshness is an operational obligation. A contract address depends only on the deploying account and its transaction count, so after a relaunch or on a fork a new deployment can receive the address of an earlier one, and only a fresh domain value then prevents orders signed for the earlier deployment from being accepted.
  3. Revocation is not yet checked by the SDK. The issuer template records the withdrawal of a commitment with a reason code, but Verify does not consult that state. A receipt for a withdrawn commitment still verifies as valid, and a verifier who relies on withdrawals must query the issuer contract separately.
  4. Third party audit. The SDK and the contracts were reviewed internally before publication. The contract templates are published as examples, and an independent audit by a qualified third party is required before any production deployment of them and recommended before reliance on the SDK in production.
  5. Time resolution. Block time has a resolution of one second, is bounded above by T4 and below only by the time of the parent block. Receipts establish existence no later than finality, not an earliest time.
  6. Completeness. A receipt proves inclusion, not completeness. Consecutive numbering and chaining of batches, as suggested in Section 7.5, are practices of the operator and are not enforced by the contract.
  7. Network status. All results in this paper concern the test network. Receipts produced there carry no evidential weight, and production use will take place on the Quantova main network once it launches.

13. Legal status of this paper

This paper is a technical specification and description of Qstamp provided by Quantova Inc for information. It does not by itself create any contractual obligation, warranty, representation or undertaking, and it is not legal, regulatory, tax or investment advice. Use of Qstamp, of the Qstamp SDK and of the Quanta contract templates is governed by the Terms of Use, by the licences under which the software is published and by any agreement signed with Quantova Inc, which prevail over this paper in case of conflict. Statements about laws and regulations are summaries for orientation. Statements about future features describe present intentions and may change.

Small print. Every statement in this paper that Quantova or Qstamp is post quantum, or does not rely on classical signatures, concerns the Quantova protocol, meaning the signatures on accounts, transactions and finality certificates, the attestation of contract code, and consensus. It does not extend to transport security outside the protocol, such as the TLS connections, certificates and key exchange used by websites, the explorer, RPC gateways and other web hosting, which may use classical algorithms. In release 0.1 the chain checks of verification rely on the integrity of responses received from RPC endpoints, which are protected in transit by that transport security (assumption T5 and Section 6.7). Until receipts carry offline finality proofs, a verifier who requires post quantum assurance for those checks should obtain chain data over a channel it trusts or from several independently operated endpoints.

Quantova Inc
1000 N. West Street, Suite 1501, Wilmington, Delaware 19801, United States. Owner of the Qstamp and Quantova technology and of the Qstamp and Quantova trademarks.
Quanto Organisation Pte. Ltd.
UEN 202544180C, 138 Robinson Road, #24-01, Oxley Tower, Singapore 068906. Research entity.

© 2026 Quantova Inc. Qstamp and Quantova are trademarks of Quantova Inc.

14. References

  1. [1]P. W. Shor. Algorithms for quantum computation: discrete logarithms and factoring. In Proceedings of the 35th Annual Symposium on Foundations of Computer Science (FOCS), IEEE, 1994, pp. 124 to 134.
  2. [2]P. W. Shor. Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer. SIAM Journal on Computing 26(5), 1997, pp. 1484 to 1509.
  3. [3]L. K. Grover. A fast quantum mechanical algorithm for database search. In Proceedings of the 28th Annual ACM Symposium on Theory of Computing (STOC), 1996, pp. 212 to 219.
  4. [4]C. H. Bennett, E. Bernstein, G. Brassard and U. Vazirani. Strengths and weaknesses of quantum computing. SIAM Journal on Computing 26(5), 1997, pp. 1510 to 1523.
  5. [5]G. Brassard, P. Høyer and A. Tapp. Quantum cryptanalysis of hash and claw-free functions. In LATIN '98: Theoretical Informatics, Lecture Notes in Computer Science 1380, Springer, 1998, pp. 163 to 169.
  6. [6]S. Aaronson and Y. Shi. Quantum lower bounds for the collision and the element distinctness problems. Journal of the ACM 51(4), 2004, pp. 595 to 605.
  7. [7]D. J. Bernstein. Cost analysis of hash collisions. Will quantum computers make SHARCS obsolete? In Workshop Record of SHARCS 2009, Special-purpose Hardware for Attacking Cryptographic Systems, 2009.
  8. [8]M. Roetteler, M. Naehrig, K. M. Svore and K. Lauter. Quantum resource estimates for computing elliptic curve discrete logarithms. In Advances in Cryptology, ASIACRYPT 2017, Lecture Notes in Computer Science 10625, Springer, 2017, pp. 241 to 270.
  9. [9]J. Proos and C. Zalka. Shor's discrete logarithm quantum algorithm for elliptic curves. Quantum Information and Computation 3(4), 2003, pp. 317 to 344.
  10. [10]C. Gidney and M. Ekerå. How to factor 2048 bit RSA integers in 8 hours using 20 million noisy qubits. Quantum 5, 433, 2021. First circulated as arXiv:1905.09749, 2019.
  11. [11]C. Gidney. How to factor 2048 bit RSA integers with less than a million noisy qubits. arXiv:2505.15917, 2025.
  12. [12]M. A. Nielsen and I. L. Chuang. Quantum Computation and Quantum Information. Cambridge University Press, 2000.
  13. [13]M. Mosca. Cybersecurity in an era with quantum computers. Will we be ready? IEEE Security and Privacy 16(5), 2018, pp. 38 to 41.
  14. [14]S. Goldwasser, S. Micali and R. L. Rivest. A digital signature scheme secure against adaptive chosen-message attacks. SIAM Journal on Computing 17(2), 1988, pp. 281 to 308.
  15. [15]M. Bellare and P. Rogaway. Random oracles are practical. A paradigm for designing efficient protocols. In Proceedings of the 1st ACM Conference on Computer and Communications Security (CCS), 1993, pp. 62 to 73.
  16. [16]D. Boneh, Ö. Dagdelen, M. Fischlin, A. Lehmann, C. Schaffner and M. Zhandry. Random oracles in a quantum world. In Advances in Cryptology, ASIACRYPT 2011, Lecture Notes in Computer Science 7073, Springer, 2011, pp. 41 to 69.
  17. [17]P. Rogaway and T. Shrimpton. Cryptographic hash-function basics. Definitions, implications, and separations for preimage resistance, second-preimage resistance, and collision resistance. In Fast Software Encryption, FSE 2004, Lecture Notes in Computer Science 3017, Springer, 2004, pp. 371 to 388.
  18. [18]R. C. Merkle. A digital signature based on a conventional encryption function. In Advances in Cryptology, CRYPTO '87, Lecture Notes in Computer Science 293, Springer, 1988, pp. 369 to 378.
  19. [19]S. Haber and W. S. Stornetta. How to time-stamp a digital document. Journal of Cryptology 3(2), 1991, pp. 99 to 111.
  20. [20]L. Ducas, E. Kiltz, T. Lepoint, V. Lyubashevsky, P. Schwabe, G. Seiler and D. Stehlé. CRYSTALS-Dilithium. A lattice-based digital signature scheme. IACR Transactions on Cryptographic Hardware and Embedded Systems 2018(1), pp. 238 to 268.
  21. [21]E. Kiltz, V. Lyubashevsky and C. Schaffner. A concrete treatment of Fiat-Shamir signatures in the quantum random-oracle model. In Advances in Cryptology, EUROCRYPT 2018, Lecture Notes in Computer Science 10822, Springer, 2018.
  22. [22]National Institute of Standards and Technology. SHA-3 Standard. Permutation-Based Hash and Extendable-Output Functions. FIPS PUB 202, August 2015.
  23. [23]National Institute of Standards and Technology. Secure Hash Standard (SHS). FIPS PUB 180-4, August 2015.
  24. [24]National Institute of Standards and Technology. Module-Lattice-Based Digital Signature Standard. FIPS 204, August 2024.
  25. [25]National Institute of Standards and Technology. Stateless Hash-Based Digital Signature Standard. FIPS 205, August 2024.
  26. [26]National Institute of Standards and Technology. Digital Signature Standard (DSS). FIPS 186-5, February 2023.
  27. [27]D. Moody, R. Perlner, A. Regenscheid, A. Robinson and D. Cooper. Transition to Post-Quantum Cryptography Standards. NIST Internal Report 8547, Initial Public Draft, National Institute of Standards and Technology, November 2024.
  28. [28]Executive Order 14412. Securing the Nation Against Advanced Cryptographic Attacks. The White House, Washington, signed 22 June 2026.
  29. [29]Certicom Research. SEC 2. Recommended Elliptic Curve Domain Parameters. Standards for Efficient Cryptography, Version 2.0, 2010.
  30. [30]S. Josefsson and I. Liusvaara. Edwards-Curve Digital Signature Algorithm (EdDSA). RFC 8032, Internet Engineering Task Force, January 2017.
  31. [31]B. Laurie, E. Messeri and R. Stradling. Certificate Transparency Version 2.0. RFC 9162, Internet Engineering Task Force, December 2021.
  32. [32]A. Rundgren, B. Jordan and S. Erdtman. JSON Canonicalization Scheme (JCS). RFC 8785, Internet Engineering Task Force, June 2020.
  33. [33]C. Adams, P. Cain, D. Pinkas and R. Zuccherato. Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP). RFC 3161, Internet Engineering Task Force, August 2001.
  34. [34]T. Gondrom, R. Brandner and U. Pordesch. Evidence Record Syntax (ERS). RFC 4998, Internet Engineering Task Force, August 2007.
  35. [35]Regulation (EU) 2024/1689 of the European Parliament and of the Council of 13 June 2024 laying down harmonised rules on artificial intelligence (Artificial Intelligence Act). Official Journal of the European Union, L series, 12 July 2024.
  36. [36]Regulation (EU) 2024/1183 of the European Parliament and of the Council of 11 April 2024 amending Regulation (EU) No 910/2014 as regards establishing the European Digital Identity Framework. Official Journal of the European Union, L series, 30 April 2024.
  37. [37]United States Securities and Exchange Commission. Rule 17a-4, Records to be preserved by certain exchange members, brokers and dealers. 17 CFR 240.17a-4.
  38. [38]Regulation (EU) 2016/679 as it forms part of the law of the United Kingdom (UK GDPR), Article 5(1)(f).
  39. [39]Japan. Act on Special Provisions concerning Preservation Methods for Books and Documents Related to National Tax Prepared by Means of Computers (Act No. 25 of 1998), and its Enforcement Regulation.
  40. [40]Republic of Korea. Personal Information Protection Act, Article 29, and the standards on safety measures for personal information issued under it by the Personal Information Protection Commission.
  41. [41]Hong Kong Special Administrative Region. Personal Data (Privacy) Ordinance (Cap. 486), Schedule 1, Data Protection Principle 4.