Skip to main content

WalletWall Proof Claim Schema

Scope. This document defines the proof claim schema — the application-level typed schema for future proof artifacts. It introduces no prover, verifier, circuit, or contract code, changes no runtime behavior, and changes no Dune behavior. It is the natural next step after the proof-readiness architecture map.
See also: Canonical product positioning, per-surface alignment, and the read-only Dune posture that this schema preserves are maintained as internal engineering documentation.

1. Purpose

The proof claim schema is the stable, versioned interface between the readiness pipeline and any future proof or attestation system. It answers the question:
If a future ZK or attestation layer were to produce a claim about a readiness computation, what shape should that claim take — and what must it explicitly disclaim?
It is defined now, before any prover is built, so the app has a typed integration point and the proof system design can be scoped against a stable target rather than invented ad hoc.

2. Schema module

The schema is a standalone module of pure data and pure helpers only. No I/O, no Dune execution, no clock reads, no prover or verifier code.

3. Claim types

Each claim type describes a specific readiness computation that a future proof could assert was performed correctly. The claim type does not imply the proof exists; it is the target specification. Every claim type asserts something about a computation over committed inputs. None asserts that the source data is globally true, that funds are safe, or that readiness is guaranteed. Each claim type below is also framed as a candidate claim in the Proof-Readiness Architecture’s §6 candidate list — expand for that additional framing.
Asserts that the readiness score was computed under the canonical model version. Framed in the Proof-Readiness Architecture as “readiness tier provenance”: the readiness tier was computed from the canonical inputs under a stated model version.
Asserts that the vault_candidate threshold was evaluated using the approved rules. Framed in the Proof-Readiness Architecture as “vault-candidate threshold”: the threshold was evaluated using the approved rules in the canonical readiness model.
Asserts that the quantum-risk tier was derived from approved exposed-signature / dormancy / balance inputs. Framed in the Proof-Readiness Architecture as “quantum-risk derivation.”
Asserts that the packet summary hash corresponds to the canonical Readiness Packet fields at generation time. Framed in the Proof-Readiness Architecture as “packet integrity.”
Asserts that the recommendation state was produced by the canonical adapter, not modified post-generation. Framed in the Proof-Readiness Architecture as “recommendation provenance”: produced by the canonical readiness adapter, not hand-edited.

4. Proof systems

The schema defines six proof-system keys. The _candidate suffix signals a future design option, not a committed or implemented dependency.

5. ML-DSA vs ZK/SP1

These two systems answer different questions and are complementary, not a replacement for each other. See the proof-readiness architecture for the full treatment.
  • Question: Who attested or signed this evidence?
  • Property: Authenticity / provenance.
  • Family: Post-quantum signature (FIPS 204 ML-DSA-65).
  • Status in WalletWall: Read-only evidence shape (hash-only, public vault repo).
  • Flags: isAttestation: true, isCandidate: false.
A mature evidence packet can carry both: an ML-DSA attestation and a ZK/SP1 proof. Neither subsumes the other. ZK is the broader proof family. SP1 is named here as a candidate proving implementation for selected readiness-computation claims — one option, not the architecture itself.

6. Verification status

The verification status is fail-closed: the default is not_applicable rather than verified. Candidate proof systems (sp1_candidate, zk_candidate) are always unsupported by default and cannot be marked verified until a production verifier is implemented and explicitly authorized. A status starts at not_applicable (the fail-closed default). Once a proof system is attached it can progress toward verified or failed; candidate systems (sp1_candidate, zk_candidate) are always unsupported instead and can never be marked verified. See the table above for the full definition of each status.

7. How it attaches to the Readiness Packet

The Readiness Packet is the single integration point where proof metadata attaches. The architecture is additive:
By default, proofExtension is absent from the packet — the base packet behavior is unchanged. It is only present when the caller explicitly passes a proofClaims option to the Readiness Packet builder. Conceptually, a schema helper builds the optional extension block from an array of proof claims, and the Readiness Packet builder accepts those claims through its proofClaims option. When claims are passed, the resulting packet carries a populated proofExtension; otherwise proofExtension is absent and the base packet is unchanged.

8. Safe limitations

Every proof claim carries a mandatory set of limitations, defined in PROOF_CLAIM_DEFAULT_LIMITATIONS. These are never relaxed by callers — the claim factory always merges them in. Key limitations:
  • A proof claim is not custody. WalletWall holds no keys, funds, or balances.
  • A proof claim produces no yield, interest, or return.
  • A proof claim is not fund protection. Readiness signals are research heuristics and do not insure or protect holdings.
  • A proof claim does not prove source-data truth. It binds a computation to committed inputs only.
  • A proof claim does not guarantee readiness, protection, safety, or any outcome.
  • A proof claim does not imply quantum resistance or quantum immunity; post-quantum verifier work is read-only research on testnet only.
  • Candidate proof systems (sp1_candidate, zk_candidate) are not implemented in production and carry no production verifier guarantee.
  • An ML-DSA attestation answers “who signed?” (authenticity) only; it is not a computation-correctness proof.
  • A ZK/SP1 candidate proof would answer “was this computation correct?” only; it says nothing about the truth of upstream source data or the identity of the signer.
  • No proof claim requires or implies that a user must connect a wallet, sign a transaction, or write to any chain.

9. Why SP1 is future / candidate only

SP1 is described throughout this schema and the architecture doc as a candidate proving implementation for selected readiness-computation claims. This framing is intentional:
  1. The claim must be stable before the prover is built. A stable claim schema is a prerequisite for scoping a prover — the claim defines what the proof must assert and what it explicitly does not.
  2. SP1 is one option, not the only option. RISC Zero or another zkVM could fill the same slot. The zk_candidate key exists for a prover-agnostic design option.
  3. No SP1 implementation is in this app. The app imports no prover, verifier, circuit, or program from the public vault research repo at runtime.
  4. Production verification is always out of scope until independently reviewed and explicitly authorized. No ProofClaim from this schema may set verificationStatus = "verified" for a candidate proof system.

10. Mock claim builder

The mock claim builder produces a deterministic mock claim for tests and future UI wiring.
  • Uses proofSystem: 'mock' by default.
  • Can produce a sp1_candidate or zk_candidate fixture if options.proofSystem is set explicitly.
  • Performs no I/O, no clock reads, and no proving.
  • Derives a stable claimId from claimType, subject address/symbol, and chain.
  • Always includes the mandatory limitations plus a mock-specific disclosure.
  • verificationStatus is not_applicable for mock, unsupported for candidates.

11. Non-goals

The proof claim schema explicitly does not:
  • Implement SP1 prover or verifier code.
  • Implement ZK circuits or programs.
  • Import contracts, ABIs, or implementation details from the public vault research repo.
  • Add custody, yield, fund movement, or wallet-signing behavior.
  • Require mainnet writes or wallet connections.
  • Prove that Dune, on-chain, or any external source data is globally true.
  • Guarantee readiness, safety, protection, or any specific outcome.
  • Provide production on-chain verification of any proof.

12. Dune / source-data boundary

This schema changes no Dune behavior:
  • No Dune queries are executed, scheduled, refreshed, or modified.
  • Proof claims reference committed inputs; they do not assert that the inputs from Dune or on-chain sources are globally true.
  • Existing Dune execution guardrails and cache-first read paths are preserved unchanged.

This document is architecture and schema documentation only. It introduces no prover, verifier, circuit, or contract code, no runtime behavior change, and no Dune behavior change. SP1 is a candidate implementation for selected readiness- computation proofs; the Readiness Packet is the integration point where future proof artifacts attach.