Market Resolution

PredIQt uses a decentralized market resolution system in order to determine the final outcome for markets after their Maturity Date.

On the protocol level, any EOS account can be specified as a Market Resolver. This allows for virtually endless future resolution possibilities for PredIQt markets; DAOs , multi-sigs, and even single accounts can be used to resolve PredIQt markets. This modular design allows for community-created resolution contracts and the use of novel mechanics to resolve markets. It resolution design has its own risks and benefits (ex: decentralized but slower, oracle/centralized but quicker, etc). It is up to users to gauge the risks of participating in any market. The contract used as the resolution method is clearly displayed in the 'Market Details' section of each market.

This is an intentional design that allows PredIQt to avoid the "one size fits all" resolution systems that other prediction markets have. We recognize that different markets have both different risk profiles and different resolution needs. A multi-year market on a presidential election may call for a different oracle type than a single-day market on a sporting event. PredIQt is designed from the ground up to enable this modularity.

In order to limit abuse and confusion in the early days of the protocol, we have limited market resolvers on our user-facing dApp to two oracles, with more to be added over time. Eventually, members of the PredIQt community will be able to integrate any oracle that exists on EOS, or even create their own.

Currently, users who create their own markets on PredIQt can choose between the following resolution types:

$IQ Voting (prediqtiqres)

  • Preferred resolution method

  • Any IQ holder can vote on the market's resolution

  • Markets are resolved once 1% of the circulating IQ supply votes for a specific outcome

  • If that threshold is not reached, then it triggers the PredIQt msig account as a backup method

This system works by allowing $IQ holders to vote on market outcomes. When a market has concluded, $IQ voting opens and users can stake $IQ (for a period of three days) on a particular outcome. In order for a market to be resolved, at least 100M $IQ tokens must be staked on a particular outcome within the three day resolution window. Further, the market can only be resolved if one outcome has at least 100M more $IQ staked to it than the alternative outcome. In other words, a given outcome must have a definitive majority of the $IQ staked on that market it in order to trigger resolution.

Users who stake their $IQ to the winning side of the market will be rewarded with a share in the market resolution fees proportional to their portion of the total staked $IQ. Users who stake their $IQ to the losing side of the market will have 15% of their stake burned, and the rest will be returned to them. This serves as a game theoretic mechanism to incentivize users to stake to the correct outcome. Because the $IQ that is slashed is burned, it benefits all existing $IQ holders. You can read even more about the system here.

PredIQt Multi-Signature Account (prediqtoracl)

  • Legacy resolution method

  • This is a "Multisig" of trusted EOS block producers

  • Markets are resolved once a majority of block producers vote for a specific outcome

The PredIQt multi-sig account was the original resolution method used in PredIQt markets. A multi-signature account is an account that is controlled by multiple parties; it requires a majority of members to agree in order to trigger a transaction. The PredIQt msig is made up of a group of trusted block producers who have public reputations on the line and skin in the game to maintain good standing with the PredIQt community and the EOS community at large. No single member of this group controls the account, and a majority must agree on a resolution in order for that to happen. This group also has the ability (through majority vote) to declare a market invalid.

Arbitrary Account

  • The most flexible resolution method

  • The market creator designates a specific account to serve as the resolver

  • Allows for unlimited modularity in oracle types

Using the latest PredIQt resolution system, market creators can specify any account to serve as the resolver. This account must resolve the market within three days of the market's expiration in order to earn the resolver fees. If this account doesn't resolve the market during this window, any EOS account can resolve the market and earn the resolver fees. In either case, the market resolution triggers the beginning of a 24 hour dispute window during which users can challenge the outcome using the $IQ dispute resolution system described below.

$IQ Dispute Resolution

  • system-wide solution for outcome disputes

  • This system is triggered when a user challenges the outcome of a market

Occasionally, users of the platform will disagree with the outcome of a market as specified by the designed reporter. In this case, users can issue a challenge through PredIQt's native dispute resolution system. Details of this system can be found here.

Invalid Markets

In some rare cases, a market will resolve as "invalid," rather than one of the proposed outcomes. In this unlikely scenario, yes and no shares are simply paid out equally upon the market's conclusion. Each user will get 0.5 $IQ or $EOS (depending on the market's currency) per share split.

Future Resolution Systems

As mentioned above, PredIQt is designed to offer modularity for market types and oracle types. Our team is working on a number of future oracle integrations, including more advanced $IQ voting, LiquidApps DSPs, Provable, on-chain data feeds like Delphi oracle, and much more.

We also encourage the PredIQt community to develop their own oracle systems.

Are you a developer interested in resolving PredIQt markets?

We're working with a limited number of developers who are building oracles & other decentralized data feeds to add their accounts as PredIQt resolvers. Email us at [email protected] to learn how you can earn resolution fees off of your existing EOS data feeds!