WalletWall Proof-Readiness Architecture
Scope. This document is architecture only. It defines WalletWall’s proof-readiness stack and explains where eventual zero-knowledge (ZK) proofs — with SP1 as one candidate proving implementation — would attach. It adds no prover, verifier, circuit, or contract code, changes no runtime behavior, and changes no Dune behavior. It reconciles the existing ML-DSA / ZK research work (in the public vault research repo) and the canonical readiness model (in this app) into one map, without duplicating either.See also (published references):
- ZK Proof-Artifact Roadmap — staged, non-production ZK/SP1 next steps
- SP1 candidate decision — why SP1 is a candidate, not a dependency
- Vault Boundaries & Disclosures — custody, financial, testnet, and quantum-security boundaries
Wallet-Wall/walletwall-vault) with WalletWall’s canonical readiness model. The detailed product-strategy, per-surface alignment, and Dune-posture material it draws on is maintained as internal engineering documentation and is not part of the public docs.
1. Executive summary
WalletWall is building a proof-ready readiness architecture. The platform maps wallet, stablecoin, and cryptographic exposure and turns that intelligence into vault-ready migration paths and read-only evidence packets. The platform is proof-ready, not SP1-dependent. Every readiness surface works today with no prover in the loop. A proof system is an optional, additive layer that can later attach verifiable evidence to a readiness result — it is never a prerequisite for the product to function, and it never changes what WalletWall is:- WalletWall is read-only. It takes no custody, holds no keys or balances.
- WalletWall pays no yield, interest, or return, and makes no return projections.
- WalletWall performs no on-chain writes and never asks a user to connect or sign with a wallet to use a readiness surface.
- A proof does not turn a research heuristic into a guarantee. Readiness stays a research signal whether or not a proof is attached.
2. Current product hierarchy
WalletWall is organized as a two-tier hierarchy: the Stablecoin Vault as the primary readiness surface and Quantum Intelligence as the supporting exposure layer.Market Radar is not a present product. It was renamed Stable Seer (Epic #163) and survives only as a historical reference.Each surface answers a distinct question, and the proof layer keeps these questions separate rather than collapsing them:
- ML-DSA answers: who attested or signed this evidence? (authenticity / provenance)
- ZK / SP1 answers: was this readiness computation performed correctly under the approved ruleset? (computation correctness)
- Readiness Packet answers: what evidence, recommendations, model version, and proof / attestation references are attached? (the evidence container)
- Stablecoin Vault answers: how does a user review readiness and rehearse migration safely? (the workflow)
- Quantum Intelligence answers: what cryptographic / signature / custody exposure affects migration readiness? (the risk engine)
3. Proof-readiness pipeline
4. Layer responsibilities
Complementary signals
Complementary signals
Discovery and raw-signal surfaces that seed the readiness inputs: Holder Wall
(holder / wallet analytics — candidate wallets and holder-set context), Whale
Watcher (large-wallet movement signals feeding exposure context),
Coinstellation (wallet-relationship graph context), Stable Seer
(stablecoin / token market intelligence: peg, rails, flows), and Watchlist
(user-selected wallets / assets that seed the readiness inputs). None of these
surfaces owns verdicts, custody, or proofs — see §2 for the full hierarchy.
Quantum Intelligence
Quantum Intelligence
The cryptographic exposure and migration-risk engine: what signature / custody /
dormancy exposure affects migration readiness. Its candidate proof claim (§6,
“quantum-risk derivation”) would assert that the quantum-risk tier was derived
from the approved exposed-signature / dormancy / balance inputs — never that
funds are safe or custody is held.
Readiness adapter / model
Readiness adapter / model
Normalizes scattered signals into one canonical
StablecoinVaultReadiness
(recommendation state, score band, risk drivers, boundaries). Two §6 candidate
claims map to this layer: “readiness tier provenance” (the tier was computed
from canonical inputs under a stated model version) and “recommendation
provenance” (the recommendation state was produced by the canonical adapter, not
hand-edited).Readiness Packet
Readiness Packet
Bounds the readiness result into a self-describing, timestamped evidence
container with placeholders for proof / attestation references. Per §9, the
packet already emits an
evidence block with null reportHash /
evidenceHash placeholders today — no proof is generated, the slots are simply
reserved. The packet stays pure data: no signing, no proving, no I/O, and proof
/ attestation fields are optional and additive.ML-DSA attestation
ML-DSA attestation
The post-quantum attestation / signature layer: who attested this? It says
nothing about whether a computation was correct — only that a known party stood
behind the evidence with a post-quantum (FIPS 204 ML-DSA-65) signature. Status in
WalletWall today is a read-only research evidence shape (hash-only), living in
the public vault research repo — see §5.
ZK / SP1 proof
ZK / SP1 proof
The computation-correctness layer: was this readiness computation performed
correctly under the approved ruleset? SP1 is named as one candidate zkVM proving
implementation, not a committed dependency — RISC Zero or another system could
fill the same slot. Status in WalletWall today is candidate / feasibility only;
not implemented in this app. The §6 candidate claims enumerate the specific
computations a future proof could cover.
Stablecoin Vault workflow
Stablecoin Vault workflow
How a user reviews readiness and rehearses migration safely: read-only review
plus a Sepolia testnet rehearsal, never mainnet. Per §1, this surface takes no
custody, holds no keys or balances, pays no yield, and performs no on-chain
writes — none of that changes whether or not a proof is attached.
5. ML-DSA vs ZK / SP1
These are two different layers that answer two different questions. They are complementary, not replacements.- ML-DSA is the post-quantum attestation / signature layer. It says nothing about whether the computation was correct — only that a known party stood behind the evidence with a post-quantum signature.
- ZK / SP1 is the computation-correctness layer. It says nothing about who signed — only that the published output is the honest result of running the approved ruleset over the committed inputs.
- A mature evidence packet can carry both: an ML-DSA attestation and a ZK/SP1 proof. Neither subsumes the other.
6. Candidate SP1 proof claims
These are examples of safe future claims a ZK proof (SP1 or otherwise) could make about a readiness computation. They are candidates for design discussion, not commitments, and none is implemented:- Readiness tier provenance — the readiness tier was computed from the canonical inputs under model version X.
- Vault-candidate threshold — the
vault_candidatethreshold was evaluated using the approved rules in the canonical readiness model. - Quantum-risk derivation — the quantum-risk tier was derived from the approved exposed-signature / dormancy / balance inputs.
- Packet integrity — the packet summary hash corresponds to the canonical readiness-packet fields.
- Recommendation provenance — the recommendation state was produced by the canonical readiness adapter, not hand-edited.
7. Non-goals and forbidden implications
A proof — including a future SP1 proof — has a deliberately narrow meaning. Shipping a proof would not mean any of the following, and copy must never imply them:- It would not mean WalletWall has custody of any keys, funds, or balances.
- It would not mean WalletWall protects, secures, or insures funds.
- It would not mean WalletWall is quantum-proof or quantum-immune.
- It would not mean WalletWall proves all source / on-chain / Dune data is globally true. A proof binds a computation to committed inputs, not to ground truth.
- It would not mean readiness is guaranteed or that any outcome is assured.
- It would not mean WalletWall verifies production vault security.
- It would not mean WalletWall runs on-chain writes.
- It would not mean users must connect or sign with a wallet to use a readiness surface.
8. Claim contract template
Before any proof is built, the claim it proves must be specified as a non-code claim contract. This template is documentation-only; it defines what a claim asserts and what it deliberately does not, so a prover can be scoped without ambiguity later.
The Limitations row is mandatory: every claim contract must state its own
boundaries so a proof can never be read as more than it is.
9. Readiness Packet integration
The Readiness Packet is the single integration point where future proof metadata attaches. The packet already exists and already reserves space for this: today the Readiness Packet builder emits anevidence block with null reportHash /
evidenceHash placeholders, documented as “optional placeholders for a future
attestation path.” No proof is generated; the slots are simply reserved.
A future proof-bearing packet could carry an evidence block shaped like this
(documentation sketch, not a schema or code):
Design constraints for this integration point:
- The packet stays pure data: no signing, no proving, no I/O, no clock reads inside the builder.
- Proof / attestation fields are optional and additive. A packet with all of them null is the canonical default and remains fully valid.
- Hashes follow the repo’s existing convention (
0x+ 64 hex), matching the platform’s proof-artifact status hash convention. - The app consumes only local, read-only evidence shapes. It never imports prover / verifier code, ABIs, or contracts from the public vault research repo, and never fetches them at runtime.
10. Dune / source-data boundary
Dune, on-chain reads, and other source APIs are evidence sources. A future proof can prove a computation over canonical inputs — it cannot, and must not be sold as, proof that the underlying source data is globally true.- A proof binds the readiness computation to committed inputs. If those inputs were stale or wrong, the proof is still “correct” about the computation but says nothing about ground truth. This distinction must stay explicit in every claim contract (see §8 Limitations) and in any UI that surfaces a proof.
- No query execution during tests or agent runs. Execution is fail-closed behind an execution guard and hard-blocks in CI / test.
- No write / refresh / mutation behavior. Read-only access only; no surface calls the execute-and-poll path.
- Cached / reduced read paths are preferred (cache-first read helpers).
11. Future implementation sequence
A sober, gated order. Each step is independent; none implies the next is funded, scheduled, or safe to ship. This reconciles with the staged plan in the ZK Proof-Artifact Roadmap.1
Docs / proof architecture
This document (the map and vocabulary). Done — you are reading it.
2
Proof claim schema
Formalize the §8 claim contract as a versioned, validated schema (still no prover).
3
Mock proof artifact in the Readiness Packet
Populate the §9 fields with a mock artifact end-to-end, so the integration point
is exercised with no real proof.
4
Proof-system comparison
Evaluate SP1 vs RISC Zero vs alternatives against the stabilized claim contract, if
and when a real proof is pursued. Done — recorded in the
SP1 candidate decision.
5
SP1 dev scaffold
Only after the claim contract is stable; research scaffold only, gated, off the
app runtime path. The dev-only scaffold lives in a private research directory
(fixtures + docs; no prover, not wired to the app). To build/run the candidate
program locally in a controlled environment, see the
SP1 dev environment runbook —
execute-mode only, not production verification.
6
Testnet / demo-only proof integration
Surface a real proof as read-only evidence on testnet / demo only.
7
No production verifier or custody claims
Production on-chain verification, custody, and mainnet behavior remain out of
scope until independently reviewed and explicitly authorized.
Evidence-readiness state map
The same staged sequence as a state progression. This is a research / documentation map, not a live status feed — no surface in the app currently reports a wallet’s or packet’s position on this chain, and reaching the end of it does not imply live custody or production ZK/PQ proving. Only “Observed” is a live app capability today (Stage 0 above). “Evidence-ready” and “Hosted-evidence” reflect work completed in the public reference repo, not a runtime call the app makes. “Signed-evidence” and “Future ZK/PQ research” are research states — none of them is custody, a production proof, or a guarantee.12. Security and trust boundaries
The proof-readiness stack does not relax any existing platform boundary:- Read-only app. No surface takes custody, holds keys, or moves funds.
- No custody. WalletWall never holds keys, funds, or stablecoin balances.
- No yield. No yield, interest, or return, and no return projections.
- No wallet signing. No readiness surface requires connecting or signing with a wallet; the vault surface is a read-only Sepolia rehearsal, never mainnet.
- No guarantees. Readiness signals are research heuristics; a proof raises confidence in a computation, not in an outcome.
- Model-versioning required. Every proof / packet binds to a canonical model version, so a claim is always interpretable against the exact rules it used.
- Provenance vs. attestation separation. Who signed (ML-DSA) and what was computed correctly (ZK/SP1) stay distinct fields; one is never presented as the other.
- Proof verification limitations. A verified proof attests to a computation over committed inputs only — never to source-data truth, custody, protection, or a guaranteed outcome.
13. Open questions
These are intentionally unresolved and should be settled before any prover work:- Which proof claim should be first? The §6 candidates differ sharply in value and difficulty — which earns the first design pass?
- What inputs should remain private? Which canonical inputs are sensitive enough to commit-and-withhold rather than reveal?
- What should be public / committed? What is the minimal set of public inputs and commitments that makes a claim independently meaningful?
- Is SP1 the right prover vs alternatives? SP1, RISC Zero, or another system — decided against the stabilized claim contract, not before it.
- Where should proof artifacts live in the UI? How is a read-only proof reference surfaced without implying custody, protection, or a guarantee?
- How do we avoid proving stale or unaudited source data? How do freshness and provenance of the inputs get represented so a proof is never mistaken for a truth claim about the source?
This document is architecture and 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.

