Upcoming OpenFPL SNS decentralisation sale

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

  1. 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:

  1. 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.

  1. 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.


This will be the project to bring mass adoption to ICP :grinning:


I’ll be here for it all :muscle:t3:


This is gonna be huge tell everyone.

1 Like

the commitment is evident in the thoroughness of detail (bravo) ,


Is there any specific reason for the low soft cap?


Yeah, I think it’s just easier than putting a number, failing and going again under that number.

The app is built, we played for 18 weeks last year and it’s ready for the new season in August. So even if I raise very little things move forward as planned.

Fortunately OpenFPL will be revenue generating, so we will just stage features in accordance with this funding if we raise very little in the SNS.

Also, our NFT for 100K $FPL has a 300ICP floor, so I doubt people are going to let 25m $FPL go for an immaterial amount.

The main features between now and August are the mobile app and private leagues feature with OpenChat integration. I’m a mobile app developer really so I’ll get that done myself and the OC guys are keen to assist in the integration. I can do this all on my own but again, if I raise a lot I will build a team to work on OpenFPL.


@jamesbeadle It seems that the token and voting power allocation has changed significantly since you started the thread. Can you update/amend the first post with the correct graphics and the correct link to the sns configuration file?

Currently, the voting power of the developer neurons would be 53.3% after the swap, which means the Developer Neurons would have the majority of the voting power. Could you articulate why the DAO is decentralized nonetheless. See this excerpt from the DFINITY SNS voting guidelines:

Furthermore, it seems you haven’t gone through a formal security audit. Could you explain why you think this is not necessary?


So the developer neurons include the funded NFT holders 12%, there is nowhere for me split out that 12% other than the developer neuron section in the sns_init.yaml.

So my team has 12%, matched by the funded 12% (all of whom I don’t know as it went through funded).

Then we are all outvotable by the SNS’s 25% token allocation.

Therefore it’s decentralised.


The funded neurons are listed from this point in my sns init file

Hi Dom,

Apologies I missed the comment about the security audit. So I have not done one, just because I can’t afford it. My code doesn’t trade tokens, so there is no financial functionality. I don’t have any third party dependencies and feel like the code is quite simple, the game has been publicly tested and the code available for the entire development period.



Do you think it would be a good idea to change the category of this post from General to Governance and/or SNS Project Governance? It might attract additional eyeballs to your SNS post.

1 Like

Sure, I have updated it.

1 Like

Soft Cap 100 ICP,Hard Cap 1,000,000 ICP, Neurons’ Fund Commitment 73’067.36
Is this a joke?Are you kidding me?Is this reasonable?
@jamesbeadle @domwoe only 100 ICP?

This is taking advantage of a loophole, isn’t it?


To the IC community, this is unacceptable. It will cause more junk projects to be generated. I hope this SNS can be rejected and the application proposal will be resubmitted. The foundation should have someone specifically to conduct a comprehensive review of SNS projects, which is also a responsibility to the IC community. Now this 100ICP is an insult to the IC community, I am really speechless。The minimum amount raised must be related to the maximum amount, and should be greater than half or even more of the foundation’s funding amount. I hope the foundation can take the feedback from the IC community seriously. @domwoe @wpb @Bugslayer @jamesbeadle @Limestonecowboy @Zan


Relax, the IC community has already made up their minds. The only question is why are you so upset about this ? Don’t you like games or soccer or are you in any one of the excluded countries ?


I don’t class OpenFPL as a junk project, I’ve spent the best part of a year working on it non stop.

I didn’t realise there was a rule for the min and max figures, it should be enforced through the sns_init submission if so.

I also made this public, no one raised any concerns.


It does not sound like you have read the whitepaper, but OpenFPL is one of the more solid projects on Dfinity that I have come across (so far in the ecosystem). The community has their voice during the proposal portion if they do not want to support a project going through the SNS. The 100 ICP was a limit to be used by Dfinity and I see it as an act of faith on the dev’s side for the project. That’s my take on this.


1 Like

On the contrary, I am interested in this project and I will invest in it, I just don’t think it should be such a low-cost start. The first one destroys the balance and rules of SNS. The ideals of this project are not meant to be shared by those who come after. The threshold is too low, leading to flooding. I think SNS should be more difficult, otherwise newcomers may have many low-cost junk projects.


Then you should start a thread and consider a proposal if you really feel this way.