Omen - A truly decentralised prediction market platform
Omen is a fully decentralized prediction market platform built on top of the gnosis conditional token framework. Liquidity is enabled through a fixed product market maker which is similar to the one used by Uniswap markets. This means liquidity will always be available for users to trade as quickly as an ethereum transaction. In contrast to Uniswap the fees will likely be higher and collected separately rather than being re-invested into the market liquidity, and also, the market maker mechanism will be extended to support an arbitrary number of outcome tokens trading on one market.
How does Omen work?
Creating a Market
Omen makes creating markets as simple as possible. The Process is divided by configuring and funding the creation of a prediction market.
The User starts with the market question and the corresponding outcomes. The probability of an outcome is set equally by default but can always be changed via “set manual probability”. To finish the configuration a resolution date, a category and the arbitrator needs to be set.
Funding a Market
The second and final step of creating a market is to fund it. The funding process has a summary of the market configuration and below a form for funding the market. After picking the currency and the funding amount the user can proceed with creating and funding the market.
The Market Overview provides a list of markets with the title, the current winning outcome in percentage, the total Dai volume and the date when the market closes. A user can pick between the market category(default: All) which gets filtered by open, closed and my markets (default: Open). Additionally, the user can search for a specific market, use advanced filters (filter by currency, market type, arbitrator) and sort the market list by Volume/Ending soon.
The Market Overview page starts with the Market question. The main widget below shows all important information about the specific market in a compact form. In the top section of the widget we show important market metadata like market type, category, resolution date, arbitrator and the 24h volume. Below we find a tableview with all the outcomes with the current probability and price. A user can interact with the market by either buying/selling(only active if user has shares) or pooling liquidity.
Buying Outcome Tokens
Buying outcomes requires two actions. First the user needs to set the allowance for the token which the market is using. Once the allowance is given, the user can proceed with buying an outcome by picking one in the list and defining how much he wants to spend.
Sell Outcome Tokens
The sell widget already picks the outcome a user has shares of and the only action required is to set the amount a user wants to sell. The UI show a compact receipt which summarizes the users actions.
Deposit Pool Liquidity
Two actions are required to add liquidity to an omen market. After giving allowance, the user can proceed with defining how much liquidity he/she wants to provide. Providing liquidity means buying all outcome tokens in an equal proportion based on the token price/weight as pool tokens, which can be risky as the liquidity provider needs to make sure to remove the liquidity before most of the outcomes are going to loose most of its value.
Deposit Pool Liquidity
Withdraw Pool Liquidity
Users can withdraw liquidity by setting the amount of pool tokens which should be redeemed for collateral. The receipt shows the earnings, the previous deposited amount of collateral and the total amount the user is going to receive.
Realit.io - A crowd-sourced on-chain smart contract oracle system
Omen is using a crowd-sourced on-chain smart contract oracle system to set the correct outcome of a market. As soon as someone creates an omen market the same question and answers gets created with an opening date equal to the closing date of the Omen market. Once a question on realit.io is open, users can provide a bond in Ether and set the correct outcome. Final unchallenged answers are accepted as correct, but arbitration can be requested to dispute an accepted answer.
If a malicious users puts up a bond for an incorrect outcome someone can correct the wrong answer by putting up a bond which is at least twice as high as the bond from the malicious user. Correcting an answer will entitle the user to the bond of the malicious user. Anyone can raise a dispute (by paying a dispute fee) to call the arbitrator set by the market creator. Once the arbitration fee is paid, the question is locked and the arbitrator sends the answer to the smart contract, releasing the bond and reward to the correct answer.
The role of the Dxdao
Maintenance and Development
Omen will have its own bounties page which will be managed by the Dxdao. Bounties will not only be used to reward external contributors but also specifically liquidity providers with reputation. With that, we can foster our own developer community, make omen a community driven project as we invite Omen users into the core collective and improve the reputation distribution substantially. Additionally Omen users can request features by optionally putting up bounties.
The website will be hosted via IPFS in connection with the ENS domain omen.eth. Every time a team is proposing a new version the Dxdao needs to make sure that the source code is open source, has been verified and fits to the IPFS hash which was proposed.
The Dxdao will collect an arbitration fee (which can always be changed via proposal) for being an arbitrator on realit.io. If someone raises a dispute through realit.io, the Dxdao needs to decide via proposal voting whether the outcome for a prediction is the correct outcome. If the disputed outcome is not correct, any Dxdao member can create a new proposal to set the correct outcome on realit.io to finalize the dispute resolution.
Anyone providing liquidity to an omen market can earn a return through the collection of the 4% trading fee. Future versions of the Omen contracts could add an additional fee for trading which would go directly to the Dxdao.
State of development
A complete redesign of Omen is in active development by Protofire and funded by GECO . The redesign was done by Dxdao member corkus to make Omen a product with a modern, polished UI. The development should be done by late-april 2020.
- Signal proposal to take over development and maintenance of Omen contracts and Omen.eth.
- Proposal to transfer Omen.eth ownership