Optimistic Oracle

Unfamiliar with the concept of an oracle? Check out the Ethereum Foundation's oracle overview first.

Sumero uses UMA's optimistic oracle and dispute arbitration system (DVM) to securely allow for arbitrary types of data to be brought on-chain. Sumero's EMPs expire at pre-determined times. At expiry, each EMP must receive the price of the underlying asset that has expired at the requested timestamp. Sumero's EMPs use UMA’s Optimistic Oracle (OO) to deterministically get this price. More information on UMA's Optimistic Oracle can be found via the following links:

1. UMA's Optimistic Oracle

2. Optimistic Oracle Docs

Sumero EMPs cannot accept negative values.

EMP Expiry

  1. After EMP expiry, anyone can call the expiry() function to trigger a request to the Optimistic Oracle (OO). They can then view it on UMA's OO user interface here.

  2. UMA token holders would then propose a value (i.e. a price) in return for an economic incentive (this is the ooReward value when creating an EMP)

  3. If there is no dispute, then the proposed price is resolved, and EMPs get a settlement price. Synthetic token holders and Synthetic token sponsors can then get back their collateral currency depending on the number of synthetic tokens they hold and the price at expiry.

  4. If there is a dispute, a request will be made to UMA's Optimistic Oracle for a price. In a rare case, where the request for this price to the Optimistic Oracle is disputed, it will then go to the UMA's DVM where UMA token holders will vote on whether the dispute is valid or not.

    • If the dispute is valid, the price is resolved within 48-96 hours. To learn more about this process, please see this page.

    • If the dispute is invalid, the original price will remain as the EMP settlement price.

UMA's Optimistic Oracle

  • For more information on UMA's optimistic oracle parameters, please see this section of the UMA docs which explains the parameters in depth.

  • For more information on how UMA's optimistic oracle works under the hood, please see this section of the UMA docs which outlines the inner workings of the oracle.

Last updated