Markets
Smart Contracts Evaluating The Outcome Of The Market On-Chain
As described in System Description, Markets are independent smart contracts, deployed by Market Factory with parameters provided, that are able to evaluate the outcome of the market entirely on-chain. As markets are described by their own parameters with no need for natural-language storage, there is no opportunity to deploy misleading markets (as was an issue for Augur V1) as well as being more efficient to store on-chain. There are 5 primitives used to define a market, they are:
Metric - This is a value with associated data source, for example "Lending protocol TVL in USD".
Value - This is a numerical value provided by the market deployer.
Condition - This is a simple boolean operator such as 'equal to', 'less
than'.
Expiry - This is the time at which the market closes expressed as block- time (unix time / seconds since epoch).
Outcomes - These are the possible outcomes, they may be either numerical or natural language, but on-chain they are numerical to allow evaluation by the contract.
All markets have at least 1 metric, at least 1 condition, 1 expiry, at least 2 outcomes, and at least one value.
After market expiry (blocktime ≥ expiry) any user may collect winnings, the first user to attempt to collect winnings will trigger evaluation of the market, and an outcome flag will be set. There is a short waiting period (around 15 minutes) to allow any possible disputes to be raised by the oracle (Tellor). If no disputes are recorded the market is considered settled and winners can collect the pro-rata share of the total stake based on the number of outcome tokens they hold.
Last updated