Skip to main content
Oracle is the only contract authorised to call ConditionalTokens.reportPayouts for PredictStreet binary markets. Neg-risk markets settle through the neg-risk oracle (negRiskOracle in GET /api/platform/contracts), which reports through the NegRiskAdapter.

Key constants (testnet defaults)

Write surface (platform-only, except finalizeOutcome)

Every call except proposeOutcome and voidUnproposedMarket is keyed by the market’s conditionId, not its questionId.

Read surface (anyone)

Events

Lifecycle events are keyed by an indexed conditionId; questionId is a plain (non-indexed) field.

Challenging from a partner integration

Direct on-chain

The oracle pulls the proposal’s bondSnapshot from the signing address with transferFrom, so that address must hold the USDC itself. If your challenge is upheld, or the market is voided, the bond (plus any reward) is credited to pendingBondPayouts(yourAddress); claim it with withdrawBondPayout(to). Neg-risk markets are challenged on the neg-risk oracle instead — see Challenges.

Source

0x346f4065f9aA3CE51F06bAfff3e657bc2FbD209b on Blockscout (testnet).