GuessThePrice by GTP Team - Decentralized platform for forecasting asset prices on BTT network

Project Name: GuessThePrice - Decentralized platform for forecasting asset prices on BTT network

Project Track: DeFi

Team Name: GTP

Team Member(s): @thamonstor

DevPost Project Link: https://devpost.com/software/guesstheprice

Project Goal:
Our project aims to create a groundbreaking decentralized application (dApp) on BTT network that revolutionizes the way individuals engage with financial forecasting.

Project Value:
By leveraging blockchain technology, “GuessThePrice” ensures a transparent, secure, and trustless environment for financial forecasting.

Blockchain integrations:

  • OpenZeppelin contracts: The use of ERC721 tokens for each forecast position guarantees unique ownership and transferability, providing users with a tangible stake in their predictions.
  • Band Protocol Price Feeds: Integration with a decentralized oracle ensures that price data is accurate and tamper-proof, enhancing the credibility and reliability of our forecasts.
  • … and more soon

Our platform integrates CRON tasks : In our backend, each asset is assigned a singular wallet relayer responsible for monitoring forecast expiration. When the exercise time of a forecast arrives, the relayer marks it as expired and fetches the asset price from BandChain. This fetched price is securely updated in smart contracts, guaranteeing accurate price at the exercise time.

Project Info:

Using “GuessThePrice” platform, users have the opportunity to:

  • Make new price forecasts for various assets;
  • Trade in P2P mode already created positions / forecasts by other users on the market

By allowing users to select the asset, pledge amount, target date and time, exercise price, and side (OVER or UNDER) with corresponding odds, our dApp provides a comprehensive and customizable forecasting experience.

Our project utilizes a cutting-edge technology stack, including:

  • React, TypeScript: the dApp frontend features a user-friendly interface, ensuring a seamless and intuitive user experience.
  • EthersJS: facilitates interactions with the blockchain, allowing users to connect their wallets and interacting with the decentralized platform.
  • Solidity / Smart contracts: the contracts manage ERC721 tokens for forecast positions and handle the creation, trading, and settlement of forecast positions, ensuring a fair and transparent process.

Project Website: https://guess-the-price-app.vercel.app

Project Test Instructions:

  • Open our dApp website;

  • Connect your wallet (e.g., MetaMask) to the platform;

  • Switch network to BitTorrent Chain Testnet;

  • If you want to Make a New Price Forecast:

    • Click on “New forecast” tab;
    • If this is your first time making a forecast, you will need to first approve the ERC721 collection of forecasts;
    • Choose the asset, pledge amount, target date and time, exercise price, side (OVER or UNDER), and set your odds for the forecast;
    • Click on “Create”, which will generate two positions (ERC721 tokens): One with selected side in your portfolio and one listed for trading with the opposite side.
  • If you want to Explore & Trade forecasts positions:

    • Click on “Explore all” tab.
    • You will be able to monitor all forecasts for each asset created by other users. Forecasts positions will be grouped by the same price and expiration date.
    • You will be able to buy a forecast that is interesting and suitable for you, after which it will appear in your portfolio.
  • If you want to Check your forecasts positions:

    • Click on “My forecasts” tab.
    • You will see detailed information about each forecast, and claim your winnings if you hold the winning position.

Project Details:

Smart Contract links:

Project Milestones:

[:green_circle: DONE :green_circle:]

  • :green_circle:Creating the frontend
  • :green_circle:Smart contracts deployment on BitTorrent Chain Testnet
  • :green_circle:Integration with Coingecko API
  • :green_circle:Integration with BandChain Price Feeds
  • :green_circle:Create on the backend CRON jobs for relayers
  • :green_circle:Optimize smart contracts for efficiency and user experience

[May 8 - May 20 ]

  • :green_circle:Add support for more assets/markets
  • :green_circle:Add the option to make price forecasts not only with native coins, but also with ERC20 tokens

[May 21 - May 31]

  • :green_circle:Deploy smart contracts and launch on BitTorrent Chain Mainnet
  • :green_circle:Increase the plan of Coingecko API to avoid rate limits and ensure uninterrupted access to price data or explore alternative providers
  • :green_circle:Continuously enhance the UI / UX for all devices, conduct thorough testing to ensure functionality and security
24 Likes

Welcome to Grand hackathon season 6, patiently waiting for the bombshell.

5 Likes

Welcome to Grand hackathon season 6, please how accurate can this be? Does that mean that i will hold your platform responsible if the forecast goes the other way round?

4 Likes

I like this initiative of empowering users to make informed financial decisions through precise price predictions. But then how do you plan to ensure user security while interacting with the platform?

4 Likes

thank you @Okorie .
More info will be added soon

3 Likes

hello @Nweke-nature1.com

You can be completely confident that the asset price is correct at the time your forecast is executed.

As stated in the description of our project, we have integrated “Band Protocol - Price Feeds”.

