GP Prediction Market is a decentralized platform for prediction pools, resolved via oracles or users. It supports "Proportional" or "Single" winner pools on topics like politics, economics, or any custom predictions created by users.
Prize Pool
Prize Pool
The GP Prediction Market is a decentralized platform built on the Sepolia testnet that enables users to create and engage in prediction pools. Any type of prediction pool can be createted. Leveraging a Next.js frontend integrated with thirdweb templates and Solidity smart contracts, the platform offers an intuitive interface for users to bet on various outcomes and track their balances in real-time. The platform offers an opportunity to bet on political and economic events, such as elections, economic data, including various stock market company characteristics reported in the future (also why not weather data).
Users can create custom prediction pools by setting outcomes with associated numeric values and choosing the pool type—either "Proportional" or "Single" winner. In "Proportional" pools, winnings are distributed based on the proportion of bets on the winning outcome relative to total bets. In "Single" winner pools, a random winner is selected among those who bet on the correct outcome using Pyth Entropy's random number generation.
The platform integrates with Pyth and Chronicle Oracles to determine winning outcomes based on real-world data, such as the Nasdaq-100 Index (QQQ) and ETH/USD prices. The contracts enable to create various pools using the price feeds or the mentioned oracles. While the smart contracts are fully deployed and functional to support also oracle data on the Base Sepolia testnet, the frontend is undergoing updates to implement oracle-based outcome resolution and is currently deployed to support the less advanced smart contracts (without oracle support) on Sepolia testnet.
The project uses next.js as frontend, custom developed smart contracts as backend. The smart contracts include a factory contract which enables the users of the app to deploy new contracts for each new prediction pool created. All contracts are verified on chain. The shown frontend uses smart contracts on Sepolia. The project was developed further to consume oracle data and add extra functionality and options to prediction pools and resolving the pools. The updated smart contracts were deployed on Base Sepolia to support Pyth and Chronicle oracles. The frontend was not completed for the updated contracts which were manually tested through Thirdweb web interface. Hardhat with Thirdweb was used for smart contract development. Frontend is based on an initial Thirdweb next.js template which was used as a starting point to speed up the development of the app. Thirdweb components were used to connect the frontend and smart contracts. Shadcn/ui was used to design the frontend. Cursor editor helped to speed up the development process. The frontend was deployed on Netlify with necessary adjustments for env variables.