Polymarket + UMA


Polymarket supports UMA as a resolution source for markets displayed on the Polymarket.com interface. Polymarket, at its core, is oracle agonistic, but the UMA integration provides another option for market creators.
The Polymarket-UMA adapter is deployed on the Polygon network at the following address:
And the code is open source and available in the following repository:

What is UMA?

UMA is an Oracle system that uses economic guarantees to secure markets. Unlike mechanically restrictive price feed oracles, an optimistic oracle is able to serve any arbitrary data on-chain. UMA’s flexible oracle serves data for uses including a cross-chain bridge, insurance, and custom derivatives.
For markets secured by UMA’s Optimistic Oracle(referred to as the OO), UMA token holders are an impartial arbiter of the outcomes of relevant markets. These markets can proceed with an entirely decentralized and trustless resolution mechanism.

How does the Polymarket UMA integration Work?

Underlying each market displayed on the Polymarket.com interface is a condition, prepared using the Gnosis conditional token framework (CTF). Per Gnosis’s documentation, “a condition is a question to be answered in the future by a specific oracle in a particular manner.”
For a market to be resolved by the OO, there must be a smart contract that acts a bridge between the OO and the market. That contract is the UMA CTF Adapter.
When a market is first created, the Adapter automatically sends a Request for that market to the OO.
Actors in the UMA system called proposers can then proposean answer to the Request. All proposers need to submit a bond to be considered. If this answer is not disputed, it is considered to be correct and will be available to the Adapter after a challenge period of 2 hours.
If the answer proposed is incorrect, or if there is disagreement on what the answer should be, other actors in the UMA system called disputers can dispute this answer.
The first time a Request is disputed, the Adapter ignores the dispute and creates a new Request with the same parameters. This ensures that malicious or mistaken disputes do not slow down market resolution.
If the Request is disputed again, this indicates a more fundamental disagreement among proposers and the Request will be sent to UMA's DVM where it will be voted on by UMA token holders.
The Adapter is open source, mostly permissionless code. That said, there exists some admin functionality in case of catastrophic or emergency situations:
  1. 1.
    The admin can reset the market, creating a new UMA Request and ignoring all previous or outstanding Requests.
  2. 2.
    The admin can pause(and unpause) resolution for a market.
  3. 3.
    The admin can flag a market to be emergency resolved. After a defined delay of 2 days, the admin can emergencyResolve the market