How Polymarket Works: USDC, UMA & On-Chain Resolution
Polymarket is built on Polygon. Trades clear on-chain in USDC; outcomes are resolved by UMA's optimistic oracle.
Polymarket is a non-custodial prediction market built on Polygon (a Layer 2 connected to Ethereum). Every market is a smart contract that holds USDC and issues two tokens — one for each outcome. You buy and sell those tokens; the winning side redeems for $1 of USDC each, the losing side goes to zero.
Order matching
Polymarket uses a central limit order book (CLOB) for matching, but settlement happens on-chain. When you place a limit order it sits in an off-chain order book operated by Polymarket. When it matches, both sides sign an order and the trade settles on Polygon in a single transaction.
This hybrid design gives Polymarket the speed of a centralized exchange and the custody guarantees of DeFi — your USDC never leaves your wallet without your signature.
How outcomes get resolved
When a market closes, UMA's optimistic oracle decides the outcome. Anyone can propose a result; if no one disputes within the challenge window, that result is finalized and the smart contract pays out winners. If there's a dispute, UMA token holders vote.
This is usually fast and cheap, but it can fail in edge cases — ambiguous market wording, late-breaking news, or coordinated dispute attacks. Polymarket has had public controversies about resolution decisions; the on-chain history is permanent.
Common failure modes
When Polymarket goes down, it's usually one of: the front-end API (you can't see markets), Polygon RPC providers (you can see markets but transactions hang), the order matching engine (orders fill slowly), or wallet connectivity (your wallet can't sign). The status page above tracks each component.