Skip to content

Resolution & Oracle

PrediX market lifecycle states

StageDescription
CreatedCreator (with CREATOR_ROLE) creates a market, sets endTime + selects oracle
TradingUsers split / merge / trade until endTime
EndTimeTrading closes (hook blocks add liquidity + swap). Oracle window opens
ResolvedOracle calls resolveMarket() with the outcome
RedemptionUsers holding the winning token → redeem for USDC
RefundModeFallback if oracle cannot resolve (oracle down, dispute hung)
RefundedUsers burn YES+NO pairs → receive USDC pro-rata

PrediX 4 oracle types

1. ChainlinkOracle - Automatic, permissionless.

Section titled “1. ChainlinkOracle - Automatic, permissionless.”

PrediX uses ChainlinkOracle when Price-threshold markets (BTC, ETH, asset prices, FX rates).

ChainlinkOracle PrediX

PrediX uses ChainlinkOracle with Subjective events (sports, elections, debate outcomes).

Multisig 2/3 reads the result from an off-chain source and signs the transaction.

  • Source: Reuters, AP, official APIs, on-chain data, video streaming.
  • Outcome is immutable once set (invariant INV-6).
  • Audit trail: OracleReportCreated event on-chain.

PrediX uses UMAOracle with Events requiring decentralized resolution without multisig dependency (Permissionless propose + 48h dispute window).

UMAOracle PrediX

Bond sizing: max(min_bond, min(market_tvl x 0.5%, max_bond)). Range $500 - $50,000 USDC.

PrediX uses Committee Oracle with Cross-chain governance outcomes, complex composite events.

  • t-of-N threshold signature (e.g., 5-of-9 validators).
  • Commit-reveal voting prevents front-running.
  • PRX slashing if a vote contradicts the final consensus.
  • Cross-chain via Wormhole / LayerZero.

ManualChainlinkUMACommittee
Who resolvesMultisig 2/3AnyoneAnyone proposes, DVM disputest-of-N validators
Subjective events
DisputeOff-chain socialNone (data is law)On-chain 48hOn-chain commit-reveal
LatencyInstant after signingAfter 1 round (~30s-1min)48h defaultAfter commit-reveal cycle
DecentralizationLowMediumHighHigh

When no oracle can resolve → admin enables refund mode via 48h timelock → users burn YES+NO pairs → receive USDC pro-rata.


Phase Mechanism
Phase 1 (Manual) Multisig discussion, social consensus. If majority agrees resolution was wrong → enable refund mode
Phase 2 (UMA) Dispute via UMA protocol, DVM vote
All phases isResolved=true is never reverted (INV-6 hard invariant)

  • Phase 1: Addresses with CREATOR_ROLE (admin + whitelisted creators).
  • Phase 3 (TBA): Permissionless - anyone can create a market by staking a PRX bond (10k PRX proposed). Bond is slashed if the market is malformed or resolution is disputed.

  • Resolve window: 7 days after endTime. If delayed → may trigger default refund mode.
  • Redemption: No hard deadline, 365-day grace period, after which admin may call sweepUnclaimed to transfer to treasury.
  • UMA dispute: 48h after proposal.

Time parameters are configurable per-market or globally.