Modules / Module 11 / Chapter 3

Selecting an Oracle and Dispute Resolution Framework

Building Your Own Prediction Market

Your Resolution Spec describes the truth you want. Your matching engine describes how traders negotiate toward it. The oracle and dispute framework describes who may certify that truth, how disagreements are priced, and when collateral finally moves. Correct forecasts still die on false asserts, absent challengers, and governance fights when bonds are too small for the open interest at stake.

Oracle and dispute are one mechanism. Pick both from spec clarity and audience, not from a buzzword list.

Settlement and dispute chapters for traders described appeals from the buy side; builders must wire the same stages so freezes are predictable and bonds match manipulation upside.

The lifecycle in one narrative

Trading runs under published rules. The real world resolves: a print hits, a certification posts, a match ends. Someone asserts an outcome and posts a bond. Others may challenge within a window. If disagreement persists, the system escalates—token vote, designated panel, or exchange operations. A flag finalizes; redemption follows. Any undefined stage leaves traders holding dispute gamma: capital frozen, expected value unknown, social feeds full of theories.

If an asserter cannot map your spec to YES, NO, or INVALID without judgment, fix the spec before you wire optimistic resolution.

Centralized operations oracle

Licensed exchanges often embed listed sources in customer agreements and operate a determination desk. Speed is hours to days; appeals are narrow. Traders trade away some transparency fights for predictable clocks—valuable for bankroll planning on macro releases. Your job as builder on this path is compliance review and template discipline, not Solidity theater.

Fed decision binaries with FOMC statement text in the appendix fit here: dispute rates should be tiny if sources are boring.

Optimistic oracle (assert → challenge → vote)

Crypto-native venues popularized optimistic flows: an asserter posts outcome plus bond; a disputer posts counter plus bond; escalation breaks ties if needed; losers forfeit bonds. Transparency is high; freeze duration is real. This path scales permissionless listing if you also curate tail markets where nobody watches challenges.

Bond sizing should scare manipulation, not paperwork. If four hundred YES shares at twelve cents face a five-hundred-dollar assert bond and no disputer shows up, you bought the nightmare from the risks chapter—raise minimum bonds versus open interest, lengthen windows on illiquid markets, or auto-invalidate junk listings.

Decentralized reporting and enterprise multisig

Older reporting rounds with explicit INVALID and fork tail risk still matter for censorship-resistant listing, but they are a poor default for retail mass market and subjective props. Multisig committees fit internal corporate markets if legal publishes a rubric and emergency pause keys are separated from outcome signers—capture risk if the same five people do both.

Cryptographic feeds: narrow and fast

On-chain prices at timestamps, contract events fired, attested APIs with proofs work when the fact is machine-readable. They do not work for election winners or debate “dominance.” Use native feeds where scope is narrow; do not stretch them because smart contracts feel cleaner than English.

When feeds disagree

Two honest feeds split: wire calls YES, certification pending per your hierarchy. An operations oracle should wait for the certified step you named. An optimistic asserter risks bond on an early call. A bad spec produces bond wars on “called” versus “certified.” Fix that at authoring time, not at vote time.

For CPI-style scalars, the series ID in the assert payload must match the spec; revision clauses mean no second assert after settlement.

Dispute types and prevention

Fight type Root cause Prevention
Wording Vague verbs Resolution Spec
Source hierarchy Two feeds disagree Ordered list
Timing Assert before fact Clock table
Malice Cheap assert Bonds + participation
Capture Low voter turnout Incentivize reviewers

Arbitration is the process that picks which reading of your spec wins—price it into fees and LP yields, not into hope.

Operator habits that actually help

Before go-live, map every outcome token to the assert enum your contracts expect. Pause trading on assert, not on rumor. Publish bond tiers versus open interest so challengers know when participation is economically rational. Tabletop a false assert with zero disputer—the scenario that embarrasses you on Twitter. Test INVALID on cancellation and publish customer comms on freeze duration. Feed post-mortems back into a template library so the same ambiguity does not respawn under a new title.

Platform patterns (decision aid, not idolatry)

US retail USD venues favor operations oracles and fast fiat settlement. Global crypto long-tail favors optimistic bonds with geo policy. Maximum censorship resistance favors reporting plus INVALID literacy. Fast enterprise KPI markets favor multisig with published rubrics. Major platforms mixed off-chain rules with on-chain collateral; regulated cousins pair CLOB with ops determination; legacy reporting protocols traded latency for permissionlessness. Fork the sequence that matches your user, not day-one complexity you cannot staff.

Finality triggers redemption; audit collateral, gas, and partial INVALID on bundles before you scale open interest.

Customer communications during freeze

When assert lands, traders want three numbers: how long until finalize, what bond is posted, and whether trading is paused on all legs. Silence breeds rumor. A status page beats a founder thread. Post-mortem every dispute into template fixes—repeat ambiguity is a process failure, not bad luck.

Insider and timing risk

Assert timing can coincide with last-minute trading spikes. Surveillance should flag wallets that bought YES minutes before a favorable assert on thin markets. Bonds punish false asserts after the fact; surveillance discourages them before the fact. Enterprise internal markets need HR policies on who may assert and trade.

INVALID as a teaching moment

When you output INVALID, explain refunds in plain language and timestamp the spec version used. Traders who lose on INVALID still tell friends whether you were honest. Forced YES/NO to avoid INVALID might save TVL short term and destroy trust long term.

Redemption after finalize

Traders confuse finalize with instant cash. Wallet redemption, gas, and tax reporting still matter. Builder docs should show the path from locked flag to USDC in wallet with realistic timestamps.

Key ideas

Oracle and dispute are one product chosen from spec clarity and audience. Bonds and challenger participation determine whether tail-risk nightmares are affordable. Centralized ops trades transparency fights for speed; optimistic paths need curation on illiquid tails. Design refunds; do not force winners when the world will not cooperate.

What comes next

Rules, mechanism, and truth machinery are designed. Next is the business fork: ship inside someone else’s compliance and contracts, or own the full stack from matching to wallet.

Dry-run one assert and one challenge on staging with real bond sizes before mainnet or public launch. Measure hours frozen and dollars at risk—if you would not sit in that freeze, neither will traders.

Next: Launching on an Existing Platform vs. Building from Scratch