This post follows the SNS preparation checklist found here.
1.1. Tokenomics specification
1.1.1. Token utility
OpenFPL will have the utility token $FPL. The main utility of the token is to drive consensus data, as described below:
The Premier League football data that is required to run OpenFPL is obtained through the DAO’s consensus mechanism. This unique approach has been chosen due to the unique nature of the data required to run the game.
Subjective Data
-
In existing fantasy football games a centralised entity defines the value of a player which is often a contentious issue for football fans. Our player valuations can be changed via proposals that either increase or decrease a player’s value by a fixed amount (currently £0.25m).
-
Events that are recorded within football are not always agreed upon. Different sources of information (BBC Sport v fantasy.premierleague.com) will record things like who assisted a goal differently based on their own internal processes. OpenFPL’s consensus data ensures that football fans agree on what happens within a game.
High Frequency Data
- The Premier League is a live entity, players are always moving between teams, sometimes within the Premier League and sometimes outside of it. Finding the current state of a team is near impossible as each potential source of team information is often outdated, requiring developers to update a dataset somewhere. OpenFPL’s consensus data solves this problem by allowing the billions of football fans around the world to earn $FPL in providing that information, ensuring OpenFPL has the most accurate club information around.
Owning our own data gives us a valuable asset for football based data services along with keeping no reliance on any web2 data feeds.
1.1.2. Initial token allocation
The OpenFPL tokenomics are as follows:
The Founding Team (12%)
Seed Funders (12%)
Decentralisation Sale (25%)
DAO Treasury (51%)
1.1.3. Voting power
As you can see from these tokenomics, my team’s vote is matched by the seed funders who purchased their NFT from funded.app. All early supporters of the project can then be outvoted by the decentralisation sale participants. The DAOs treasury contains 51% of the tokens, although it is impossible to guarantee decentralisation, I believe the nature of the token distribution process will ensure it.
1.1.4. Funding target
The minimum funding target for OpenFPL will be 500K ICP and the maximum will be 1m ICP. This huge amount of money is not just warranted for the brand that has been created, it is required for OpenFPL to reach its full potential. The funds will be allocated as follows:
Staking: 80% of the amount raised will be staked for 8 years. This amount is to ensure the longevity of the project. I will be raising proposals for my company to obtain the maturity interest to run things but any team that feels it could do a better job can always do the same. It will be up to the DAO to decide who will ensure the features being developed are in the best interest of OpenFPL. 25% of the maturity interest received by Waterway Labs will be used for charitable grassroots footballing causes, ensuring the world sees how ICP can be used for good causes.
Exchange Liquidity: 10% of the amount raised will be reserved for exchange liquidity to ensure trading of $FPL can take place without any issues. After a successful SNS sale, discussions will begin with the SNS DEX platforms regarding the specifics on setting up the required liquidity pool.
Cycles: 5% of liquid FPL will be kept in the treasury for topping up canisters with cycles.
Waterway Labs: My UK based limited company (Waterway Labs Ltd) will receive 5% of the amount raised to enable us to grow at pace in a few key areas in time for the start of the season in August 2024. The following roles will be filled:
- Frontend Developer
- Backend Developer
- Data Manager
- Marketing Manager
- Managing Developer
The developers will be focused on delivering the private leagues feature in time for August 2024. The Data Manager will keep an eye on all sources of Premier League data, raising proposals where required to ensure our data is accurate as soon as possible.
We will use this money for online and real world promotion between June and August 2024, in the run up to the new season. This will involve advertising on major social media platforms, setting up the main OpenFPL podcast and promoting to fans in each UK city that a Premier League stadium can be found.
Along with these hires we will be setting up our merchandising operation. This will require the purchase of stock to be sold through the ICPFA shop (ICPFA). Along with the stock there are storage and logistic costs too.
Waterway Labs will also employ a managing director to enable me to focus on development of the OpenFPL mobile app. Mobile app development is where I have most experience and I’m confident I can deliver it in time for the new season.
1.1.5. SNS tokenomics tool
Using the tokenomics analyser here on the yaml comes out with the following token distribution:
The developer shares contain the funded NFT neurons along with the ICPFA neurons as there is no section to split early supporters from team neurons.
1.2. Technical architecture / whitepaper / project roadmap
1.2.1. Technical architecture
OpenFPL runs 100% on-chain with no 3rd party components. Everything is controlled via the DAO’s consensus mechanism. The app has a single main canister that controls the core data. The large datasets the DAO creates are a users history along with the weekly, monthly club and season leaderboards. A new canister is created for each 12000 users, and a new canister is created for each leaderboard. The main backend canister contains reference and lookup information.
1.2.2. Whitepaper
The OpenFPL whitepaper can be found at openfpl.xyz/whitepaper.
1.2.3. Project roadmap
OpenFPL has an ambitious roadmap:
March 2024 Onwards
- The DAO will begin ensuring the applications data is representative of the true state of the Premier League through raising proposals. This will ensure that when the game begins users are selecting their teams from up to date information.
June 2024
- Users of the app will be able to pick their team for the 2024/25 season. At this point our marketing campaign will begin where we aim for the platform to go viral.
- Users will be able to create private leagues. These leagues will enable users to create customisable reward structure using any ICRC-1 token.
- Planned launch of the OpenFPL mobile application for both iOS and Android.
1.3. Disclosure of dependencies
There are no dependencies, the app runs fully on-chain and will be fully decentralised after the SNS sale.
1.4. Create SNS configuration file
The SNS configuration file can be found here.
1.5. Create NNS proposals
Commands to create the NNS proposal for the swap can be found here
- Technical prep & testing
2.1. Security review
OpenFPL mitigates against potential security risks as follows:
- The platform operates entirely within the IC ecosystem ensuring a controlled interaction environment. All interactions and messages only occur between IC canisters. This reduces exposure to any potential external threats.
- Update calls to dynamically created canisters ensure the OpenFPL backend canister is the only allowed caller.
- A user’s principal id is only obtained through the Agent JS library.
- The selection of a users fantasy team of 11 players from a pool of potentially 650 in various formations ensures high entropy of data making it hard for attackers to predict a users selection.
2.2. Open sourcing
The source code for OpenFPL can be found here.
2.3. Create reproducible build
Please follow the instructions within the OpenFPL ReadMe here to run the system at its current live state. This will ensure upgrades can be verified and tested by the community before voting.
2.4. Test dapp operations under SNS on mainnet with SNS testflight
Please see forum post:
2.5. Integrate an SNS frontend into the dapp
We have integrated the proposals into the frontend through the /governance views using the sns-js library. See forum post for section 2.6.
2.6. Test the SNS launch locally
Please see forum post:
- Community consultation
All information about OpenFPL has been public since the project started, I feel I have built a strong community of users I regularly consult with on any decision I make on our platform.
3.1. Publish tokenomics / whitepaper / roadmap / architecture
Full information can be found at openfpl.xyz/whitepaper.
3.2. Community discussion
The sale will not begin for at least 2 weeks from the date of this post.
The init file can be found here, final mapping of funded nft holder nns principals is still on going.
- SNS launch workflow
The app will be handed over with the commands found here.
This proposal will initiate the SNS launch using se the proposal content created in Step 1.4 to create the NNS proposal.
4.3. Setup custom SNS functions
OpenFPL will begin with the following 18 generic functions required to ensure the accuracy of the applications data:
validate / execture AddInitialFixtures
validate / execture CreatePlayer
validate / execture LoanPlayer
validate / execture MoveFixture
validate / execture PostponeFixture
validate / execture PromoteFormerClub
validate / execture PromoteNewClub
validate / execture RecallPlayer
validate / execture RescheduleFixture
validate / execture RetirePlayer
validate / execture RevaluePlayerDown
validate / execture RevaluePlayerUp
validate / execture SetPlayerInjury
validate / execture SubmitFixtureData
validate / execture TransferPlayer
validate / execture UnretirePlayer
validate / execture UpdateClub
validate / execture UpdatePlayer
The nns functions to create these generic functions can be found here.