A reproducible, fixture-only container that rehearses WalletWall's evidence normalization pipeline. It exists so anyone — no WalletWall account, no Vercel team access, no API keys — can build or pull this image and independently verify what the simulator actually does.
- Home: https://walletwall.org/
- Docs: https://docs.walletwall.org/
- Vault Readiness: https://vault.walletwall.org/
This is a verification artifact, not a live product surface. It never queries Dune, never makes a network call, never touches real wallet or market data. Every signal in its output comes from a single static, hand-authored fixture checked into this repo.
WalletWall's private application repo runs this exact same simulator internally as part of its CI and its own container publishing pipeline. This public repo is a source-and-build mirror of that self-contained piece, so the claim "we normalize signals without executing Dune queries, and our evidence pipeline behaves the way we say it does" isn't something you have to take on trust — you can build it and check.
Two runs of the image always produce byte-for-byte identical output, including the same sha256(stableStringify(payload)) commitment. If you pull a published image and the commitment matches what's documented for that version, you're running the exact code that was tested and scanned before release — nothing substituted.
- Loads a static input fixture (
scripts/evidence-sim/fixtures/simulation-input.json) — hand-authored mock data, no real wallets, holders, or market values. - Normalizes the fixture's Holder Wall / Stable Seer / Coinstellation signals using WalletWall's canonical vocabulary (holder types, peg signals, vault readiness score bands).
- Represents Dune query dependencies as metadata contracts only — env-var name, mode, refresh cadence, expected columns. No query IDs, no execution, ever.
- Emits a deterministic JSON payload with a cryptographic commitment, explicit
simulated: true/mode: simulation-non-productionmarkers, and alimitations[]array disclosing exactly what the output does and doesn't guarantee. - Fails closed (non-zero exit) on any missing or malformed required field.
docker build -t walletwall-evidence-sim .
docker run --rm walletwall-evidence-simOr without Docker:
npm test # run the test suite
node scripts/evidence-sim/simulate-evidence.mjs # human-readable summary + artifact
node scripts/evidence-sim/simulate-evidence.mjs --json # full JSON payload on stdout- Not the production WalletWall app. The live app deploys on Vercel; this repo has no frontend, no API routes, no user data.
- Not a source of real data. Every value is a static fixture. Nothing here reflects a real wallet, holder, or market condition.
- Not proof of anything on-chain. It normalizes signal shapes; it doesn't attest to blockchain state.