Oracle is a privacy-focused prediction market prototype where positions are submitted as encrypted payloads and resolved through multi-oracle consensus with dispute controls.
- The client encrypts the stake and position side locally using the Arcium cluster public key before any network call.
- Only ciphertext and commitment hashes are sent to the backend and written on-chain; no plaintext stake or choice is stored.
- At settlement time, Arcium MPC and threshold decryption produce the final outcome artifacts without exposing individual bets.
- Stake sizes and positions are never sent in plaintext or stored in logs.
- Activity feeds can remain aggregated or redacted to avoid leaking sensitive intent.
- Reduces data leakage and MEV-style inference around who took which side.
- Client-side encrypted stake/choice with a commitment hash; plaintext stakes are not sent to the API.
- Multi-oracle (3-of-5) voting with staking and slashing hooks.
- Settlement challenge window with a mandatory bond to prevent free griefing.
- Authority dispute resolution to uphold or cancel; refunds for cancelled/invalid markets.
Prototype only. Not audited for production use. Development uses a mock Arcium cluster key; production requires a real cluster key.
NEXT_PUBLIC_SOLANA_RPCNEXT_PUBLIC_PREDICTION_MARKET_PROGRAM_ID(optional override)NEXT_PUBLIC_ARCIUM_CLUSTER_IDNEXT_PUBLIC_ARCIUM_CLUSTER_PUBKEY(required in production)ORACLE_STORE_PATH(required in production for persistence)NEWS_API_PROVIDERNEWS_API_KEY
npm run dev
npm run build
npm run test:matrix
npm run audit:backendMIT