Intro

On current real-money event market platforms, traders are limited to viewing and betting on markets made by platform operators. This means the questions tend to be confined to popular subjects like politics and sporting outcomes, and the sites can't be used for financing estimates on practical or limited-interest questions, like alignment expectations or CEO performance.

OpenPredict is a toolkit for managing prediction markets which regular people can use for this purpose. We're calling it a "toolkit" instead of a "website" because OpenPredict's developers do not act as either arbitrators or market makers; instead, traders set criteria and manage resolution themselves. Likewise, all of OpenPredict's components, including its web client, are entirely open-source and store important metadata about markets on Solana and IPFS. This means that while you are free to use the public instance at openpredict.org it is an unprivileged, replaceable frontend that you may (and are in fact encouraged to) forgo in favor of a self-hosted client.

The OpenPredict network uses cryptocurrency to settle accounts, but even if you don't have a crypto wallet, creating a new prediction market on OpenPredict takes less than five minutes. As a tutorial, I'll be making a market about the outcome of this $150,000 bet between EliezerYudkowsky and the UFO guy. You can view and trade outcomes on the resulting market here.

Market Creation

Step One: Sign up

On OpenPredict, your identity is synonymous with your cryptocurrency wallet. If you have one, you can login with that. If you don't have one, all you need is an email address and the site will provision one for you. Simply enter it into the signup box in the top right and follow the shown instructions:

After typing in my email
After following the link and entering the code

Once you've done this, you'll see two wallet addresses generated automatically on the right. The one marked "SOL" is your user ID and what will initially be displayed when you comment, make markets, or trade. When you fill your wallet with some money, you'll be able to register a username that will be shown instead of the wallet address.

Step Two: Fill your Solana Wallet

You need one of two things to trade on OpenPredict: SOL or USDC. SOL is the network currency of Solana and is what's used to pay transaction fees - generally under a tenth of a cent per transaction. USDC is a "stablecoin", which means it's a cryptocurrency that stays 1:1 with the U.S. dollar, and is what you actually use to trade. When your wallet has enough of one but not the other, OpenPredict will automatically convert between the two at the best available price. 

The site will prompt you to buy SOL with normal credit or debit card on changenow.io here. Simply copy your wallet address and put it in the box; Solana transactions confirm in a couple seconds:

After you have your SOL, you may prefer to convert the majority of it to USDC, to prevent yourself from being subject to its price movements. There's a button in that same sidebar you got your address from which you can use to do this; just make sure to keep a small amount of SOL in your account so that you can make trades. 50 cents (0.1 SOL at the time of writing) should suffice indefinitely.

Step Three: Make and describe your market

Click the "Create Market" button and follow the instructions. Be as unambiguous about resolution criteria as you can; you will not be able to edit either the title or description after you post the market! In my market description and title I defer to the two parties involved in the bet:

Besides resolution criteria, before you create a market, you'll have to decide on a subsidy. The subsidy is basically the amount of money you're artificially providing as an incentive for good predictions. Unlike some other platforms, OpenPredict doesn't tax market participants to subsidize the markets they trade on; whatever subsidy you select during creation is all that the market will ever have. This may change in the future; I gave my market $5.

That's it! Now other people on the platform will be able to buy or sell until you decide to resolve.

Notes & Future Plans

OpenPredict is very much in the MVP stage. There will be bugs. Some pretty critical features we are working on now:

  • User trading history
  • Proxy wallets, so that users can use exclusively USDC and don't have to worry about transaction fees.
  • Adding subsidies to existing markets.
  • A way for anonymous market creators to use bonds and judges to give their markets credibility.
  • A way for market participants to rate market creators after resolutions, so they can gain credibility over time.

We are releasing the site early anyways so that people can use it and give us tips on what to prioritize; hopefully all of these bullets will be added relatively quickly. You can follow updates and receive technical support on the site on our discord here.

Any web3 project that involves custom fund-handling contract code must take note of security: we have taken a lot of measures to be safe, but web3 products have a history of horrific breaches. For this reason (and others, like the fact that you have to trust market creators for resolution) we're limiting subsidies on markets to $50 and buy orders to $10 on the frontend. In the future, after a few more months of testing and perhaps a security audit, we may raise this limit for markets with external resolvers or whose creators have posted bonds. 

Anyways, we hope you find the site useful! We're very excited to see if people try it out. Any critiques or suggestions in the comment section below will be very very appreciated.

New Comment
13 comments, sorted by Click to highlight new comments since: Today at 8:06 AM

What makes it different from all the other crypto prediction markets that allow anyone to create markets?

My current understanding is that there aren't any. We have looked into all the ones that claim to do this and they are either currently offline, or never released, or require paying ETH's gas prices, or don't provide a public interface for trading, etc. etc.

I mean yes, most of them are on ethereum and therefore require paying gas.

Sl the difference is this one doesn't require paying gas? Are there no transaction fees on Solana?

Which ones in particular were you referring to? I meant Ethereum mainnet specifically because the transaction fees are 100,000x what you pay on Solana.

Well there's a bunch built in top of gnosis, such as https://azuro.org/ and https://omen.eth

Then there's Augur.

Of course a bunch of markets got trashed from polymarket's regulatory capture, but there still seems to be many.

Omen.eth appears to me to be offline; the other ones linked under azuro.org seem to be exclusively for sports betting and don't allow you to create markets. Augur also apears to have been abandoned & turned off as well, for some time; at the very least I and certain other users are getting the "Augur is not supported in your region" notification no matter which IP address we attempt to use, and the subreddit talks about it being dead, etc.

Augur was a total failboat. Almost all of these projects couple the market protocol to the resolution protocol, which is stupid, especially if you are Augur and your ideas about making resolution protocols are really dumb.

Omen decouples but has prohibitive gas problems and sees no usage as a result.

Your understanding is correct. I built one which is currently offline, I'll be in touch soon.

I love it! Next up, supporting wallet connect :) 

This tutorial is now obsolete; no need to hold SOL or juggle between SOL and SOL-usdc to use the exchange anymore. Any transaction fees are just paid for by the node operator.

I don't see a place for listing book orders, so does this use an automated Market Maker? What's the algorithm? (e.g. Hanson's LMSR?)  Where can we find the code?

There are no book orders; OpenPredict uses an automated market maker, and you can view the solana contract code inside the git repo here. We use constant function market makers, like manifold and uniswap. Curious to know if there's any benefit in selecting one vs the other, though.