WalletWall Proof Claim Schema
Scope. This document defines theSee also:proof-claim-schema.js— 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 (proof-readiness-stack.md).
- Proof-Readiness Architecture — the pipeline, ML-DSA vs ZK/SP1 distinction, and the claim-contract template this schema implements.
- Vault-first positioning — canonical thesis and copy red-lines.
- Complementary feature alignment — surface jobs and Phase 0–4 roadmap.
- ZK Proof-Artifact Roadmap — staged, non-production ZK/SP1 next steps.
- Dune query guardrails — read-only / cache-only Dune posture (unchanged by this schema).
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 file
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.| Claim type key | Layer | What it asserts |
|---|---|---|
readiness_score_v1 | Readiness adapter | The readiness score was computed under the canonical model version. |
vault_candidate_threshold_v1 | Readiness model | The vault_candidate threshold was evaluated using the approved rules. |
quantum_risk_tier_v1 | Quantum Intelligence | The quantum-risk tier was derived from approved exposed-signature / dormancy / balance inputs. |
packet_integrity_v1 | Readiness Packet | The packet summary hash corresponds to the canonical Readiness Packet fields at generation time. |
adapter_recommendation_v1 | Readiness adapter | The recommendation state was produced by the canonical adapter, not modified post-generation. |
4. Proof systems
The schema defines six proof-system keys. The_candidate suffix signals a
future design option, not a committed or implemented dependency.
| Proof system key | Type | Question answered |
|---|---|---|
none | — | No proof attached; schema only. |
mock | Dev/test fixture | Deterministic mock for tests; not a real proof. |
sp1_candidate | ZK (candidate) | Was this computation correct under the approved ruleset? |
zk_candidate | ZK (candidate) | Was this computation correct under the approved ruleset? |
mldsa_attestation | Attestation | Who attested or signed this evidence? |
external_attestation | Attestation | Who attested or signed this evidence? |
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.ML-DSA (mldsa_attestation) | ZK / SP1 (sp1_candidate, zk_candidate) | |
|---|---|---|
| Question | Who attested or signed this evidence? | Was this computation performed correctly under the approved ruleset? |
| Property | Authenticity / provenance | Computation correctness |
| Family | Post-quantum signature (FIPS 204 ML-DSA-65) | Zero-knowledge proof family; SP1 is one candidate zkVM |
| Status in WalletWall | Read-only evidence shape (hash-only, public vault repo) | Candidate / feasibility — not implemented in this app |
isAttestation flag | true | false |
isCandidate flag | false | true |
6. Verification status
The verification status is fail-closed: the default isnot_applicable
rather than verified.
| Status key | Meaning |
|---|---|
not_applicable | No proof system attached; verification does not apply. |
pending | A proof system is intended but proof generation has not completed. |
attached | A proof is attached but not yet independently verified. |
verified | A proof was independently verified under the stated system. |
failed | Verification was attempted and failed. |
unsupported | The proof system is a candidate only; verification is not yet possible. |
sp1_candidate, zk_candidate) are always
unsupported by default and cannot be marked verified until a production
verifier is implemented and explicitly authorized.
7. How it attaches to the Readiness Packet
The Readiness Packet (buildVaultReadinessPacket.js) is the single
integration point where proof metadata attaches. The architecture is additive:
proofExtension is absent from the packet — the base packet
behavior is unchanged. It is only present when the caller explicitly passes
options.proofClaims to buildVaultReadinessPacket.
Helper:
8. Safe limitations
Every proof claim carries a mandatory set of limitations, defined inPROOF_CLAIM_DEFAULT_LIMITATIONS. These are never relaxed by callers — the
createProofClaim 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:- 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.
- SP1 is one option, not the only option. RISC Zero or another zkVM could
fill the same slot. The
zk_candidatekey exists for a prover-agnostic design option. - No SP1 implementation is in this app. The app imports no prover, verifier, circuit, or program from the public vault research repo at runtime.
- Production verification is always out of scope until independently reviewed
and explicitly authorized. No
ProofClaimfrom this schema may setverificationStatus = "verified"for a candidate proof system.
10. Mock claim builder
buildMockReadinessProofClaim(readinessPacket, options) produces a
deterministic mock claim for tests and future UI wiring.
- Uses
proofSystem: 'mock'by default. - Can produce a
sp1_candidateorzk_candidatefixture ifoptions.proofSystemis set explicitly. - Performs no I/O, no clock reads, and no proving.
- Derives a stable
claimIdfromclaimType, subject address/symbol, and chain. - Always includes the mandatory limitations plus a mock-specific disclosure.
verificationStatusisnot_applicableformock,unsupportedfor 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 guardrails (
assertDuneExecutionAllowed,readOrCache,getOrCache) 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.

