Explainer August 1, 2026

How Polymarket markets resolve: UMA, proposals, disputes, and the $750 at stake

Polymarket outcomes are decided by UMA's Optimistic Oracle: a $750 bond, a 2-hour challenge window, and — if disputed — a 2–4 day tokenholder vote.

Polymarket does not decide who won a market. Anyone with a $750 stake does. Someone proposes the outcome. If nobody disputes it for two hours, it becomes final. If the proposal is wrong — or just too early — the $750 is lost. And if someone disputes, UMA tokenholders vote on the outcome, which stretches resolution from 2 hours to several days.

That is the whole system in five sentences. The rest of this article walks through each step: who does what, where the money goes, and what happens in the rare case of two proposals and two disputes.

The Polymarket resolution flows on one timeline: undisputed markets finalize in about 2 hours; a dispute triggers a UMA vote of roughly 2–4 days that either ends the market with a final answer or resets it as 'too early' for a new proposal.

The rules are the market

Every market has resolution rules, written before trading starts. They say which source decides the outcome (an official announcement, a specific website), when the market can resolve, and how edge cases are handled. The market title is just a summary — the rules are the contract. Most resolutions that make traders angry did not break the rules; the trader just never read them. So read the rules before you trade, and definitely before you propose.

Sometimes an event takes a turn the rules did not cover. Polymarket can then publish a clarification (an “additional context” note). It is posted on-chain through a bulletin-board contract. Proposers and voters must take it into account, but it cannot change what the question originally meant.

Under the hood, resolution runs through the UmaCtfAdapter contract — v3.0 lives at 0x157Ce2d672854c848c9b79C49a8Cc6cc89176a49 on Polygon. It is the bridge between the CTF contract, which holds every outcome token, and UMA's Optimistic Oracle, where proposals and disputes actually happen. Proposals call proposePrice on UMA's OptimisticOracleV2; clarifications are published through the bulletin-board contract referenced in each market's ancillary data.

The happy path: proposed → unchallenged → final, in ~2 hours

When the outcome of an event becomes clear, anyone can propose the resolution. Not Polymarket. Not a committee. Anyone:

  1. Pick the winning outcome.
  2. Post the stake. On a standard market this is $750 in total: a $500 bond set per market, plus UMA’s flat $250 fee. Smaller markets use a $250 bond ($500 total). The 2028 presidential markets use bonds of $25,000–$50,000.
  3. Submit the proposal to the UMA oracle.

A 2-hour challenge period starts. If nobody disputes, the market resolves. The proposer gets the stake back plus a small reward — from $0.80 to $5, about $2 on average (a few big markets pay up to $20). We checked this on-chain instead of trusting the docs: out of ~179,700 settlements in six months, 162,197 paid out exactly $752 — the $750 stake plus a $2 reward, the most common configuration.

This is why it is called an optimistic oracle. The system assumes the proposal is honest and only runs its expensive checks when someone objects. Almost every market resolves this way: quietly, about two hours after someone proposed.

The money: what $750 buys, and how it vanishes

The stake is not a fee. It is a bet, and it is all-or-nothing:

You…OutcomeYou receiveYour profit
Propose correctly, undisputedMarket resolves$750 stake back + reward (avg ~$2)+$0.80 to +$5
Propose correctly, survive a disputeVote upholds youStake back + half the disputer’s bond = $1,000+$250
Propose incorrectlyVote rejects you$0−$750
Propose correctly but too early”Too early” verdict$0−$750
Dispute and winProposal rejectedStake back + half the proposer’s bond = $1,000+$250
Dispute and loseProposal upheld$0−$750

These payouts are visible on-chain. In six months of settlements, disputed markets paid the winner exactly $1,000 — 477 times. That is the winner’s $750 stake back, plus $250: half of the loser’s $500 bond. The rest of the loser’s money goes to UMA.

Two rows of that table surprise people. First, “too early” loses the whole stake. Propose the right answer before the market’s rules say the event is over, and you lose $750 — the same as being wrong. Second, winning a dispute earns you $250 for risking $750. Disputing only pays if you are right, not if you are just annoying.

Proposing is not paperwork — it is a bet. You stake $750 on your answer being right, and on the timing being right too.

What a dispute triggers: the DVM vote

Every dispute goes to a vote. Anyone can dispute during the challenge window — the dispute link is in the market page’s Rules section — by posting a counter-stake equal to the proposer’s. That escalates the question to UMA’s Data Verification Mechanism (DVM), the human layer at the bottom of the system:

  1. Debate (24–48 hours). People submit and argue evidence, much of it in UMA’s Discord channels (#evidence-rationale, #voting-discussion). Votes happen every other day, so there is always at least a full day for discussion. Yes, really: markets with millions in open interest get debated partly in chat.
  2. Vote (~48 hours). UMA tokenholders vote using a commit–reveal scheme. From dispute to verdict, the whole process takes roughly 2–4 days.

The vote returns one of the market’s allowed answers, and the answer decides everything:

  • YES, NO, or 50-50 — final. The market resolves to that answer, and the loser of the dispute forfeits their stake. (In the rare 50-50 case, every share on both sides redeems for $0.50.)
  • “Too early” — the event is not resolvable yet: think of someone proposing the result of a match that is still being played. The proposer loses their stake, and the market resets: back to waiting for a proposal, with a fresh 2-hour challenge window when one arrives. If that new proposal gets disputed too, there is another vote.

That reset loop is how a market ends up disputed twice — which has happened only 554 times in Polymarket’s history. And the matching $750 counter-stake is the spam defense: disputing a correct proposal just hands your bond to the proposer.

Polymarket’s entire history, measured on-chain

The docs describe the rules. The chain shows how they play out. We measured the full record of oracle events behind 1,481,159 markets — all of Polymarket’s history:

  • 99.78% of markets resolve with no dispute at all. Of 1,479,722 resolved markets, 1,477,851 took the happy path: proposed, unchallenged, final in about 2 hours.
  • Repeat disputes are rarer still. 2,754 markets (0.19%) were disputed once. Only 554 — 0.037%, about 1 in 2,700 — were disputed twice or more, usually after a “too early” verdict reset the market and the next proposal was challenged too.
  • “Too early” is the most common dispute outcome — by a wide margin. Of the 3,846 disputes in Polymarket’s history with a final verdict, 2,072 (54%) resolved “too early” — more than the disputes that resolved YES (963) and NO (743) combined. The most common way to lose a stake is not being wrong. It is being right too soon.
  • The 50/50 outcome is real: 68 disputes ended with it. In those markets, every share on both sides redeemed at $0.50.

Outcomes of the 3,846 decided disputes in Polymarket's history: 54% resolved 'too early', 25% YES, 19% NO, and 2% resolved 50/50.

And who does the proposing? It is a job for bots. The top six proposer addresses filed 623,154 proposals — roughly 4 in 10 of every proposal in Polymarket’s history — with success rates that only automation can sustain:

ProposerProposals (all-time)Success rateTimes disputed
0x176a56a1…177,21499.92%149
0xd9aa1a62…142,95499.90%69
0x53692dbf…141,50199.84%147
0x8d04011b…66,22899.98%21
0x9c1f9b97…52,98299.75%144
0xc816f934…42,27599.78%45

Two of the six are also active disputers — and not only against others. 0x9c1f9b97… has disputed rival proposals 60 times and its own proposals 86 times. Why would a bot dispute itself? Most likely damage control: if your proposal is about to lose, disputing it yourself is cheaper than letting someone else do it — winning the dispute claws back $250 of the $750 you are already losing. Anyone can propose, but in practice you are racing bots for every reward — bots precise enough to hedge their own mistakes.

The disputer side has professionals too — and the economics draw a hard skill bar. A win pays +$250; a loss costs −$750. That means disputing only makes money above a 75% win rate. Look at where the top disputers sit against that line:

DisputerDisputesWonLostWin rate
0xe0d478a2…7368593%
0x0db5aea9…2942544086%
0xb7ad15ad…107911685%
0x9c1f9b97…1461113576%
0xba2cb316…57223539%
0xdcfe1241…1744812628%

The best disputer, 0x0db5aea9…, won 254 of 294 — at standard stakes, roughly +$33K of other people’s bonds. 0x9c1f9b97… (the same bot from the proposer table) sits at 76%, almost exactly breakeven. And 0xdcfe1241… disputed 174 times with a 28% win rate — roughly $80K forfeited. The dispute market is honest: being right pays, and being trigger-happy is one of the most expensive hobbies on Polymarket.

After resolution: $1, $0 — or $0.50

Resolution is permanent. Polymarket is non-custodial and cannot alter or reverse a result — once UMA finalizes, the outcome is immutable. Trading stops. Winning tokens redeem for $1.00 each. Losing tokens are worth $0.00. In the rare 50/50 case, every token redeems for $0.50.

Redemption goes through the CTF collateral adapter: it burns the winning ERC-1155 outcome tokens in the CTF contract, receives the released USDC.e collateral, wraps it into pUSD, and returns pUSD to the wallet — 100 winning tokens become $100 pUSD. In the live feed, this is the redeem events you see cluster in the hours after a market finalizes.

Why traders should care: disputes are trading windows

A dispute does not stop trading. The order book stays open. But the price stops tracking the event and starts tracking the resolution process itself: how likely the proposal is to stand, and how voters will read the rules. A challenge window packs a market’s best-informed trading into a few hours. The traders who understand the resolution rules get paid by the traders who don’t.

You can watch that flow live. The Polyflux stream delivers every trade from the mempool, ~3 seconds before it confirms on-chain — so you see a disputed market react to evidence as it happens.

The resolution events themselves are in the feed too. The same WebSocket that carries trades also carries propose, dispute, and settle events. Your code can know a proposal landed the moment it happens — roughly two hours before the market resolves — and a dispute alert is one if statement:

# pip install polyflux-client
import asyncio, os
from polyflux import Client

async def main():
    client = Client(os.environ["POLYFLUX_API_KEY"])
    async for r in client.resolutions():   # propose / dispute / settle
        if r.is_dispute:
            print(f"DISPUTE: {r.title!r} — disputer {r.disputer}")

asyncio.run(main())

Each event arrives as a typed Resolution with the market title, the proposer or disputer address, the outcome, and the payout — see the client guide for the full model. And after the dust settles, Trades Inspector lets you select the challenge window on the price chart and see exactly who traded it, ranked by volume and P&L. Grab a key, pick a contested market, and watch what happens when money disagrees.

Frequently asked questions

How are Polymarket markets resolved?
Through UMA's Optimistic Oracle. When the outcome is known, anyone can propose it by posting a stake (typically $750). The proposal enters a 2-hour challenge period. If nobody disputes it, the market resolves: winning shares redeem for $1 each, losing shares go to zero.
How much does it cost to propose a Polymarket resolution?
On a standard market the total stake is typically $750 — a $500 per-market bond plus UMA's $250 final fee. High-profile markets set much larger bonds (up to $50,000 on 2028 presidential markets). If your proposal stands, you get the stake back plus a small reward — from $0.80 to $5, about $2 on average. If it is wrong — or just too early — you lose the entire stake.
What happens when a Polymarket resolution is disputed?
Every dispute escalates to UMA's Data Verification Mechanism (DVM): an evidence and debate window, then a commit-reveal vote by UMA tokenholders over roughly 2–4 days. A YES, NO, or 50-50 verdict is final and decides who loses their bond. A 'too early' verdict means the event is not resolvable yet — the market resets and can be proposed again.
What happens if a Polymarket market is disputed twice?
A market gets disputed twice when the first dispute ends in a 'too early' verdict: the market resets, someone proposes again, and that proposal is disputed too. Each dispute gets its own DVM vote. This is rare — only 554 markets in Polymarket's entire history (about 1 in 2,700) have been disputed two or more times.
How long does a disputed Polymarket market take to resolve?
An undisputed market resolves about 2 hours after a proposal. A disputed one goes to a UMA vote — evidence, debate, then a commit-reveal vote — which takes roughly 2–4 days. If the verdict is 'too early', the market resets and the clock starts over when someone proposes again.
Can a Polymarket market resolve 50/50?
Yes, but rarely. If UMA voters decide neither outcome applies, the market resolves 50/50 and every share — YES and NO alike — redeems for $0.50. Across Polymarket's entire history, 68 disputes have ended with the 50/50 verdict.
Can I get Polymarket resolution events in real time?
Yes. The Polyflux WebSocket streams the full resolution lifecycle — propose, dispute, and settle events — over the same connection as trades. The Python client exposes them as typed Resolution objects via client.resolutions(), with the market title, proposer or disputer address, and final outcome.
← All articles