zPredictdocs
App
Menu

Status

View .md

What runs for real, what is a labelled mock, and what is still open, as of the main branch.

zPredict is a ZECATHON 2026 testnet demo. Collateral and settlement are on Zcash testnet; markets resolve from mainnet data. Nothing here is audited by a third party; the privacy audit in PRIVACY.md is the team's own adversarial review.

Real

PieceWhere it runs
Browser XOR sharing, one share per relayer@zpredict/sdk, the hosted app
3-party MPC matching (polytune), balances and 128-bit account credentials checked in-circuitThe hosted relayers; packages/circuit
Resolution payouts in MPCHosted relayers; regtest e2e
Chain-data resolution from mainnet blocks, FROST-signed outcomesHosted relayers ([settlement] on, GET /group-key)
FROST 2-of-3 DKG, sealed key sharesOne ceremony on 2026-10-23 for the testnet escrow
Fixed-denomination deposits with encrypted memos, scanned by all threeTestnet escrow; scan-e2e.sh on regtest
Batched, verify-then-sign Ironwood payouts; forged withdrawals refusedrelayer-e2e.sh and settle-e2e.sh on regtest
Hourly rolling marketsHosted relayers
Mirrored Polymarket markets (US midterms), resolved per PolymarketHosted relayers; oracle trust in Markets

Mock, and labelled as such

PieceWhy
Judge mode credit25 units of mock testnet collateral without a deposit, so judges can trade without a faucet. Flagged by every relayer and never withdrawable (Your money). Testnet only
Demo counterparty ("Take the other side (demo)")A lone judge has nobody to cross with; this adds the exact opposite order from the same account, a self-trade that nets out. No bot, resting book or relayer-side liquidity exists
pnpm --filter @zpredict/web dev:mockLocal mock relayers that combine shares in the clear, for UI work only

Demo limits

  • One VM, behind Cloudflare. All three relayers and the DKG run on one machine, and Cloudflare terminates TLS for all three (#88). Either can see everything. The model needs independent operators.
  • 48 accounts in the balance table; rows are not reclaimed yet (#64).
  • Six open markets per MPC run.
  • A fill shows about 25 s after the order on the hosted VPS.

Open

IssueWhat
#88, #89Cloudflare TLS termination; injected beacon and NEL headers
#90, #91Request metadata and withdrawal amount/timing linkage
#64Reclaim balance-table rows after a full withdrawal
#121Relayers serve historyAt for price history
#124Deploy robustness after the relayer outage of 2026-10-23
#75Build the relayer image in CI to avoid deploy downtime

Is it up?

for i in 0 1 2; do curl -s https://r$i.zpredict.site/health; echo; done

peers all true means the three relayers reached each other in the last batch.