What is Band Protocol?

Band Protocol is a Secure, Scalable Cross-Chain Decentralized Oracle platform that aggregates and connects real-world data and APIs to smart contracts.

And since these prices are fetched directly from smart contracts, this ensures that price data is accurate and tamper-proof, enhancing the credibility and reliability of your forecasts.

1 Like

Hello @Chizz

Our project is a decentralized application. This means that when you open the application website, you see only the front-end, the appearance of the project, and this is just the outer shell of the entire project logic.

Secure communication & Authentication: Users authenticate themselves through their Ethereum wallets (e.g., MetaMask), which provides a secure and decentralized way to access the dApp. Interaction with the platform occurs by signing the transaction with the connected wallet.

Smart contract security: The entire logic of the project is written in the smart contracts. Written in Solidity, contracts adhere to best practices to mitigate risks such as reentrancy attacks, integer overflow/underflow, and unauthorized access.

And since the contracts are deployed in the blockchain (BitTorrent Chain Testnet), this means that we can talk about:

Data Immutability & Integrity: The blockchain uses a consensus mechanism that ensures all transactions are validated and recorded in a decentralized manner. The blockchain’s design ensures that once a block is added to the chain, it cannot be altered without invalidating the entire chain, ensuring data integrity.

All these things collectively ensure that our platform is secure, trustworthy, and resilient to potential security threats.

3 Likes

So no loose involved? And 100% risk free right?

2 Likes

Welcome to Hackathon Season 6, your offering really got me ecstatic. I can see this “GuessThePrice,” is a decentralized platform aiming to revolutionize financial forecasting on the BTT network.

Can you provide more details on the roadmap for deploying smart contracts and launching on the BitTorrent Chain Mainnet?

2 Likes

Welcome to the Hackathon, I take my time and read everything, please tell me more about the role of CRON jobs for relayers in the backend, thank you

3 Likes

Our platform operates as a peer-to-peer forecast market.
It’s important to note that there are two sides to every prediction: the winning side and the losing side. Users take positions based on their beliefs about the outcome.

For instance, if one user creates a prediction that the price of one asset will be OVER a set value, our platform simultaneously creates and lists on the market the opposing position (UNDER side), so another user can immediately purchase the opposing position from the user who created the prediction. This creates a market where users can trade positions based on their predictions.

Ultimately, the user who holds the winning position, will receive the reward associated with that prediction. The win or loss is determined by the price value of the asset at the specified date. For instance, if you have the OVER position and at the set date the asset price is greater than the set threshold - you win; otherwise - you lose.

1 Like

Hello @manfred_jr

Thank you !

Currently, we’re continuously improving, testing, and adding new features to our platform. The focus is on ensuring that all aspects function seamlessly and securely before transitioning to the mainnet and once we’re confident that everything is working optimally, all smart contracts will be deployed to the BitTorrent Chain mainnet.

3 Likes

Hello @ines_valerie

It’s great to hear that you’ve taken the time to delve into our project. Thank you.

The project description now contains an explanation of the role of CRON jobs. I’ll just duplicate the text here:

  • In our backend, each asset is assigned a singular wallet relayer responsible for monitoring forecast expiration. When the exercise time of a forecast arrives, the relayer marks it as expired and fetches the asset price from BandChain. This fetched price is securely updated in smart contracts, guaranteeing accurate price at the exercise time.

In simpler terms, the CRON tasks are automated processes that ensure forecasts are marked as expired when their designated prediction time arrives.

2 Likes

:tada::tada::tada:Exciting update : New market added

We’re thrilled to announce that we’ve successfully added support for a new market: Bitcoin!
Now you can make forecasts about the price movements of Bitcoin.

Happy predicting! :chart_with_upwards_trend::moneybag:

Stay tuned for more exciting updates as we’ll be adding new markets soon!


5 Likes

I like the app interface, it looks very clean

3 Likes

A good start!
adding support for new markets such as Bitcoin enhances the diversity of your platform, nice work !

5 Likes

It’s quite a breath of fresh air to see you’re consistently building, testing and adding new features to your platform. It’s really necessary to put in the work to have a perfect product rather than a half - baked one, keeping fingers crossed for updates as hackathon progresses, goodluck!!

7 Likes

Thank you @forestt :heart:

2 Likes

Thank you for your positive feedback! We truly appreciate it.
We believe that Bitcoin maxi will also appreciate our update :grin:

By the way, in the next 1-2 days, we are planning to add a new asset.
Any “predictions” :thinking: on which asset it might be?
We’d love to hear your thoughts and options!

1 Like

Hello @manfred_jr . Thank you for your encouraging words!
Your recognition of our ongoing efforts to improve and enhance our platform means a lot to us :hugs:. We’re committed to delivering a top-notch product, and your support motivates us to keep pushing forward.
We’re grateful for your encouragement and look forward to sharing more updates with you as the hackathon progresses.

2 Likes