Parimutuel is a system where bets for all possible outcomes of an event are put into a single pool, and the winning outcome bettors split the entire pool pro-rata sans fees. Most forms of prediction market can be implemented using the Parimutuel protocol.
Parimutuel is a system where all bets for different outcomes of an event put into a single pool, and the winning bettors split the pool pro-rata after deducting the fees paid to the "house" (operator).
Common games include sports betting, politics, horse racing, and most forms of prediction markets can be implemented using Parimutuel.
I've created the on-chain smart contract to enable parimutuel game plays, with the following configurations
Users can interact with only one method
enter
allows a user to specify which pool and which outcome (called bucket) and at what amount to enterenter
methodOperator functions include
MATIC has a few crucial features that enable Parimutuel on-chain:
the asset bridge I simply used the MATIC tutorial which provided an asset bridge using PoS: https://github.com/maticnetwork/pos-plasma-tutorial
launched the Parimutuel Solidity smart contract on MATIC
I used a standard ERC20 token implementation from the APIS project for easy approve()
access, but should be able to use the transferred asset from the MATIC bridge, too
the Parimutuel smart contract is truly versatile and configurable for a lot of different types of prediction markets. It is way simpler compared to other prediction market implementations such as Augur or Polymarket, using only one single smart contract (only 161 lines of code with the standard contract and interfaces removed). The simplicity allows any operator to launch it with confidence without relying on an engineering team
I hope to implement some of the interesting Parimutuel games such as Moon-Rekt, sports betting in general, and integrate real data feed and configuration and UI for the next steps.
Parimutuel: 0xc4faB13CC051C334607d8DB61c58a017aDb13e30
Dummy token: 0x94082fe34E939EDd3FDE466Ea4a58cD5bFCF3048
The source codes are in this repo. If you need test tokens or approval for your testnet address, please feel free to PM me on twitter, or feel free to relaunch with your own tweaks on Mumbai testnet! (Here's the instruction on how to launch the smart contracts using Remix: https://docs.matic.network/docs/develop/remix)