zPredict is a shielded prediction market on Zcash, built for ZECATHON 2026 (Private Markets track). Everyone sees the odds. Nobody sees who bet.
- Orders are split in your browser into three XOR shares, one per relayer. A single share is uniformly random.
- Matching happens inside 3-party MPC (polytune): the relayers cross YES against NO at the midpoint and check your balance and your account credential in-circuit. Only your fill (to you) and one public clearing price per market come out.
- Collateral sits in a FROST 2-of-3 escrow on Zcash's Ironwood shielded pool. Withdrawals are batched into one shielded transaction, and every signer re-derives what it signs.
- Outcomes come from Zcash mainnet block data (or, for mirrored markets, from Polymarket), are FROST-signed by the relayers, and are verified in your browser.
Reading orders needs all three relayers to collude; moving funds needs two. The hosted demo runs all three on one VM behind Cloudflare, so read it as a working protocol, not a working trust split. See Privacy and Status.
Try it
- Open app.zpredict.site and press Judge mode. You get mock testnet collateral without a deposit (it can never be withdrawn).
- Pick a market and place an order. Trading alone? Tick Take the other side (demo) to add a labelled self-trade, so you see a fill.
- Open the Relayer View (
/trade/): three panels of noise, with your own shares lit.
Where to go next
| If you want to | Read |
|---|---|
| Understand the flow end to end | How it works |
| Know what each party can learn | Privacy, Threat model |
| Build against the relayers | Relayer API, SDK |
| Run the stack yourself | Run a relayer |
| Check the claims | Evidence |
Source
Everything is in one MIT-licensed monorepo, zpredict/zpredict. The protocol is specified in DESIGN.md and audited in PRIVACY.md; these pages are written from them and from the code, and link to both.
| Path | What |
|---|---|
apps/relayer | Relayer: HTTP API, Noise peer links, MPC party, deposits, payouts |
apps/web, apps/landing, apps/docs | The app, the site, these docs |
packages/core, packages/circuit | Encodings and the clearing rule; the Garble circuits |
packages/settle, packages/oracle, packages/plugins | Escrow scan and FROST payouts; market resolution |
packages/sdk | The browser client |