"pr!ce" is a host of seasonal stock markets. At the start of these seasons, we issue a limited amount of fungible tokens (ERC 1155), each representing an entity (for ease of example, we will refer to players in our NBA market). Users can buy and sell shares of players in our ever-changing marketplace which is fueled by an Automated Market Maker. We generate revenue by taking a small cut of each transaction. Every week, shareholders receive a dividend that is distributed to them based on which shares they own, how those shares performed (each type of "league" has a way to measure statistical output, for the NBA it is how the NBA players performed, for musicians, it is their streaming numbers), and how many they own, all distributed to the entire economy from 70% of the revenue we generated in the past week. At the end of the season, the top shareholder of each player (each type of token) will receive a unique NFT designating them as that token's champion for the season. For example, the top shareholder of Lebron James receives a shiny "LeBron James 2020/2021 Champion" at season end. Furthermore, the top shareholder is given the ability to donate our entire seasonal income gained from the transactions on the player they are the top holder of, to a charity of their choice. Some of the mathematics of the ecosystem is as follows: We introduce volatility in the market through our "Casino Royale" event. Every month or arbitrary period of time, we announce the artificial boosting of dividend payout for a certain entity. For example, we may announce that the first player to be traded that month receives a boost. This causes speculation. Further, the original issuing of shares is based on a bell curve. The best and worst historical statistical producers have fewer total shares in circulation, promoting ownership of worse players. We think there is currently an incredible opportunity in a service dedicated to monetizing and gamifying off-chain activity.
We ran into issues integrating chainlink. We had trouble figuring out how to perform a POST request with chainlink and thus resulted in a convoluted way of performing a get request with many URL parameters. To perform the expensive on-chain cost of a string concatenation, we instead opted to generate the URL on the frontend, by making multiple calls to the blockchain first to grab relevant data. This was generally just a difficult project, with a lot of breadths (a ton of features to implement, and a lot of protections required) for first-time solidity users, who are also all students, working in SWE roles by day. Furthermore, we had to create an off-chain, centralized (unfortunately :(, and for now, since it's a hackathon with limited time, and we all work) API to handle some computations we didn't want to waste gas fees on by putting on-chain. This helped us with the instantiation of our ERC 1155 tokens (which require a URI), and with some of the functionality on the web app (which is hosted on IPFS).
Impact bounty targets:
SDG 1 -> Cleanwater and sanitation
SDG 2 -> climate action
SDG 3 -> partnerships
We give users the ability to use the project's revenue and donate to the SDG charity of their choice!!!