Overview The goal for STADIUM is be a completely permissionless protocol to enable communities to develop their own self-organized tournaments for the games they love playing together. Following the theme of “Hyperstructures”, the protocol will be free to use. As leagues are created, communities can adjust the fee structures of their own leagues as they see fit.
Scope: Hackathon For the purposes of this hackathon, we are aiming to create only one abstracted piece of this functionality — focusing on the portion of the protocol that allows the formation of teams which may add players to their roster, remove/trade players, and manage their team in a decentralized environment.
Currently, while our main build is being worked on with a combination of the Zora v3 ZDK, Create Kit, some custom solidity, a node.js web app → we spent a lot of the time scoping the project out, what type of data we would need to update the metadata between Players and Teams, and the type of artwork that would be used to add visual flair.
Smart Contract: For this dApp to work , we needed to create a relationship between both Teams and Players. To do this, we sought to build a contract that creates and manages three types of NFTs:
The Player Card is a 1/1 and unique to your wallet. This acts as the account for STADIUM and how you'll interface with Teams and eventually Leagues, Tournaments and other competitive environments. This NFT starts off with a boolean that states you are a "free-agent" or available to be recruited for a team.
The Team Card is 1/1 and unique to the wallet that creates it. Players can make teams, DAOs can make teams, anyone can make a team. Teams hold data related to what players you've recruited (roster), and can hold a balance to administer payments to Players.
The Allegiance Card is where the magic happens. Players can send offers to Teams and vice versa. When either party accepts the offer, an Allegiance NFT is minted and sent to the Player, the Player Card is updated with the Team's name, icon, and colors, and the Team Card is updated with the Player's name. Allegiances act as the interstitial between both parties and are permissionless agents that capture value, trade activity, and speculation on a Player's or Team's value.
Nonso worked on the smart contracts Druzy worked on frontend dev, initial spec, and architecture Sirsu worked on narrative, project scope, visual design, ux design, prototyping on Figma
For more information on the spec: