All articles
Polymarket·June 8, 2026·5 min read

How to Challenge a Polymarket Resolution Using UMA Dispute Bonds

Step-by-step guide to submitting a dispute against a Polymarket resolution you believe is incorrect — how to post a UMA bond, provide evidence, and participate in DVM voting to recover funds and earn the bond reward.

Polymarket's resolution process is mostly automated, but it is not infallible. Oracles misread sources, ambiguous question language gets applied incorrectly, and occasionally a market resolves in a way that contradicts the stated rules. When that happens, you have a real, on-chain mechanism to fight it — UMA's Optimistic Oracle dispute system. This guide walks through every step, with the exact numbers that matter.

How Polymarket Resolutions Actually Work

Polymarket uses UMA's Optimistic Oracle (OO) to settle markets. After a market's end date, a proposer — often an automated Polymarket system — submits an answer on-chain by posting a bond in USDC (historically 1,500 USDC per market, though this can vary by market configuration). That proposed answer sits in a two-hour challenge window. If nobody disputes it, it becomes final and positions pay out. The optimistic assumption is that the proposer is honest; the dispute bond is the cost of testing that assumption.

If you believe the proposed resolution is wrong, you have those two hours to act. Miss the window and the answer is settled — there is no appeal after finalization.

Reading the On-Chain Proposal Before You Dispute

Before posting anything, pull up the raw proposal on Polygon. Every Polymarket market has an associated UMA OptimisticOracleV2 request. The easiest way to find it:

  1. Go to the market page, scroll to the resolution source section, and copy the condition ID.
  2. Use the UMA OO Explorer or query the contract directly — getRequest(ancillaryData, identifier, timestamp) — to see the exact proposed price (1e18 = YES, 0 = NO) and the proposer's bond amount.
  3. Read the ancillary data carefully. This is the machine-readable question text plus resolution criteria. If the proposed answer contradicts the literal text of the ancillary data, you have grounds to dispute.

Do not rely on the Polymarket UI alone. The UI summarizes; the ancillary data is what UMA voters will actually read.

Posting the Dispute Bond

To dispute, you call disputePrice() on the OptimisticOracleV2 contract on Polygon (contract: 0xeE3Afe347D5C74317041E2618C49534dAf887c24). You need:

  • USDC equal to the proposer's bond — you match it exactly, so if the proposer put up 1,500 USDC, you put up 1,500 USDC.
  • A wallet with enough MATIC for gas (a few cents worth).
  • The request parameters: identifier, timestamp, ancillaryData, requester (Polymarket's CTF adapter address).

Approve the USDC spend first, then call disputePrice. On success, the dispute is recorded on-chain and the market enters UMA's Data Verification Mechanism (DVM) voting round. You can also use Etherscan's "Write Contract" tab if you are not running scripts, but be careful with the ABI encoding of ancillaryData — it must be the exact bytes from the original request, not a re-encoded string.

This is the kind of workflow our automated trading bots handle programmatically — monitoring resolution windows and flagging disputes the moment a bad proposal lands, without manual intervention.

What Happens in the DVM Voting Round

Once a dispute is submitted, UMA token holders vote on the correct answer over a 48-96 hour commit-reveal cycle:

  • Commit phase (48 hours): UMA voters hash their vote and submit the hash on-chain.
  • Reveal phase (48 hours): Voters reveal the preimage. Votes that are not revealed during this window are discarded.
  • The result is determined by a token-weighted majority. There is no quorum requirement per se, but UMA's inflation reward goes only to voters who align with the majority, creating strong incentive to vote correctly.

You do not need UMA tokens to file a dispute, but you can participate in voting if you hold them, and correct voters earn freshly minted UMA as a reward.

Bond Outcomes — Who Gets What

The financial settlement after the vote is binary:

Vote outcome Disputer gets Proposer gets
Dispute upheld (proposal was wrong) Own bond back + proposer's bond Nothing
Dispute rejected (proposal was correct) Nothing Own bond back + disputer's bond

The winner takes both bonds. At 1,500 USDC per side, a successful dispute nets 1,500 USDC profit on top of recovering your own capital — and the market re-resolves in your favor, paying out your position correctly. Factor this into your calculus: if your position size is small relative to the bond, the economics may not work even if you are right on the facts.

Building Your Evidence Package

UMA voters are anonymous token holders with limited time. Your evidence must be concise and independently verifiable. Structure it as:

  • The ancillary data, quoted verbatim — highlight the specific clause the proposer violated.
  • The primary resolution source — a direct link to the official data source listed in the market rules, with a timestamp. Screenshot it, archive it on the Wayback Machine, and provide the archive URL. Voters will not take your word for it.
  • Secondary corroboration — if the primary source is ambiguous, two or three independent sources that reach the same conclusion strengthen your case significantly.
  • A plain-English summary — one or two sentences stating exactly what the correct answer is and why.

Post this in the UMA Discord's #uma-optimistic-oracle channel and in the relevant Polymarket market chat. Voter turnout is not guaranteed; making your case visible increases the probability that informed holders vote on the dispute.

Timing and Risk Considerations

A few practical constraints that bite people:

  • The two-hour dispute window on Polygon can close faster than expected if you are monitoring manually during off-hours. Automate the watch.
  • DVM votes occasionally produce unexpected outcomes — voters are human and can misread ancillary data. If a vote goes against you on a clear-cut case, there is currently no further appeal within UMA's standard flow.
  • Gas is not a risk here — Polygon gas is trivial. The real risk is the 1,500 USDC bond on a market that may resolve against you even if you are factually correct.
  • If a market was settled in a previous round and you missed the window, the position is locked. No dispute is possible post-finalization.

Know your downside before you post the bond.


If you want dispute monitoring and automated bond submission built into your Polymarket strategy, get in touch — we design and operate systems that watch resolution windows around the clock so opportunities and errors do not slip past undetected.

Need a bot like this built?

We design, build and run trading bots on Solana, Hyperliquid and Polymarket.

Start a project
#polymarket#uma#dispute#prediction-markets#defi#trading#on-chain