zPredictdocs
App
Menu

Evidence

View .md

The test suites, the end-to-end runs and their outputs, the testnet transactions, and how to check each claim yourself.

Every claim in these docs should be checkable from the repository. This page lists where.

Test suites

CommandCovers
cargo test --workspaceUnit tests next to the code in every crate; packages/circuit/tests (circuit vs plaintext reference, credentials, mock rows); packages/settle/tests (memo and outcome vectors); relayer API contract tests such as orders_contract. Slow real-MPC and live-network tests are #[ignore]
pnpm test@zpredict/sdk against the Rust test vectors (core, memo, outcome); the web app's chart, markets and mock clearing; these docs (link linter, smoke test)
pnpm buildBuilds every app, including the privacy gates of the app and these docs (no third-party URLs in what the browser loads)
pnpm check:ciBiome lint and format

CI (ci.yml) runs all of them, plus cargo fmt --check and clippy -D warnings, on every pull request; main requires it to pass.

End-to-end runs (regtest)

ScriptProves
scripts/relayer-e2e.shDeposit → trade → resolution → withdrawal through three real relayers; forged withdrawals by each relayer refused; payout is v6, Ironwood only, transparent in+out 0; no unsealed secret left
scripts/settle-e2e.shSealed DKG → two deposits → one batched 2-of-3 payout → mined; a one-zatoshi tampered vector is refused
scripts/scan-e2e.shA tagged deposit is found by all three relayers' scanners, each opening only its memo slot (MEMO_FROM=sdk builds the request with the SDK)

Regtest output recorded in packages/settle/README.md (each run is a fresh chain, so ids differ):

settle-payout: refused to sign: action 0: 4000000 zats to an address not in the payout vector
txid 8f5c8135addb23796c87f557ccb01dd1a859363b64a6680d48f01644c7d4cf00  version 6  height 123  ironwood actions 3  orchard actions 0  transparent in+out 0

Testnet

WhatValue
Escrow (Ironwood-only UA)utest18yg3cneyjgxxknjm0j9020hmx5jp2wm67qn2p3rfmflct9hwlt363gzl50qeu3ms2u044hq8jzuzkl2tq8xa4m0ukzvlpqgtvu96ffyy
FROST group key (ak)a0cff44d86411e03d1ae3a76982d38bf0aac73db9568a2496324167486dbc534
Escrow birthdaytestnet block 4,530,716 (key ceremony, 2026-10-23)

Testnet transactions: to be added. Deposit and payout txids from the hosted demo go here once recorded (deposit txid, payout txid, block height, and the explorer-independent check below). Until then the regtest runs above are the on-chain evidence.

KindtxidHeight
Depositpending
Batched payoutpending

Check a txid against your own node: zcash-cli getrawtransaction <txid> 1 should show version 6, Ironwood actions, and no transparent inputs or outputs.

Check the live claims

curl -s https://r0.zpredict.site/group-key          # the same key on r0, r1, r2
curl -s https://r0.zpredict.site/markets | jq '.[] | select(.status=="resolved") | {id, outcome, blockHash, outcomeSig}'
for i in 0 1 2; do curl -s "https://r$i.zpredict.site/view?after=0" | head -c 200; echo; done   # digests only
curl -sI https://app.zpredict.site | grep -i content-security-policy
curl -sI https://docs.zpredict.site/docs/introduction | grep -i content-security-policy

The full list of checks, with what to expect, is in PRIVACY.md "Verify it yourself".