PlotX v1, a decentralized non-custodial prediction market protocol was launched on the Ethereum Network on the 13th of Oct 2020.
Dubbed as the Uniswap of Prediction Markets, PlotX v1 used an Automated Market Making algorithm to create and settle crypto-focused prediction markets in the intervals of 1 hour, 1 day, and 1 week. Markets were focused on crypto-pairs like BTC/USDT, ETH/USDT etc, and were created and settled cyclically without any counterparty risk on Ethereum.
The PlotX v1 saw an influx of users with a growing TVL of up to $220K in about 2 months of its launch in Oct 2020. However, user experience was marred due to increasing gas costs on the Ethereum network, which led to the user’s economic unviability of doing microtransactions of the sizes of $50-150 per prediction.
After months of research and development efforts, PlotX v2 is now being launched on Polygon, an Ethereum L2 solution for scalability. Brief highlights of the new features in v2 are as follows:
Gasless transactions that abstract gas fee payments
PlotX v2 offers meta-transactions - this means that once a user’s Web3 wallet is connected to PlotX, the user doesn’t need to separately pay gas-fee for any transaction. This is a massive UX improvement that takes PlotX a step closer to mass adoption.
No RPC changes on Metamask
Thanks to the integration of Magic Link Web3 wallet, the user doesn’t need to keep flipping between Ethereum & Polygon network for day to day usage of the protocol.
After tonnes of feedback from the v1 users, a new UX has been designed to further improve the usability of the protocol. The UX focuses on simplifying the DeFi experience for a commoner to bring it as close as possible to a mainstream application experience.
The new UX is also blazing fast in comparison to v1.
Smooth bridging of assets between L1 & L2
One of the biggest challenges when moving to an L2 solution like Polygon is the bridging of tokens from L1 to L2 (and the other way around).
PlotX v2 has in-built capabilities for smooth token bridging to-and-fro from L1 and L2.
Mandatory Liquidity in all markets via Market Creators
Another big problem of v1 was around bootstrapping of liquidity in each market. This has been solved by mandating liquidity via market creators in v2 - this means that markets on v2 will always have bootstrapped liquidity.
The incentives for the market creators have been accordingly adjusted and shall continue to evolve as we test the v2 in real-life scenarios.
Ish Goel, Founding Member of PlotX entered the Ethereum ecosystem back in 2016. Along with Nitika, Ish won the London Blockchain Week Hackathon in 2017 and joined Nexus Mutual as the CTO.
Nitika Goel, Founding Member of PlotX entered the Ethereum ecosystem in 2016 and has served as the Lead Developer of Nexus Mutual. She also co-founded GovBlocks, an on-chain governance toolkit. She was also the author of the ERC1132 lockable token standard on Ethereum.
Kartic Rakhra, Founding Member of PlotX entered the Ethereum ecosystem in 2017 and co-founded GovBlocks along with Ish & Nitika. He also set up India's largest blockchain community via the India Blockchain Week in partnership with Fintech Worldwide.
PlotX v2 has added Magic Link’s Web3 wallet to the list of wallets you can use to connect to the app.
This allows users to create & connect a Web3 wallet using their email addresses, while still being non-custodial in every way. The benefits of using Magic Link wallets will come in the form of improved user experience as the wallet’s UI is baked right into the PlotX UI and is always connected to the Polygon network (no constant RPC changes).
Apart from Magic Link wallets, one can also use other Web3 wallets to connect to PlotX v2. Options include MetaMask, Portis, and WalletConnect.
Step-by-step guide here.
On PlotX, users can predict the value of each digital asset on three different time frames (Market Cycles) - 1 Hour, 1 Day, & 1 Week.
PlotX AMM creates markets in every time frame cyclically. This means that whenever a market of any time frame ends, another market of the same time frame becomes available to be created.
If an ETH hourly market started at 12 PM, then it will stay live till 1 PM. This is the time when users can make predictions in it
At 1 PM, the market will stop accepting predictions and slide into the 'In Settlement' stage. This is the time when the market is no longer accepting predictions but is waiting to for the results to arrive
At 2 PM, the protocol will note down the price of ETH-USD and decide the winning option
From 2 PM - 2:15 PM, the market will wait to see if anyone has any issues with the result decided at 2 PM. If anyone does have an issue, they can raise a dispute (more details on disputes later)
At 2:15 PM, the market will distribute the rewards to the winners
Observations from the above example:
Live stage - when users can make predictions in the market
Hourly markets remain live for one hour
Daily markets remain live for one day
Weekly markets remain live for one week
rIn Settlement stage - when the markets isn't accpeting predictions and is waiting for the results
Hourly markets stay in the 'In Settlement' stage for one hour
Daily markets remain in the 'In Settlement' stage for one day
Weekly markets remain in the 'In Settlement' stage for one week
Markets ask the price of digital assets after two iterations of the time-frame, this means that:
Hourly markets will ask the price of a digital asset two hours from the market start time
Daily markets will ask the price of a digital asset two days from the market start time
Weekly markets will ask the price of a digital asset two weeks from the market start time
Users can raise a dispute for 1/4th the duration of the market time-frame after the results are decided
The very first stage for a market after creation is the ‘Live’ stage. This is where you make predictions in the market
Duration: 1 Market Cycle (1 hour for Hourly, 1 day for Daily, and 1 week for Weekly markets)
After the timer in the ‘Live’ stage runs out, the market enters the ‘In Settlement’ stage
This is when the market stops accepting predictions and is waiting for the results to come in
Duration: 1 Market Cycle after the Live stage (1 hour for Hourly, 1 day for Daily, and 1 week for Weekly markets)
After the timer in the ‘In Settlement’ stage runs out, the market enters the ‘In Cooling’ stage
This is when the results have arrived and the winners are decided, but to ensure that everyone is on the same page and there’s no disagreement on the results, the market enters this stage for 1/4th the duration of the Market Cycle
Duration: 1/4th the Market Cycle you’re currently in (15 minutes for Hourly, 6 hours for Daily, and 1 day 18 hours for Weekly)
During this time, anyone who disagrees with the results can raise a dispute and that’ll push the market into the ‘In Dispute’ stage
If someone raises a dispute during the ‘In Cooling’ stage, the market enters the ‘In Dispute’ stage
When the market is in this stage, the Dispute Resolution Governance Mechanism kicks in; the Dispute is reviewed and after following the due procedure of reviewing and voting, the dispute is resolved
Duration: 3 days are given to each dispute to be either accepted or rejected
More on dispute resolution and governance later
The final destination of every market is the ‘Settled’ stage. If any disputes are raised while the market is cooling then the extra step of 'In Dispute' is added between the ‘In Cooling’ stage and the ‘Settled’ stage, otherwise, the market is settled right after the cooling period.
The ‘Settled’ stage is when the rewards are distributed to the market winners
The option price for buying prediction positions becomes more expensive towards the end of the participation time. So, the user who participates towards the end of the participation time will get a lesser number of positions in comparison to a user who participates early. Lessed positions mean lesser rewards.
To make sure that participants are truly predicting and not just entering the market at the last possible moment to gain an edge after the participation time is over, the market goes into the In Settlement stage where no one can enter the market. The duration of the In Settlement stage is equal to the participation time and only after it's over, does the protocol note down the price of the market asset and decide the winning option.
bPLOT (bonus-PLOT) is a wrapped $PLOT token that is non-tradeable and can only be used to participate in PlotX prediction markets. The value of bPLOT is equal to that of $PLOT at all times and by using bPLOT to make correct predictions, one can convert their bPLOT (which are non-tradeable) into $PLOT (which are tradeable).
A few things that you need to keep in mind while making predictions with bPLOT are:
You can only make one prediction per unique market using bPLOT. For example, if you've already placed a prediction using bPLOT in an Hourly ETH-USD market which is asking for the price of ETH-USD at 2 PM, 25th April 2021, then, you cannot make another prediction using bPLOT in the same market. You can, however, make another prediction in the same market using PLOT.
Each bPLOT prediction involves a conversion of bPLOT to an equal amount of $PLOT. This ensures that the reward pool only comprises PLOT. This also means that if you place a prediction using bPLOT, and your prediction turns out to be correct, then you'll receive back your participation amount (minus the platform transaction fees) in the form of $PLOT and not bPLOT.
To use bPLOT to make a prediction on PlotX, select bPLOT as the payment currency in the payment asset selection drop-down.
When a user wants to make a prediction, they can choose one of the following cryptocurrencies to pay for their prediction:
PLOT is selected as the default payment currency, but upon clicking this drop-down menu, one can see the full list of currencies they can use to buy positions in the market:
When a user selects any non-PLOT currency, the protocol swaps the entered amount of that currency for an equivalent amount of PLOT from QuickSwap in the background, after which, it makes the desired prediction.
For example, if a user is making a prediction with 10 USDC, then the protocol will swap their 10 USDC for 100 PLOT (assuming price of 1 PLOT = 0.1 USDC) from QuickSwap in the background, after which it will make a prediction with 100 PLOT in the selected option in the selected market.
When the market settles, if the prediction is correct, the user will get back:
100 PLOT (prediction amount converted to equivalent amount of PLOT) - 2 PLOT (2% prediction fee) + Reward from the prediction market (in PLOT) = 98 PLOT + Reward
To bootstrap liquidity in PlotX prediction markets, the market creators are required to add initial liquidity, similar to how projects add liquidity to their Uniswap pairs.
Here’s a primer on how liquidity provision in PlotX works:
PlotX prediction markets follow the zero-sum game approach
Each market has three options available and the winning option gets the combined amount put at stake in the other two options
When a market is configured on PlotX, the market creator has to provide bootstrapping liquidity across all 3 options of the market
In return, the market creator gets back ⅓ of their initial liquidity and three types of incentives:
Prediction Fees - A portion of the prediction fees from all the predictions placed in the market
Reward Pool Share - 5% of the total reward pool
Reward From Winning Prediction - Market creator makes a prediction in each option, so one of their predictions is bound to win; hence, they also get a reward from the winning prediction based on the market state
Let’s take a look at a hypothetical market to understand the market creators’ incentives better:
Market creator’s liquidity
Total liquidity in the option
Potential reward pool
In the above hypothetical market, the total liquidity in the market is $150,000 and the liquidity provided by the market creator is $12,000.
The market creator’s incentives in the above scenario will be:
Initial Liquidity Return
Reward Pool Share
Reward from the
⅓ of the initial liquidity
0.8% of the total liquidity
5% of the reward pool
This depends on which option ends up winning
⇒ The market creator got a ~51.66% return on their initial investment (the initial liquidity they provided)
The above example is of a hypothetical market. Real markets may not play out in the same manner as above. Market creators’ rewards depend on many different factors like the total liquidity, liquidity spread between the three options etc.
As more and more markets are created on PlotX, we will get more real-world data from the app. This data will be used to adjust the market creator’s incentives to keep them in a profitable position.
PlotX v2 mainnet is running on Polygon, and because of how cheap it is to transact on Polygon, PlotX v2 doesn't charge any gas fees from users for any transaction they do on the platform.
However, no matter how small the fees might be, they still need to be paid. So, PlotX v2 charges a 2% prediction fee on all predictions to cover the platform upkeep costs. This includes costs like the relayer's cost of covering all meta transactions on the platform, the market creator's incentives for providing the initial liquidity to every market etc.
The 2% prediction fee is thus, further divided into the following subcategories:
DAO Share: 10% of the 2% prediction fee | 0.2% of all predictions
Market Creator Share: 40% of the 2% prediction fee | 0.8% of all predictions
Relayer Share: 50% of the 2% prediction fee | 1% of all predictions