Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.adipredictstreet.com/llms.txt

Use this file to discover all available pages before exploring further.

Settlement is automated via oracle-service and the PredictStreetOracle contract. Binary and neg-risk markets follow different on-chain settlement paths — see Flow for the per-market-type timeline. The data side is currently single-source per market (configured by admin during market authoring). Multi-source aggregation exists in oracle-service but is partial — when used, it follows a simple majority rule across the configured sources; there is no “primary-source must agree” gate enforced at this layer today.

Flow

Per-market-type timelines: binary (propose / challenge / finalize) and neg-risk (direct winner-index report).

Challenges

Binary-only: 10 USDC bond, 2h window, override / confirm / void outcomes.

Void / delayed

When automated settlement cannot proceed safely.

Data sources

oracle-service integrates with multiple match-data providers (Stats Perform / API-Football / Sportmonks). At the admin authoring flow today, a market is configured with one source. Multi-source support exists but is partial and not the default path through the admin surface. When multi-source IS configured, the implemented rule is simple majority of the configured sources. The “2-of-3 against a primary source” rule that earlier docs described is not enforced today. A market moves to DELAYED when the configured source(s) cannot produce a safe, unambiguous outcome — either because data is unavailable, ambiguous, or there is no safe majority among the configured providers. See Void & delayed.

Bond + challenge window — binary markets only

The propose → challenge → finalize lifecycle (with bond-backed challenge window) applies to binary markets. Neg-risk markets do NOT use this lifecycle — see Flow for the neg-risk path. For binary markets:
  • Challenger bond: 10 USDC
  • Challenge window: 2 hours after proposal
  • Only the first challenge per market is accepted
Outcomes:
DecisionChallenger bondFinalisation
Confirm originalForfeited to revenue walletOriginal payouts stand
OverrideReturned + rewardCorrected payouts
VoidReturned in fullVoid payout vector applied
See Void & delayed for what the void payout vector means for redemption.

Emergency paths

  • markDelayed(questionId) / undelay(questionId) — pause while waiting for data.
  • voidMarket(questionId) — admin-authorised void path (governance approvals are tracked off-chain via SOP; the on-chain authorisation model is an admin role today, not a verified multisig).
  • initiateProposalClear + executeProposalClear — 7-day timelock path for clearing a stuck proposal (binary markets).

What partners typically need to know

  1. Fills are not final until the oracle finalises the market.
  2. Subscribe to oracle.market_resolved for resolved markets; void/cancel publishes via oracle.market_cancelled (separate event — both should be handled).
  3. Redemption is on-chain — call ConditionalTokens.redeemPositions with your winning tokens. No off-chain helper endpoint is exposed on the partner surface; the on-chain PayoutRedemption event triggers an automatic credit to your /api/me/balances.collateral via chain-watcher.