# What is GameDAO?

Welcome to the official documentation for GameDAO, the go-to platform for game enthusiasts to connect, crowdfund & co-ordinate their most important gaming projects.

{% hint style="success" %}
**Keep it real:** The contents of these pages, published under docs.gamedao.co are a collection of the latest developments of our protocols and not considered final. We live an open and transparent culture and therefore publicly share works in progress and knowledge.
{% endhint %}

### Introduction

GameDAO is a multifaceted coordination platform built on [ZERO Network](https://parachains.info/details/zero) using substrate.io. [ZERO network](mailto:undefined) is a video game multichain network which is part of the Polkadot & Dotsama ecosystem.&#x20;

The GameDAO platform is a place where gamers, creators, investors and esports teams can come together to form collaborative clans (DAOs) to work together to achieve common goals using democratic and transparent technology.&#x20;

Our current aim is the development of a web3-powered fan engagement platform, specifically designed with esports organisations and content creators in mind. This is called the [Battlepass](https://app.gitbook.com/o/gdB0avh011RMXwN2wUzt/s/XlD4fZHAtSiDUCi0qHER/~/changes/QlIsgHwJXCfCUUnSrdCV/applications/readme).

GameDAO has been set up as an intermediate stock company, GameDAO AG, which is based in Liechtenstein. We recently completed the setup of Game3 Foundation, a charity organisation with aims to support, develop and transform video games into the Web3 era.

In the near future, 100% of GameDAO AG will be contributed to the charity, effectively giving control of the AG to the community over time through progressive decentralisation. Eventually, this means that GameDAO will be wholly governed and controlled by nominated and elected $GAME token holders, instead of a more centralised team.&#x20;

### What's it For?

Whether you want to fund an awesome new game while getting milestone updates, join a lifestyle guild and vote on merchandise changes, or find like-minded esports enthusiasts to compete for cash—GameDAO gives you the tools to create and coordinate.

GameDAO is also the platform where the community can collaboratively own and govern games funded and created on the platform: You can vote on changes, development updates and more—all as a democratic community, using **DAO**s.

The team behind GameDAO is currently made up of tech gaming enthusiasts, with backgrounds in everything from traditional business, to esports, to design and game development.

### **Vision and Mission**

GameDAO’s vision is to become the go-to hub for game enthusiasts to ideate, create and build games and organisations collaboratively and sustainably. We want to both inspire and reward game creators, players, publishers, and investors together on a safe and secure social platform.

Our mission is to reconfigure the gaming industry into a participation and ownership-based industry where all key contributors can participate, collaborate and coordinate. No more developers that don’t listen to the community. No more opaque communication channels and awkward forums. One transparent, low-barrier platform for the community, by the community.

<figure><img src="https://1511742772-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXlD4fZHAtSiDUCi0qHER%2Fuploads%2FbV9veBDwjsM5IozAiymZ%2Fgamedao.png?alt=media&amp;token=675aa4ba-7828-4b95-8f8b-8fd02713311d" alt=""><figcaption></figcaption></figure>

### **Community**

The community is the energy that powers GameDAO. The platform itself will be community-governed, allowing individuals to create clans and organisations to achieve goals together in a decentralised way.&#x20;

Coordinate your goals together as part of a group; share a decentralised treasury, or even enable early market proof of a game you’re building by getting direct feedback from the testers all on one platform.

If you’d like to see some specific use cases in action, visit the Use Cases section for some examples of organisations built using GameDAO.

> GameDAO: the protocol directly connecting gamers, creators, publishers and investors.

### Roadmap

<figure><img src="https://1511742772-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXlD4fZHAtSiDUCi0qHER%2Fuploads%2FBZNWprNHHgw1lIwT6oje%2Froadmap.png?alt=media&amp;token=7f95ba96-fa60-4016-b2ee-6a6a942fd021" alt=""><figcaption><p>Currently a WIP, this is our up-to-date roadmap for 2022-2023 Q2</p></figcaption></figure>

## Getting Started

**Got 2 minutes?** Check out a video overview of an early prototype:

{% embed url="<https://www.youtube.com/watch?t=3s&v=SJQUj79Xg6o>" %}
early prototype
{% endembed %}

{% embed url="<https://www.youtube.com/watch?v=Rw4HTxYJq-Q>" %}
review in the wild
{% endembed %}


# Use Cases

Create. Contribute. Collaborate. GameDAO's tooling allows gamers to be easily integrated into game development processes and more.

## 1. The Lifecycle of a Game

In the traditional gaming industry, gamers are mostly uninvolved in the processes leading up to a game's release. From ideation to development and funding, gamers have little to no say. Even with traditional fundraising platforms, gamers can contribute funds directly via crowdfunding campaigns.&#x20;

However, these are often opaque, and though they do provide incentives and rewards, gamers are not involved-they still don't have a say in the development process, nor can they contribute to decisions made by the developers. More over, there have been many cases where these traditional platforms have not protected users well from scams and money-grab projects.

<figure><img src="https://1511742772-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXlD4fZHAtSiDUCi0qHER%2Fuploads%2FKeTAhlYsp5qKykDP46Mx%2Flifecycle.png?alt=media&amp;token=bc16069b-c15e-452d-af7b-92bfbdec57f3" alt=""><figcaption><p>Through GameDAO, communities are integrated into the entire lifecycle of an organisation</p></figcaption></figure>

## 2. The GameDAO Way

A **DAO** is a **D**ecentralised **A**utonomous **O**rganisation. It's a democratic group of people facilitated by technology, usually used for coordinating and making decisions together. By using DAO tooling, gamers and creators can be involved in collaborative DAOs alongside one another, building more sustainable businesses together.&#x20;

This means gamers are directly integrated into the development process of a game, or the business model of something like an esports organisation. But more than that, gamers can create their own DAOs for everything from organising in-game clans, to coordinating competitive tournaments all through GameDAO's platform.

As a game enthusiast you could, for example, create a proposal to make changes to a game's development. With enough votes, the motion would pass, and the changes implemented - all through a democratic vote, initiated by the community and executed by the DAO.&#x20;

You could also be incentivised and rewarded for these contributions, or for your achievements on other platforms, getting rewarded in digital assets for being a perfectionist.

Read on to find out more about specific use cases and mechanisms of GameDAO's tools.


# Guilds & Gamers

GameDAO is the place for esports organisations to leverage new technology, integrate the community directly, and build towards more sustainable business models in esports.

## Overview

For gamers, GameDAO offers a platform to connect with others, contribute to organisations and game dev projects directly, get rewarded, and hold a stake in these groups they invest in. It's also the place where gamers can finally feel valued and listened to, instead of blocked by opaque communication channels and unable to integrate properly into the projects they care about.

For Esports Organisations, GameDAO's tooling will enable more sustainable business models by facilitating a community-engagement platform where gaming enthusiasts can contribute to the organisation directly through their own skillset, like graphic design or video editing, while also voting on important changes within the organisation through membership perks.

## Guilds & Esports Orgs

Esports lacks a sustainable business model. Most esports organisations are funded by sponsorships and ad revenue, and when financial times are hard, these opportunities can dry up, resulting in many esports orgs going bust or having to merge with other organisations, losing their identity and values in the process.&#x20;

GameDAO is developing the [Battlepass](/applications/readme), a white-label Fan Engagement Platform to connect fans and drive engagement through gameified quests. Similarly for game creators and developers, our vision is to create more sustainable business models by integrating gamers into key decisions more closely and breaking down the barriers that block communication and innovation.&#x20;

We believe this Fan Engagement blueprint is an important development to achieve this for both esports organisations and fans around the world, offering an alternative revenue stream for esports organisations and rewarding their fans through digital and physical assets, discounts and more.

### **Esports Org Benefits**

1. New ways to directly connect with the fans and contributors of your organisation through a democratic DAO
2. Incentivise fans to engage through membership schemes,&#x20;
3. Create fan engagement through offering rewards and benefits like free merchandise or the ability to vote on important Guild decisions
4. Need graphic design work or a video editor? Reach the fans directly through bounties and gamified missions. Host competitions where people create content for you, and allow the community to vote on who should receive the prize.
5. Loyalty programs, further incentivising and rewarding users for consistent engagement with the DAO. Battlepass-like rewards system that could give them free digital assets, or even potentially a role within your organisation as a community manager or content creator
6. Use GameDAO's social graph function to visualise, track and analyse the data of your guild and its users. Who's involved, and what else they're looking at.

If you're an esports organisation interested in integrating and rewarding your fans, don't hesitate to contact us via twitter or discord in the #partnerships channel-we'd love to hear from you.

## Gamers

Gamers have struggled to have a say in games they care about-often being ignored by major development studios who favour the requests of their shareholders. GameDAO aims to change this by making gamers a shareholder of games they invest in through democratic and decentralised technology.&#x20;

Gamers can come to own and co-ordinate games in development while both incentivising contribution and rewarding them for their inputs into the lifecycle of games, or esports organisations they keep up with.

### Gamer Benefits

1. Provide direct and early feedback for games in development and esports guilds. Get rewarded for doing so.
2. Be heard and valued across an entire game's lifecycle, or as an esports fan.
3. Invest and crowdfund games through a secure, established process. Use fiat for an easy onramp.
4. Gain early access to beta test the games you invest in.&#x20;
5. Got a knack for social media? Complete bounties to aid game development companies or esports guilds. Potentially get hired or headhunted by the organisation.
6. Get your funds returned if a crowdfunding project doesn't go as planned-democratic voting via DAO tooling means increased safety and security.
7. Much more!


# Creators & Devs

If you're a game developer or a creator, here you can find out what the GameDAO platform brings to you

## Overview

For creators, GameDAO offers DAO tooling so that everyone from concept artists to sound engineers and backend game developers can create, organise and coordinate their own DAOs to achieve whatever goals they need.

## Game Developers

Game developers, especially indie developers, are faced with a hypercompetitive industry and often lack both marketing and fundraising expertise, making it more difficult to bring their ideas to life. For this reason, more and more game developers are beginning to use crowdfunding and alternative funding models, as well as implementing Free-to-Play models which carry high risks if their game underperforms at market.&#x20;

Game developers on GameDAO can create DAOs to fundraise from the community directly in a transparent way. Directly interacting with the community means there's a lessened need for marketing expertise, and the community of gamers can offer consistent feedback through simple channels, plus being able to do alpha and beta testing.&#x20;

Ultimately, GameDAO integrates the community into game development at every step of a game's lifecycle, with the aim of making game development a more sustainable and open industry for all.

<figure><img src="https://1511742772-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXlD4fZHAtSiDUCi0qHER%2Fuploads%2FkdDIf5BMQ9GYp9RLTOXf%2FGameDAO_LIFECYCLE-03.png?alt=media&amp;token=eb9ff109-264a-4135-ac68-adc3565bb615" alt=""><figcaption><p><strong>[IMAGE TO BE CHANGED]</strong></p></figcaption></figure>

### Creator & Developer Benefits

1. Marketing & Growth support: Bootstrap your community through GameDAO
2. Gain early and direct feedback from users - the people that will play your game or use your assets
3. Early feedback means early market-proof in a seamless way.
4. Credible support and funding using the community as investors
5. Tap into the community for post-launch support, new content, and ongoing development
6. Incentivise the player base through bug bounties and rewards for contributions
7. Offer users and gamers rewards in tradeable digital assets powered by GameDAO
8. Gamers feel more valued and more willing to contribute


# Investors & Publishers

GameDAO is also a place for investors and publishers to create DAOs and manage their treasuries, whether this is as a syndicate or a group. Vote democratically on where best to invest.

## Overview

The toolkit available on GameDAO can also be used by investors and publishers who want to create a decentralised organisation to allocate their capital and resources in a democratic, transparent way.&#x20;

This helps to build trust with potential clients and partners, as they can see the funds transparently, including what investments have been made, and view other details about the investment or publisher DAO all on the GameDAO platform.

## Investors

If you're an investment syndicate, GameDAO offers DAO tooling for you to collaborate and coordinate your investment portfolio-or VC brand-all through our native platform. Our suite of tools offers a way to democratically vote and coordinate your investments and decide on strategies, together, while gaining access to the market of game developers, asset creators, and publishers all in one place.

1. Create and manage your DAO so that your investment syndicate or group can be run in a democratic and transparent way&#x20;
2. Gain exposure to a wide market of users on the platform
3. Gain access to more experts and financing through the platform, meaning bigger ideas and a reduced risk&#x20;
4. Get supported by the community and easy proof-of-investment-thesis
5. Being on a transparent platform means the syndicate can become more recognisable as a brand and hence more trustworthy
6. Leverage this tooling to accelerate your networking and easily see new and exciting projects on the platform

## Publishers

GameDAO uses next-level technology to turn licenses into digital assets. This means increased ease-of-distribution, plus a broad exposure to a wide variety of developers building on the platform. For publishers, using GameDAO also gives the potential to become more recognisable to the wider market of gamers and game enthusiasts.

Publishers, like other groups, can make use of the platform's DAO tooling to coordinate their goals, reach the market directly, and grow their brand through next-level engagement mechanisms. GameDAO could offer a great place for publishers to connect with the next big game development studio, while streamlining the distribution process through innovative licensing technology.&#x20;


# Battlepass

Learn about our flagship project The Battlepass

<figure><img src="https://1511742772-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXlD4fZHAtSiDUCi0qHER%2Fuploads%2Frcoki6S0swDzo2eNs00g%2FCopy%20of%20random%20asset%20test%20(1).png?alt=media&amp;token=6c93e1e7-d961-4ed2-a796-2f0a6132c004" alt=""><figcaption></figcaption></figure>

## Introduction

Esports lacks a sustainable business model. GameDAO's decentralized application The Battlepass looks to change this, offering a next-level fan engagement platform.

The Battlepass is a white-label project built atop GameDAO. As a decentralized application (dApp), it enables esports organisations to incentivise and reward their fans while offering a new revenue stream.&#x20;

**Our vision is for this to provide an alternative revenue model and reward esports fanatics, building towards sustainability in esports.**

## Gamified Engagement

The Battlepass offers a gamified Quests and Rewards system to drive social media engagement and grow brand awareness. These quests might involve getting fans to engage on Discord, Twitter, or complete in-game tasks.&#x20;

Organisations will be able to customise the Battlepass to offer their own rewards and quests dependent on their needs.&#x20;

### Quests

Users will gain BattlePoints (BP) for completing these Quests. As they do, they level up. At certain intervals along the Battlepass, users will receive rewards. See more about that below.

Since the Battlepasses will be customisable, Quests will vary from org to org. You can expect Quests related to social media engagement, including:

* Post a meme in the org's Discord channel
* Reply with a hashtag to the Org's recent tweet
* Retweet the organisation's latest tweet

Later, Quests will also use in-game data to track progress across games like Fortnite. For example, some in-game quests might require users to land a certain amount of headshots or win a certain number of games to gain extra BP.&#x20;

### Rewards

Rewards obtained through the Battlepass range from digital to physical rewards, like merchandise or store coupons, and even special access to in-person events hosted by the organisation. Again, this is dependent on the organisation - they'll get to choose the rewards and tiers, customising their Battlepass to suit their needs.&#x20;

The Battlepass will later integrate with existing GameDAO functionalities, enabling esports organisations to coordinate democratically, bringing their brand closer to esports enthusiasts and professionals who support them through DAO-enabled voting.

###


# Investor Syndicates

Discover how GameDAO enables democratic Investor Syndicates

<figure><img src="https://1511742772-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXlD4fZHAtSiDUCi0qHER%2Fuploads%2FwIuLUh9BhsjL9MHjgsOj%2FCopy%20of%20random%20asset%20test.png?alt=media&amp;token=9e828320-5ee9-4427-9a8c-36085b04e230" alt=""><figcaption></figcaption></figure>

GameDAO aims to bring our DAO tooling to investor syndicates, meaning they can coordinate their decisions and investments in a democratic and decentralised way.

The key functionality for Investors will be increased transparency and verifiability of organisations and contributors, cross chain treasury compositions and more.

Through our [partnership with Multifarm.fi](https://blog.gamedao.co/gamedao-x-multifarm-fi-building-a-trove-of-treasuries-bd3c477f2c37), we’ll facilitate excellent treasury dashboards, featuring overviews, transparent inflows and outflows as well as DAO holdings, spanning across multiple chains. This should help to optimise the experience of Investors, allowing them to streamline investments and processes.

We hope this partnership helps us to deliver an excellent user experience, not just to investors making use of the Investor Syndicates dApp, but to all users of GameDAO.

**Through investor syndicate DAOs, we hope to achieve a few things:**

1. *Increased transparency and responsibility for investor syndicates. This means an increase in trust in the investors on the overall GameDAO protocol*
2. *Automate decision making: Through DAOs and smart contracts, allowing programmable decisions should help to improve the efficiency and cut costs of investor syndicates so they can maximise their investments in what matters*
3. *Connect investors and syndicates to the wider GameDAO ecosystem, giving them community curated dealflow and a deeper reach of gaming projects to invest into, all in one place.*


# The Storefront

Explore GameDAO's decentralized gaming marketplace, The Storefront

<figure><img src="https://1511742772-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXlD4fZHAtSiDUCi0qHER%2Fuploads%2FSdse0XKrFrIx0iJwma2j%2FCopy%20of%20random%20asset%20test%20(2).png?alt=media&amp;token=32b2bb79-043e-4607-be25-28169103a995" alt=""><figcaption></figcaption></figure>

GameDAO's third dApp is The Storefront, our proprietary game marketplace and distribution platform.

The Storefront will be a decentralised marketplace for purchasing, trading, lending and borrowing video games, in-game assets and everything in-between. By tying gaming licenses and digital assets to smart contracts, users will be able to buy and sell games using peer-to-peer technology—bridging the good old days of game trading into modernity through new technology.&#x20;

Not only does this enable the true ownership of digital video games, but a greater control over that ownership and what you do with it.&#x20;

Allowing gamers to resell their digital game licenses and assets will also create a complex economy and finally empower gamers to potentially profit from previously played games and pre-used assets.

We think this could also greatly benefit game publishers, as they can make use of the peer-to-peer technology to distribute games and assets in a seamless way, as well as making use of data analytics to see what works and who’s playing. This represents a potential new revenue method for gaming publishers through shared royalties from trading, too.

Eliminating the need for centralised game distribution platforms could also mean reduced fees–which is a win-win not just for gamers, but also for developers and publishers.


# The WASD Gaming Accelerator

We're building better games, together.

<figure><img src="https://1511742772-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXlD4fZHAtSiDUCi0qHER%2Fuploads%2F8qv6QRAlq0Ykd9k6sxv9%2FCopy%20of%20random%20asset%20test%20(3).png?alt=media&amp;token=3829effd-2a58-4e57-8b74-4917070c36dd" alt=""><figcaption></figcaption></figure>

GameDAO’s gaming accelerator, The WASD Fund, will support and mentor small game development companies to reach their true potential. Our vision is to use the WASD Fund as a way to give back to the community of game developers by offering them a new way to achieve funding and support, as well as guidance through the world of Web3 and beyond.

Through the WASD Fund, we hope to onboard many new games - both web2 and web3 - to the GameDAO ecosystem. This will allow them to leverage our community, make use of our DAO tooling to decentralise&#x20;

**The WASD Fund is currently in early stages, so expect to see more after Q2 2023.**


# Get Connected

To join GameDAO, you'll need a wallet, an account and $GAME tokens. This section will get you started.

## Overview

These are the steps required to use GameDAO:

1. Install the Polkadot{.js} wallet and create an account
2. Switch Polkadot{.js} to the ZERO network
3. Acquire some $GAME tokens

## 1. Get Polkadot{.js} wallet and create an account

{% hint style="info" %}
A digital wallet, much like a physical wallet, is used to keep your currencies and tokens safe and accessible. You need a wallet to acquire tokens and digital currencies, as well as to send, receive, and trade digital assets using decentralised technology.
{% endhint %}

GameDAO and ZERO Network operate on Polkadot. For this reason, you'll need a Polkadot wallet to get started.

Polkadot{.js} is available as a browser plugin for Firefox and Chrome. \
Download the plugin here: <https://polkadot.js.org/extension/>.

1. To make things easier, you can pin the extension to your taskbar:\
   ![](https://user-images.githubusercontent.com/91988132/145686170-9a7e0b7a-e8d6-41a9-a185-9e80efc45b14.png)

\
&#x20;2\. Click the Polkadot{.js} icon on the plugin bar of your browser.\
Read the info message and click “Understood, let me continue”\
You'll see the following:\
\
![](https://user-images.githubusercontent.com/91988132/145686694-fac91194-3539-4682-aaa5-c7d20228267b.png)<br>

3\. Click the "+" button in the middle or choose the small plus button on the top right and click “Create new account”.

A seed consisting of 12 random words will be created for you and displayed:\
\
![](https://user-images.githubusercontent.com/91988132/145686182-a7d1f5ab-ac8b-4f50-b083-51f55800c7ce.png)<br>

4\. These 12 words are your wallet's seed phrase, and they're very important. Make sure to back up these 12 words safely, secret and secure somewhere. We suggest you write them down on a piece of paper, or in a journal that you keep somewhere safe.

You can follow these steps to make sure you're on the right track: <https://wiki.polkadot.network/docs/learn-account-generation>.

If you can't access your Polkadot{.js} wallet for any reason, you can only recover your account with your 12-word seed phrase via “add account menu” by selecting “Import account from pre-existing seed”.

5\. Account Name & Password

* The account name is chosen by yourself. The password is used to encrypt your account information - just like with any other platform account. The password will always be requested when signing a transaction to keep your tokens secure.
* The password does not protect your seed phrase. If you give someone your 12 words seed, they will be able to access your wallet without knowing your password.
* **Never share your password or seed phrase**\
  \
  ![](https://user-images.githubusercontent.com/91988132/145686255-1a72e0bc-91e3-4d52-8bc8-a40aa5fa5224.png)

\
6\. Tick the checkbox “I have saved my mnemonic seed safely” and click the “Next step” button to see this view:\
\
![](https://user-images.githubusercontent.com/91988132/145686301-32a0eb2c-82e0-46c5-b320-4298f7209854.png)<br>

* Leave Network on “Allow use on any chain”.
* Add a descriptive name for your account (e.g. myWallet)
* Set a password and repeat the password.\
  \
  Congrats, your wallet is all set up!\
  Your wallet address works on any chain in the Polkadot ecosystem.

## 2. Switch Polkadot{.js} to ZERO test network

1. Go to <https://polkadot.js.org/apps>
2. Click on the top left icon (here Polkadot):\
   ![](https://user-images.githubusercontent.com/91988132/145686893-749b9c8d-1cd1-4c44-bc01-a06fbd5064aa.png)<br>
3. Select "TEST NETWORKS":\
   ![](https://user-images.githubusercontent.com/91988132/145686934-17cb4c7f-f7de-43d7-b08b-f0aa5a7f57d2.png)<br>
4. Scroll to the botton to find “Zero”:\
   ![](https://user-images.githubusercontent.com/91988132/145686952-74e7c581-c68d-446d-98ae-cee7cda5cc67.png)<br>
5. Select Zero Network and scroll back to the top and click the "Switch" button::\
   ![](https://user-images.githubusercontent.com/91988132/145687185-dcc98218-cb28-453d-841f-3c0334e2efc1.png)<br>
6. After Reload you should be connected to the Zero test network:\
   ![](https://user-images.githubusercontent.com/91988132/145687202-d8848349-3f64-4783-a34d-8d107c428ae7.png)<br>
7. Update Metadata to ensure you have the latest metadata by clicking Settings > Metadata > Update Metadata
8. Copy your new ZERO wallet address by navigating to Accounts > Accounts in the top navigation. In the content area you will find your wallet:\
   ![](https://user-images.githubusercontent.com/91988132/145687591-922d1745-8b5b-49b6-af1b-1e775e64dd1d.png)<br>
9. Click the wallet name (here “MYWALLET (EXTENSION)”). A popup opens on the top right displaying your ZERO wallet address (ZERO addresses start with a 3).
10. Select and copy this address as you will need it to obtain ZERO tokens.

## 3. Get some ZERO, GAME and PLAY tokens

So far GameDAO runs on the ZERO test network. This means to fully test all current and coming functionalities, you will need:

* ZERO token to cover network fees
* GAME token to access GameDAO protocols and take part in governance
* PLAY token as a stable payment means to send and receive payments

As this is an open testnet, there are still no monetary values being moved around, but using your account on the network may result in certain rewards and drops in the future, to appreciate you helping us in building a better protocol.

To get all of the above token, you may use the faucet integrated into our discord here:&#x20;

1. Join our Discord channel to obtain some ZERO tokens: <https://discord.gg/P7NHWGzJ7r>
2. Go to press start channel in ENTER GAMEDAO category: \
   ![](https://1511742772-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXlD4fZHAtSiDUCi0qHER%2Fuploads%2FOnZQLB57XJax26dE84gt%2Fimage.png?alt=media\&token=4bd5bae5-5beb-4cc1-aa43-d3240d40d9e6)
3. Click the moneybag icon :moneybag:to get the Web3 Weirdo role so that you can use the faucet:![](https://1511742772-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXlD4fZHAtSiDUCi0qHER%2Fuploads%2FFGX2g1FxkfGwB4WCpfUf%2Fimage.png?alt=media\&token=f6d8e660-130b-4168-abf2-dd83d8546ccb)
4. Find the faucet channel in the category ZERO NETWORK:\
   ![](https://1511742772-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXlD4fZHAtSiDUCi0qHER%2Fuploads%2FXATtnFTKoeUXIZl6Rt82%2Fimage.png?alt=media\&token=3af2f905-f79b-4b2a-a444-8451861c05d5)<br>
5. Enter in the chat the following statement:\
   `!loot get #your walletaddress#`\
   For this wallet in the example the statement to post in the faucet channel would be:\
   `!loot get 3aVbhhBLSyUVAgy4rzizaF7dY5ZXuVX8bQiDnyGmvzsvXCdi`\
   The faucet bot will send you 10 ZERO, 10 GAME, 10 PLAY.
6. Success, now you can interact with GameDAO :money\_with\_wings:.

{% hint style="info" %}
If you don’t know your wallet address follow the steps described in "Switch Polkadot{.js} to ZERO test network" to find out.
{% endhint %}


# From DAO to Campaign

This walkthrough will show you the essential steps to creating a successful fundraising campaign on GameDAO

## The Basics

First, you'll need to create a DAO to get organised with your collaborators and community. Whether you're setting up a guild, a working group for your project team or want to interact with hundreds of community members and contributors, a DAO will be the tool you need.

## 1. Create a Wallet and Claim an Identity

Set up your polkadot.js wallet and obtain some ZERO token from the faucet bot in our Discord Channel as described in [previous chapter](broken://pages/uvEAfK41E1WCHUi8dEwI) and set an on-chain identity like this:

1. go to <https://polkadot.js.org/apps/#/accounts> and select an account from below and find the three dots on the right:\
   ![](https://1511742772-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXlD4fZHAtSiDUCi0qHER%2Fuploads%2FDimfSMh9FiO9OCTYac7b%2Fimage.png?alt=media\&token=93bdfe63-55d9-4279-899d-7b7d1d64269d)
2. click "Set on-chain identity":\
   ![](https://1511742772-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXlD4fZHAtSiDUCi0qHER%2Fuploads%2FInf3AelElGCvkrJ4xBRP%2Fimage.png?alt=media\&token=6cb821aa-ca9b-4b9f-bc51-9c94d50b9bc8)<br>
3. fill some details like display name and email or twitter:\ <img src="https://1511742772-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXlD4fZHAtSiDUCi0qHER%2Fuploads%2FyalRGZ02Q2si9N7IU2yC%2Fimage.png?alt=media&amp;token=edc26abf-825a-4240-9f3f-7b2277b31d52" alt="" data-size="original">
4. Click Set Identity in the bottom right
5. Sign the transaction by clicking "Sign & Submit" and entering your wallet password.
6. If it did not work, make sure you have some ZERO amount on your wallet.

## 2. Creating an Organisation

Now its time to create your first DAO.

1. Go to <https://beta.gamedao.co/> and enter the app
2. Connect your wallet on the top right connect button
3. Click  on Organisations on the left navigation to get to the Organisations List Page
4. Click the "New DAO" button
5. Enter organization name and provide an email address
6. Upload some nice free to use images representing the DAO you are setting up
7. &#x20;Write a short description about the purpose of the Organisation
8. add a website and a code repository if you have some related to your Organisation
9. **IMPORTANT**: The Controller Account address needs to be a wallet address in ZERO format. The holder of the Controller Account address is the admin of the DAO. You can use your current address (eg. copy by clicking the heart icon next to your wallet on the top right) and paste it into the form
10. **IMPORTANT**: The Treasury Account address also needs to be a wallet address in ZERO format. The Treasury Account address is the address receiving funds from fundraising campaigns and fees. This address may not be the same address as the Controller Account address. Therefore you will need a second address to setup your Organisation. \
    If you do not have a second address you can create one in your polkadot.js browser plugin repeating the steps in[ Install Polkadot wallet and create an Account](broken://pages/uvEAfK41E1WCHUi8dEwI).  Add your second address into the Treasury Account address field<br>

    <div data-gb-custom-block data-tag="hint" data-style="warning" class="hint hint-warning"><p><strong>Treasury Account:</strong> The treasury account on the current version of our test platform is just an address which is owned by an individual. In a later version each DAO / Organisation will have a treasury which is owned and governed by the DAO / Organisation itself. The current version does not reflect this yet. </p></div>
11. Choose how do you want to control member access by selecting&#x20;
    1. Open (everyone can join until member limit is reached)
    2. Invitation (members need to be on a whitelist to enter the Organisation) (*<mark style="color:purple;">coming soon</mark>*)
    3. Proposal (users need to apply to become a member and existing users can accept or decline through voting) (*<mark style="color:purple;">coming soon</mark>*)
12. select a Fee Model
    1. no fees (free entry)
    2. reserve (members need to lock the amount of token configured in Membership Fee)
    3. transfer (the Membership Fee is transferred to the Organisation Treasury account address  on entry)
13. Add a Membership Fee (ZERO) which will apply for "reserve" or "transfer" Fee Models
14. Click Create Organisation and sign the transaction
15. Your DAO is created <br>

## 3. Creating a Campaign

Raise a campaign to receive funds from your community.

1. Click on Campaigns in the left navigation

2. Click "+New Campaign" and start filling the form by

3. selecting your Organisation from the Organisation select box

4. Give your fundraising campaign a campaign name

5. Add a description  (will be shown on the Campaigns List Page)

6. Add a Logo  (will be shown on the Campaigns List Page and on top of the header for your Campaign Detail Page)

7. Add a Header Image (will be shown on the Campaigns Detail Page)

8. Add a Content Description and images using the markdown editor (be creative and design your campaign page) (<mark style="color:purple;">a better editor is coming soon</mark>)

9. Add a public representative to be transparent to your community

10. Keep the address or replace the address for the Admin Account&#x20;

11. Select Prepaid as Protocol (<mark style="color:purple;">others coming soon</mark>)

12. Select a suitable category for the usage of the funds

13. Deposit: Add an amount you are willing to deposit to show the community how much you are willing to lock up for the runtime of the campaign  (<mark style="color:purple;">on beta.gamedao.co so far only ZERO tokens are used</mark>)&#x20;

    <div data-gb-custom-block data-tag="hint" data-style="warning" class="hint hint-warning"><p><strong>DAO Treasury must hold enough funds:</strong> As the campaign deposit is paid from the treasury, you need to make sure to have enough funds in the treasury. You can get tokens from the faucet here:  <a href="https://discord.gg/P7NHWGzJ7r">https://discord.gg/P7NHWGzJ7r</a></p></div>

14. Funding Target: Add the amount you want to raise (<mark style="color:purple;">on beta.gamedao.co so far only ZERO tokens are used but later stable coins will be used to raise funds</mark>) and make sure the target is not too high for a test (eg. 1-5 ZERO or so)

15. Select a campaign duration (you can choose 20min, 1h or 2h to run a quick test, but make sure you can fund it with your test tokens during this time or ask around in the discord community if someone can fund some tokens into your campaign)

16. check the checkboxes below and click Create Campaign

17. Sign and submit the transaction and have a look on your fundraising campaign

## 4. Funding the campaign

1. Go to the campaign list page by clicking in the left navigation bar on "Campaigns"
2. find your campaign and enter a value into the input field. You cannot fund the campaign with the same wallet account which was used to create the campaign.
3. Ask your community to fund into your campaign before the runtime is over.&#x20;

{% hint style="info" %}
**Good to know:** The campaign can be funded directly from the Campaign List Page. When your campaign is successfully funded create a withdrawal proposal to access the funds.\
Go on here: [Fundraising Withdrawal Proposal](broken://pages/ugq3Qf4DqirOcNwVucSg)
{% endhint %}


# Withdrawal Proposals

Your ideas and creations deserve support and visibility. This page gives you a quick rundown of how to create a withdrawal proposal for a DAO on the platform.

Had a successful fundraising campaign? Here's how to create a Withdrawal Proposals.&#x20;

&#x20;Click on **Voting** in the left navigation to jump to <https://beta.gamedao.co/app/governance>

1. Click "+ New Proposal" on the top right to see the proposal form.
2. Select the Organisation the funded campaign belongs to
3. Select as "Withdrawal" from the Proposal Type select box to trigger the Campaign select box
4. Select your funded campaign&#x20;
5. Give your proposal a title and a good description. Let everyone know what they are voting for.&#x20;
6. Select as Voting Type "Simple Majority"
7. For testing purposes you can select in the Duration select box "20 Minutes" so you dont wait too long for the voting period to end. Select another period if you want.&#x20;
8. enter the amount you want the transfer to the Organisation Treasury Account.
9. You can leave the Beneficiary Account empty (<mark style="color:purple;">coming soon</mark>) &#x20;
10. Click Publish Proposal and sign and submit your transaction
11. The voting is immediately active. Eligible voters are Organisation members and campaign contributors.

    <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>If the majority of eligible voters voted YES the funds will be transferred to the Organisation Treasury Account. When majority is reached the voting is over. </p></div>

{% hint style="info" %}
**Good to know:** depending on the product you're building, it can be useful to explicitly document use cases. Got a product that can be used by a bunch of people in different ways? Maybe consider splitting it out!
{% endhint %}


# Realms

If you're a game developer using ZERO Network or making use of GameDAO's platform, you'll have access to Realms.

These are simple mechanisms to qualify your projects and cluster them into segments. On ZERO, you'll be able to manage aspects and analytics of your game.&#x20;

On GameDAO, similar to a namespace, your **Realms** will provide information about your **DAO** and assets belonging to it, allowing you to easily manage and visualise data relating to your campaign or organisation.

Realms are divided into two categories, Open and Discover

### Open

Any creator can deploy a project to be listed in the open category. By nature, projects in the open category can deliver a wide variety of qualities.

### Discover

Projects in the discover category are handpicked by the community through a curation process: They qualify for direct support by the GameDAO Treasury, Launch Support and listing in the Storefront.


# ÆX-1 Esports

Read all about our partnership with ÆX-1, previously SPARX Esports.

<figure><img src="https://1511742772-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXlD4fZHAtSiDUCi0qHER%2Fuploads%2Ft7fg29EfxcHfp1F861wF%2FAEX-1_Logo_Square_Orange%20(1).png?alt=media&amp;token=5fc987f9-f278-486d-b371-cd847a6e67cb" alt=""><figcaption></figcaption></figure>

[**ÆX-1**](https://twitter.com/AEX1official) is a top Swiss esports organisation with teams across multiple games. Their goal is to become a widely recognised esports organisation, expanding into Europe and competing at the highest level.&#x20;

They’ve been developing innovative campaigns with partners by exploring new technologies, especially in Web3 and AR/VR.&#x20;

ÆX-1 has a strong network of players across *Counter-Strike* and *Valorant,* with a solid roster of content creators entertaining thousands of fans.

GameDAO will work together with SPARX as their main team partner, utilising new technology to create innovative and new ways to integrate esports fans into the organisation.&#x20;

Namely, GameDAO will lend its DAO tooling to SPARX Esports to create a fan engagement platform. This will incentivise fans to engage through Discord and Twitter, while rewarding them in physical and digital assets for their engagement.&#x20;


# WAVE Esports

Read all about our exciting partnership with WAVE Esports to transform the esports industry

## Making Waves

<figure><img src="https://1511742772-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXlD4fZHAtSiDUCi0qHER%2Fuploads%2FXiSrQWKjWMLzIRCqhFuP%2Fwave.png?alt=media&amp;token=adac1fe9-8c69-47d3-95d2-7ce4251e1282" alt=""><figcaption><p>WAVE Esports</p></figcaption></figure>

Founded in July 2019, WAVE has already become one of the biggest esports organisations in Europe. With more than 7m followers across their social media, they've quickly grown to be one of the leading lifestyle and esports brands in the DACH region and beyond. WAVE have a world-class professional Fortnite team and have recently branched out into *Riot Games'* tactical shooter, Valorant.

We'll be working together with WAVE to create an esports engagement platform through using our platform's DAO tooling. WAVE Guild will be structured as a DAO and will provide fans new modes of interaction, rewards and incentives while allowing them to engage with the organisation directly through the platform, all available on GameDAO.&#x20;

*"We want to offer our community opportunities to be directly involved and create new outlets for fan engagement." - Cris Mendez, founder of WAVE Esports.*

This platform will be used as a blueprint to provide the engagement platform to future esports organisations to help them build more sustainable business models, engage their fans, and reach their true potential.

The initial step with the partnership will be the development of a 'battlepass' prototype that will reward fans for their interactions-with both free and premium versions, the battlepass reward system will ensure that all fans are rewarded no matter what.


# XP Fantasy

## Elite XP

XP Fantasy has developed a platform, [**Elite XP**](http://elitexp.io/)**,** which is an esports platform that will reward gamers with digital currencies based on their in-game performance in popular games, including massive titles like Fortnite, Dota 2, and more. On this platform, casual gamers can play, compete and earn rewards based on their in-game performance in across top tier titles like League of Legends, DOTA 2, Fortnite and more.

A multifaceted partnership between **GameDAO** and **Elite XP** will create new opportunities for collaborative business development, DAO structuring and system interoperability. We hope the partnership also serves to combine our communities, connecting gamers together across boundaries. Similarly to other partnerships, we'll provide DAO structuring to XP Fantasy to allow users to coordinate and pass votes related to XP Fantasy's platforms, all on GameDAO.


# Multifarm.fi

We've joined up with Multifarm.fi to build the best treasury dashboards for the best user experience.

<figure><img src="https://miro.medium.com/max/630/0*A6pnpTSvnT75IXxQ" alt=""><figcaption></figcaption></figure>

We are thrilled to announce a strategic partnership with [multifarm.fi](https://www.multifarm.fi/), in a push to deliver the best experience to our future users through elegant and customisable dashboards available on our protocol.

User experience is an often-underlooked aspect of building transparent and decentralised platforms. Both GameDAO and Multifarm.fi realise this, and we are equally dedicated to delivering the most frictionless experience possible.

## **GameDAO’s Dashboards** <a href="#eff2" id="eff2"></a>

GameDAO’s dashboards will feature several sections: **Overview, Campaigns, Voting, Members, Treasury** and lastly **Settings**. We’ll be talking more about these later, but most importantly here is the **Treasury**.

Visualised below, the **Treasury** section of a DAO is itself divided into three metrics: the **Overview**, the **Inflows & Outflows,** and **Reports**.

On viewing a DAO and clicking the Treasury button, users are immediately met with a clean visualisation of the treasury’s holdings through the **Overview**. Here, you can view treasury growth, balance, etc. As standard, users will also be able to select the timeframe, from 24h, up to the entire duration of the DAO’s history.

Here’s a sneak peek at our planned dashboards for DAO treasuries operating on GameDAO.

<figure><img src="https://miro.medium.com/max/630/0*uCbSMano7Yv9Zv7c" alt=""><figcaption><p>A prototype of our planned treasury dashboards, featuring balance &#x26; growth metrics</p></figcaption></figure>

Below the total balance and treasury growth metrics, users can also see all assets held by the Treasury. At first, it shows the four biggest holdings, which can be expanded by selecting ‘Show all amounts’. We’ll also be providing visualisations for these, allowing users to easily see treasury allocations and which blockchain they belong to through multi-chain solutions.

<figure><img src="https://miro.medium.com/max/630/0*L0UyTQPDB5Xqnw7A" alt=""><figcaption><p>Assets held by a given treasury, even across multiple chains</p></figcaption></figure>

Perhaps one of the most important things to offer for users in terms of security and transparency is the transaction history, which can be viewed in **Inflows & Outflows**. This will be especially useful for users crowdfunding games or contributing to creator guilds on the GameDAO protocol, enabling them to make the best-informed decisions.

Users will be able to view recent activity and transactions below the listed assets held, through both income and outflow panels:

<figure><img src="https://miro.medium.com/max/630/0*68LSMjJO16Hnd0N2" alt=""><figcaption><p>Transaction history, showing income &#x26; outflows</p></figcaption></figure>

Additionally, the dashboards will feature clean, ‘donut’-style visualisations of revenue and expense breakdowns for cleaner and easier understanding.

Lastly, under **Reports,** DAOs can list recent news, from milestones achieved to monthly treasury reports. As part of being funded on GameDAO, certain creator DAOs will be required to provide updates on milestones reached.

**Reports** is the place for DAOs and Guilds to update their contributors in the most transparent and co-operative manner. It’s also a great place to share important announcements related to the DAO or treasury specifically.

## **About Multifarm: Dashboards for DAOs** <a href="#id-68c2" id="id-68c2"></a>

Multifarm has partnered with more than 20 DAOs and protocols–from blockchain Polygon to web3 gaming DAO Paragon–all to build custom dashboards and analytics solutions. Currently, their dashboards and tools serve a total of over 300,000 monthly active users. Multifarm has previously partnered with some of the most complex DAOs, making them a great fit with GameDAO.

As part of the partnership, GameDAO will be providing data from our underlying blockchain, [Zero Network](http://zero.io/), to Multifarm.fi. And, as the first Kusama/Polkadot project under their advice, we’ll also open the way for them into the Polkadot system, expanding their reach into the innovative new space.

Read more [here.](https://medium.com/gamedao/gamedao-x-multifarm-fi-building-a-trove-of-treasuries-bd3c477f2c37)


# Developer Documentation

This is GameDAO's developer documentation. It contains technical information about the GameDAO protocol and its pallets: Control, Flow, Sense and Signal.


# Extrinsics

The following sections contain Extrinsics methods are part of the default runtime. On the api, these are exposed via `api.tx.<module>.<method>`.

* [**Control**](#control)
* [**Flow**](#flow)
* [**Sense**](#sense)
* [**Signal**](#signal)

### Control

#### create\_org(name: `String`, cid: `String`, org\_type: `OrgType`, access\_model: `AccessModel`, fee\_model: `FeeModel`, member\_limit: `Option<MemberLimit>`, membership\_fee: `Option<Balance>`, gov\_currency: `Option<CurrencyId>`, pay\_currency: `Option<CurrencyId>`, deposit: `Option<Balance>`)

* **interface**: `api.tx.control.create_org`
* **summary**: Create an on chain organization

  * `name`: org name.
  * `cid`: ipfs content identifier.
  * `org_type`: individual | company | dao | hybrid.
  * `access_model`:
  * `fee_model`:
  * `member_limit`: max members. default: maxmembers.
  * `membership_fee`:
  * `gov_currency`:
  * `pay_currency`:
  * `deposit`: initial deposit for the org treasury (in protocol tokens).

  Emits `OrgCreated` event when successful.

  Weight: `O(1)`

#### update\_org(org\_id: `Hash`, prime\_id: `Option<AccountId>`, org\_type: `Option<OrgType>`, access\_model: `Option<AccessModel>`, member\_limit: `Option<MemberLimit>`, fee\_model: `Option<FeeModel>`, membership\_fee: `Option<Balance>`)

* **interface**: `api.tx.control.update_org`
* **summary**: Update Org

  Allowed origins: Root or prime if OrgType::Individual

  * `org_id`: org hash.
  * `prime_id`: new prime id.
  * `org_type`:
  * `access_model`: new access model.
  * `member_limit`: new member limit.
  * `fee_model`: new fee model.
  * `membership_fee`: new membership fee.

  Emits `OrgUpdated` event when successful.

  Weight: `O(1)`

#### enable\_org(org\_id: `Hash`)

* **interface**: `api.tx.control.enable_org`
* **summary**: Enable Org

  Enables an Org to be used and changes it's state to Active. Allowed origins: Root or prime if OrgType::Individual

  * `org_id`: org hash.

  Emits `OrgEnabled` event when successful.

  Weight: `O(1)`

#### disable\_org(org\_id: `Hash`)

* **interface**: `api.tx.control.disable_org`
* **summary**: Disable Org

  Disables an Org to be used and changes it's state to Inactive. Allowed origins: Root or prime if OrgType::Individual

  * `org_id`: org hash.

  Emits `OrgDisabled` event when successful.

  Weight: `O(1)`

#### add\_member(org\_id: `Hash`, who: `AccountId`)

* **interface**: `api.tx.control.add_member`
* **summary**: Add Member to Org

  Allowed origins: Root or prime if OrgType::Individual

  * `org_id`: org id.
  * `who`: account to be added.

  Emits `MemberAdded` event when successful.

  Weight: `O(log n)`

#### remove\_member(org\_id: `Hash`, who: `AccountId`)

* **interface**: `api.tx.control.remove_member`
* **summary**: Remove member from Org

  Allowed origins: Root or prime if OrgType::Individual

  * `org_id`: org id.
  * `who`: account to be removed.

  Emits `MemberRemoved` event when successful.

  Weight: `O(log n)`

#### spend\_funds(org\_id: `Hash`, currency\_id: `CurrencyId`, beneficiary: `AccountId`, amount: `Balance`)

* **interface**: `api.tx.control.spend_funds`
* **summary**: Make spending from the org treasury

  Allowed origins: Root or prime if OrgType::Individual

  * `org_id`: org id.
  * `currency_id`: currency to be spent.
  * `beneficiary`: receiver account.
  * `amount`: amount to be spent.

  Emits `FundsSpended` event when successful.

  Weight: `O(1)`

***

### Flow

#### create\_campaign(org\_id: `Hash`, admin\_id: `AccountId`, name: `BoundedVec<u8, StringLimit>`, target: `Balance`, deposit: `Balance`, expiry: `BlockNumber`, protocol: `FlowProtocol`, governance: `FlowGovernance`, cid: `BoundedVec<u8, StringLimit>`, start: `Option<BlockNumber>`, token\_symbol: `Option<BoundedVec<u8, StringLimit>>`, token\_name: `Option<BoundedVec<u8, StringLimit>>`)

* **interface**: `api.tx.flow.create_campaign`
* **summary**:

#### contribute(campaign\_id: `Hash`, contribution: `Balance`)

* **interface**: `api.tx.flow.contribute`
* **summary**: Contribute to project

  * `campaign_id`:
  * `contribution`:

  Emits `CampaignContributed` event when successful.

  Weight: O(1)

***

### Sense

#### create\_entity(account\_id: `AccountId`, cid: `BoundedVec<u8, StringLimit>`)

* **interface**: `api.tx.sense.create_entity`
* **summary**: Create a Sense Entity for the account.

  * `account_id`: account id.
  * `cid`: ipfs content identifier.

  Emits `EntityCreated` event when successful.

  Weight: `O(1)`

#### update\_property(account\_id: `AccountId`, property\_type: `PropertyType`, value: `u8`)

* **interface**: `api.tx.sense.update_property`
* **summary**: Modifies a property of the account.

  * `account_id`: account id.
  * `property_type`: property type (experience, reputation, trust).
  * `value`: value to be incremented to property.

  Emits `PropertyUpdated` event when successful.

  Weight: `O(1)`

***

### Signal

#### proposal(proposal\_type: `ProposalType`, org\_id: `Hash`, title: `BoundedVec<u8, StringLimit>`, cid: `BoundedVec<u8, StringLimit>`, expiry: `BlockNumber`, majority: `Majority`, unit: `Unit`, scale: `Scale`, start: `Option<BlockNumber>`, quorum: `Option<Permill>`, deposit: `Option<Balance>`, campaign\_id: `Option<Hash>`, amount: `Option<Balance>`, beneficiary: `Option<AccountId>`, currency\_id: `Option<CurrencyId>`)

* **interface**: `api.tx.signal.proposal`
* **summary**:

#### vote(proposal\_id: `Hash`, approve: `bool`, deposit: `Option<Balance>`)

* **interface**: `api.tx.signal.vote`
* **summary**:


# Storage

The following sections contain Storage methods are part of the default runtime. On the api, these are exposed via `api.query.<module>.<method>`.

* [**control**](#control)
* [**flow**](#flow)
* [**sense**](#sense)
* [**signal**](#signal)

***

### control

#### Orgs(`Hash`): `Org`

* **interface**: `api.query.control.Orgs`
* **summary**: Org by its id.

#### OrgStates(`Hash`): `OrgState`

* **interface**: `api.query.control.OrgStates`
* **summary**: Org state (Inactive | Active | Locked) by org id.

#### Members(`Hash`): `BoundedVec<AccountId>`

* **interface**: `api.query.control.Members`
* **summary**: Org members list by org id.

#### OrgMemberCount(`Hash`): `MemberLimit`

* **interface**: `api.query.control.OrgMemberCount`
* **summary**: Org members count by org id.

#### MemberStates(`(Hash, AccountId)`): `MemberState`

* **interface**: `api.query.control.MemberStates`
* **summary**: Member state (Inactive | Active ...) by org Hash and member account.

#### OrgTreasury(`Hash`): `AccountId`

* **interface**: `api.query.control.OrgTreasury`
* **summary**: Treasury account of an Org.

#### OrgCount: `u32`

* **interface**: `api.query.control.OrgCount`
* **summary**:

***

### flow

#### CampaignOf(`Hash`): `Campaign`

* **interface**: `api.query.flow.CampaignOf`
* **summary**: Campaign by its id.

#### CampaignCount: `u32`

* **interface**: `api.query.flow.CampaignCount`
* **summary**: Total number of campaigns. CampaignCount: u32.

#### CampaignBalance(`Hash`): `Balance`

* **interface**: `api.query.flow.CampaignBalance`
* **summary**: Total contributions balance per campaign.

#### CampaignContribution(`(Hash, AccountId)`): `Balance`

* **interface**: `api.query.flow.CampaignContribution`
* **summary**: Total contribution made by account id for particular campaign. campaign id, account id -> contribution.

#### CampaignStates(`Hash`): `CampaignState`

* **interface**: `api.query.flow.CampaignStates`
* **summary**: Campaign state by campaign id. 0 created, 1 activated, 2 paused, ...

#### CampaignsByBlock(`(BlockType, BlockNumber)`): `BoundedVec<Hash>`

* **interface**: `api.query.flow.CampaignsByBlock`
* **summary**: Campaigns starting/ending in block x.

#### CampaignFinalizationQueue(`Hash`): `(Campaign, Balance, CampaignState, AccountId, Contributors)`

* **interface**: `api.query.flow.CampaignFinalizationQueue`
* **summary**:

#### ProcessingOffset(`Hash`): `u32`

* **interface**: `api.query.flow.ProcessingOffset`
* **summary**: Offset value - number of processed and sucessfully finalized contributions. Used during campaign finalization for processing contributors in batches. When MaxContributorsProcessing is achieved, set this offset to save the progress.

#### CampaignContributorsCount(`Hash`): `u64`

* **interface**: `api.query.flow.CampaignContributorsCount`
* **summary**: Total number of contributors for particular campaign. This is needed for voting in order do determine eligible voters for Withdrawal proposal.

***

### sense

#### Entities(`AccountId`): `Entity<AccountId>`

* **interface**: `api.query.sense.Entities`
* **summary**: Sense Entity of the account.

#### EntityCount: `u128`

* **interface**: `api.query.sense.EntityCount`
* **summary**: EntityCount. Increase per each entity creation. EntityCount: u128.

#### Properties(`(PropertyType, AccountId)`): `EntityProperty<BlockNumber>`

* **interface**: `api.query.sense.Properties`
* **summary**: All properties of the account.

***

### signal

#### ProposalOf(`Hash`): `Proposal`

* **interface**: `api.query.signal.ProposalOf`
* **summary**: Proposal by its hash (id).

#### ProposalStates(`Hash`): `ProposalState`

* **interface**: `api.query.signal.ProposalStates`
* **summary**: Proposal's state: Created | Activated | Accepted | Rejected | Expired | Aborted | Finalized.

#### ProposalsByBlock(`(BlockType, BlockNumber)`): `BoundedVec<Hash>`

* **interface**: `api.query.signal.ProposalsByBlock`
* **summary**: Proposals ending in a block.

#### ProposalCount: `ProposalIndex`

* **interface**: `api.query.signal.ProposalCount`
* **summary**:

#### ProposalVoting(`Hash`): `Voting`

* **interface**: `api.query.signal.ProposalVoting`
* **summary**:

#### CampaignBalanceUsed(`Hash`): `Balance`

* **interface**: `api.query.signal.CampaignBalanceUsed`
* **summary**: The amount of currency that a project has used.


# Events

Events are emitted for certain operations on the runtime. The following sections describe the events that are part of the default runtime.

* [**control**](#control)
* [**flow**](#flow)
* [**sense**](#sense)
* [**signal**](#signal)

***

### control

#### OrgCreated(org\_id: `Hash`, creator: `AccountId`, treasury\_id: `AccountId`, created\_at: `BlockNumber`, realm\_index: `u64`)

* **interface**: `api.events.control.OrgCreated.is`
* **summary**: Org was successfully created.

#### OrgEnabled(`Hash`)

* **interface**: `api.events.control.OrgEnabled.is`
* **summary**: Org was enabled and it's state become Active.

#### OrgDisabled(`Hash`)

* **interface**: `api.events.control.OrgDisabled.is`
* **summary**: Org was disabled and it's state become Inactive.

#### MemberAdded(org\_id: `Hash`, who: `AccountId`, block\_number: `BlockNumber`)

* **interface**: `api.events.control.MemberAdded.is`
* **summary**: A member has been added to the Org.

#### MemberRemoved(org\_id: `Hash`, who: `AccountId`, block\_number: `BlockNumber`)

* **interface**: `api.events.control.MemberRemoved.is`
* **summary**: A member has been removed from the Org.

#### OrgUpdated(org\_id: `Hash`, prime\_id: `Option<AccountId>`, org\_type: `Option<OrgType>`, access\_model: `Option<AccessModel>`, member\_limit: `Option<MemberLimit>`, fee\_model: `Option<FeeModel>`, membership\_fee: `Option<Balance>`, block\_number: `BlockNumber`)

* **interface**: `api.events.control.OrgUpdated.is`
* **summary**:

#### FundsSpended(org\_id: `Hash`, beneficiary: `AccountId`, amount: `Balance`, currency\_id: `CurrencyId`, block\_number: `BlockNumber`)

* **interface**: `api.events.control.FundsSpended.is`
* **summary**:

***

### flow

#### Created(campaign\_id: `Hash`, creator: `AccountId`, admin: `AccountId`, target: `Balance`, deposit: `Balance`, expiry: `BlockNumber`, name: `BoundedVec<u8, StringLimit>`)

* **interface**: `api.events.flow.Created.is`
* **summary**: Campaign was successfully created.

#### Activated(campaign\_id: `Hash`)

* **interface**: `api.events.flow.Activated.is`
* **summary**:

#### Contributed(campaign\_id: `Hash`, sender: `AccountId`, contribution: `Balance`, block\_number: `BlockNumber`)

* **interface**: `api.events.flow.Contributed.is`
* **summary**: Campaign was contributed.

#### Succeeded(campaign\_id: `Hash`, campaign\_balance: `Balance`, block\_number: `BlockNumber`)

* **interface**: `api.events.flow.Succeeded.is`
* **summary**: Campaign was finalized.

#### Failed(campaign\_id: `Hash`, campaign\_balance: `Balance`, block\_number: `BlockNumber`)

* **interface**: `api.events.flow.Failed.is`
* **summary**: Campaign failed - successfully reverted.

***

### sense

#### EntityCreated(account\_id: `AccountId`, block\_number: `BlockNumber`)

* **interface**: `api.events.sense.EntityCreated.is`
* **summary**: New Sense Entity was created.

#### PropertyUpdated(property\_type: `PropertyType`, account\_id: `AccountId`, block\_number: `BlockNumber`)

* **interface**: `api.events.sense.PropertyUpdated.is`
* **summary**: Property was updated.

***

### signal

#### Voted(account: `AccountId`, proposal\_id: `Hash`, voted: `bool`, yes: `VotingPower`, no: `VotingPower`, vote\_power: `VotingPower`)

* **interface**: `api.events.signal.Voted.is`
* **summary**:

#### Created(account: `AccountId`, proposal\_id: `Hash`, org\_id: `Hash`, campaign\_id: `Option<Hash>`, amount: `Option<Balance>`, start: `BlockNumber`, expiry: `BlockNumber`)

* **interface**: `api.events.signal.Created.is`
* **summary**:

#### Activated(proposal\_id: `Hash`)

* **interface**: `api.events.signal.Activated.is`
* **summary**:

#### Accepted(proposal\_id: `Hash`)

* **interface**: `api.events.signal.Accepted.is`
* **summary**:

#### Rejected(proposal\_id: `Hash`)

* **interface**: `api.events.signal.Rejected.is`
* **summary**:

#### Expired(proposal\_id: `Hash`)

* **interface**: `api.events.signal.Expired.is`
* **summary**:

#### Aborted(proposal\_id: `Hash`)

* **interface**: `api.events.signal.Aborted.is`
* **summary**:

#### Finalized(proposal\_id: `Hash`)

* **interface**: `api.events.signal.Finalized.is`
* **summary**:


# Errors

This page lists the errors that can be encountered in the different modules.

* [**control**](#control)
* [**flow**](#flow)
* [**sense**](#sense)
* [**signal**](#signal)

***

### control

#### AuthorizationError

* **interface**: `api.errors.control.AuthorizationError.is`
* **summary**:

#### OrganizationExists

* **interface**: `api.errors.control.OrganizationExists.is`
* **summary**: Org Exists.

#### OrganizationUnknown

* **interface**: `api.errors.control.OrganizationUnknown.is`
* **summary**: Org Unknown.

#### BalanceLow

* **interface**: `api.errors.control.BalanceLow.is`
* **summary**: Insufficient Balance to create Org.

#### MembershipLimitReached

* **interface**: `api.errors.control.MembershipLimitReached.is`
* **summary**: Membership Limit Reached.

#### AlreadyMember

* **interface**: `api.errors.control.AlreadyMember.is`
* **summary**: Member Exists.

#### NotMember

* **interface**: `api.errors.control.NotMember.is`
* **summary**: Member Unknown.

#### NoChangesProvided

* **interface**: `api.errors.control.NoChangesProvided.is`
* **summary**:

#### TreasuryExists

* **interface**: `api.errors.control.TreasuryExists.is`
* **summary**: Treasury account already exists.

#### TreasuryUnknown

* **interface**: `api.errors.control.TreasuryUnknown.is`
* **summary**: Treasury account does not exists.

#### MinimumDepositTooLow

* **interface**: `api.errors.control.MinimumDepositTooLow.is`
* **summary**: Minimum deposit to Treasury too low.

#### MissingParameter

* **interface**: `api.errors.control.MissingParameter.is`
* **summary**:

#### WrongOrganizationType

* **interface**: `api.errors.control.WrongOrganizationType.is`
* **summary**:

***

### flow

#### AuthorizationError

* **interface**: `api.errors.flow.AuthorizationError.is`
* **summary**:

#### BalanceLow

* **interface**: `api.errors.flow.BalanceLow.is`
* **summary**:

#### CampaignExpired

* **interface**: `api.errors.flow.CampaignExpired.is`
* **summary**:

#### CampaignsPerBlockExceeded

* **interface**: `api.errors.flow.CampaignsPerBlockExceeded.is`
* **summary**:

#### CampaignUnknown

* **interface**: `api.errors.flow.CampaignUnknown.is`
* **summary**:

#### ContributionInsufficient

* **interface**: `api.errors.flow.ContributionInsufficient.is`
* **summary**:

#### DepositInsufficient

* **interface**: `api.errors.flow.DepositInsufficient.is`
* **summary**:

#### DepositTooHigh

* **interface**: `api.errors.flow.DepositTooHigh.is`
* **summary**: Deposit exceeds the campaign target.

#### NameTooShort

* **interface**: `api.errors.flow.NameTooShort.is`
* **summary**:

#### NoContributionsAllowed

* **interface**: `api.errors.flow.NoContributionsAllowed.is`
* **summary**:

#### NoContributionToOwnCampaign

* **interface**: `api.errors.flow.NoContributionToOwnCampaign.is`
* **summary**:

#### OrgPrimeUnknown

* **interface**: `api.errors.flow.OrgPrimeUnknown.is`
* **summary**:

#### OutOfBounds

* **interface**: `api.errors.flow.OutOfBounds.is`
* **summary**: Campaign starts/expires validation failed.

#### TreasuryBalanceLow

* **interface**: `api.errors.flow.TreasuryBalanceLow.is`
* **summary**:

#### TreasuryNotExist

* **interface**: `api.errors.flow.TreasuryNotExist.is`
* **summary**:

***

### sense

#### EntityExists

* **interface**: `api.errors.sense.EntityExists.is`
* **summary**: Entity exists.

#### EntityUnknown

* **interface**: `api.errors.sense.EntityUnknown.is`
* **summary**: Entity unknown.

#### InvalidParam

* **interface**: `api.errors.sense.InvalidParam.is`
* **summary**: Invalid param.

#### EntityPropertyOverflow

* **interface**: `api.errors.sense.EntityPropertyOverflow.is`
* **summary**: Overflow adding a value to the entity property.

#### EntityCountOverflow

* **interface**: `api.errors.sense.EntityCountOverflow.is`
* **summary**: Overflow adding a value to the entity count.

***

### signal

#### AuthorizationError

* **interface**: `api.errors.signal.AuthorizationError.is`
* **summary**:

#### BalanceLow

* **interface**: `api.errors.signal.BalanceLow.is`
* **summary**:

#### CampaignUnsucceeded

* **interface**: `api.errors.signal.CampaignUnsucceeded.is`
* **summary**:

#### DepositInsufficient

* **interface**: `api.errors.signal.DepositInsufficient.is`
* **summary**:

#### DuplicateVote

* **interface**: `api.errors.signal.DuplicateVote.is`
* **summary**:

#### MissingParameter

* **interface**: `api.errors.signal.MissingParameter.is`
* **summary**:

#### OrgInactive

* **interface**: `api.errors.signal.OrgInactive.is`
* **summary**:

#### OutOfBounds

* **interface**: `api.errors.signal.OutOfBounds.is`
* **summary**:

#### ProposalExists

* **interface**: `api.errors.signal.ProposalExists.is`
* **summary**:

#### ProposalNotActive

* **interface**: `api.errors.signal.ProposalNotActive.is`
* **summary**:

#### ProposalUnknown

* **interface**: `api.errors.signal.ProposalUnknown.is`
* **summary**:

#### TooManyProposals

* **interface**: `api.errors.signal.TooManyProposals.is`
* **summary**:

#### TreasuryBalanceLow

* **interface**: `api.errors.signal.TreasuryBalanceLow.is`
* **summary**:

#### TreasuryUnknown

* **interface**: `api.errors.signal.TreasuryUnknown.is`
* **summary**:

#### VoteLimitReached

* **interface**: `api.errors.signal.VoteLimitReached.is`
* **summary**:

#### WrongParameter

* **interface**: `api.errors.signal.WrongParameter.is`
* **summary**:


# Constants

The following sections contain the module constants, also known as parameter types. These can only be changed as part of a runtime upgrade. On the api, these are exposed via `api.consts.<module>.<method>`.

* [**control**](#control)
* [**flow**](#flow)
* [**sense**](#sense)
* [**signal**](#signal)

***

### control

#### palletId: `PalletId`

* **interface**: `api.consts.control.PalletId`
* **summary**: The control's pallet id, used for deriving organization treasuries IDs.

#### maxMembers: `u32`

* **interface**: `api.consts.control.MaxMembers`
* **summary**: The max number of members per one org.

#### protocolTokenId: `CurrencyId`

* **interface**: `api.consts.control.ProtocolTokenId`
* **summary**: The CurrencyId which is used as a protokol token.

#### paymentTokenId: `CurrencyId`

* **interface**: `api.consts.control.PaymentTokenId`
* **summary**: The CurrencyId which is used as a payment token.

#### minimumDeposit: `Balance`

* **interface**: `api.consts.control.MinimumDeposit`
* **summary**: The min amount of the deposit which is locked during Org creation (in Protocol tokens).

#### stringLimit: `u32`

* **interface**: `api.consts.control.StringLimit`
* **summary**: The maximum length of a name or cid stored on-chain.

***

### flow

#### gameDAOTreasury: `AccountId`

* **interface**: `api.consts.flow.GameDAOTreasury`
* **summary**: The GameDAO Treasury AccountId.

#### minNameLength: `u32`

* **interface**: `api.consts.flow.MinNameLength`
* **summary**: The min length of a campaign name.

#### maxCampaignsPerBlock: `u32`

* **interface**: `api.consts.flow.MaxCampaignsPerBlock`
* **summary**: The max number of campaigns per one block.

#### maxCampaignContributors: `u32`

* **interface**: `api.consts.flow.MaxCampaignContributors`
* **summary**: The max number of contributors per one Campaign.

#### maxContributorsProcessing: `u32`

* **interface**: `api.consts.flow.MaxContributorsProcessing`
* **summary**: The max number of contributors for processing in one block (batch size) during Campaign finalization.

#### minContribution: `Balance`

* **interface**: `api.consts.flow.MinContribution`
* **summary**: The min contribution amount in payment tokens.

#### minCampaignDeposit: `Permill`

* **interface**: `api.consts.flow.MinCampaignDeposit`
* **summary**: The min campaign deposit - fraction of a target, default 10%.

#### protocolTokenId: `CurrencyId`

* **interface**: `api.consts.flow.ProtocolTokenId`
* **summary**: The CurrencyId which is used as a protokol token.

#### paymentTokenId: `CurrencyId`

* **interface**: `api.consts.flow.PaymentTokenId`
* **summary**: The CurrencyId which is used as a payment token.

#### campaignFee: `Permill`

* **interface**: `api.consts.flow.CampaignFee`
* **summary**: The amount of commission to be paid from the Org treasury to GameDAO treasury after successful Campaign finalization.

#### stringLimit: `u32`

* **interface**: `api.consts.flow.StringLimit`
* **summary**: The maximum length of a name or symbol stored on-chain.

#### campaignDurationLimits: `(Self::BlockNumber, Self::BlockNumber)`

* **interface**: `api.consts.flow.CampaignDurationLimits`
* **summary**: Default time limit for a campaign in blocks.

***

### sense

#### stringLimit: `u32`

* **interface**: `api.consts.sense.StringLimit`
* **summary**: The maximum length of a name or symbol stored on-chain.

***

### signal

#### paymentTokenId: `CurrencyId`

* **interface**: `api.consts.signal.PaymentTokenId`
* **summary**: The CurrencyId which is used as a payment token.

#### protocolTokenId: `CurrencyId`

* **interface**: `api.consts.signal.ProtocolTokenId`
* **summary**: The CurrencyId which is used as a protokol token.

#### minProposalDeposit: `Balance`

* **interface**: `api.consts.signal.MinProposalDeposit`
* **summary**: Min deposit for Proposal creation.

#### proposalDurationLimits: `(Self::BlockNumber, Self::BlockNumber)`

* **interface**: `api.consts.signal.ProposalDurationLimits`
* **summary**: Default time limit for a proposal in blocks.

#### gameDAOTreasury: `AccountId`

* **interface**: `api.consts.signal.GameDAOTreasury`
* **summary**: The GameDAO Treasury AccountId.

#### maxMembers: `u32`

* **interface**: `api.consts.signal.MaxMembers`
* **summary**: Max number of members per organization.

#### maxProposalsPerBlock: `u32`

* **interface**: `api.consts.signal.MaxProposalsPerBlock`
* **summary**: The max number of proposals per one block.

#### stringLimit: `u32`

* **interface**: `api.consts.signal.StringLimit`
* **summary**: The maximum length of a string, stored on chain.

#### slashingMajority: `Permill`

* **interface**: `api.consts.signal.SlashingMajority`
* **summary**: Majority of rejection >= {this value} \* eligible voters --> slash deposit (default: 2/3).

#### gameDAOGetsFromSlashing: `Permill`

* **interface**: `api.consts.signal.GameDAOGetsFromSlashing`
* **summary**: This part of slashing goes to GameDAO treasury (default: 1/4).


# Technical Overview

This is a technical overview for everyone interested in the GameDAO protocols, how they interact and how they can be utilised

This technical overview includes all you need to know about GameDAO's protocols:

* Control
* Signal
* Noise
* Flow
* Sense
* Tangram

### Build unstoppable organisations with CONTROL.

**CONTROL** allows you to build organisations (DAOs) with the following features:

* open or invitation only
* public and transparent or private and opaque
* transfer, reserve or without membership fees
* electable prime
* segregated multi currency treasury

### Enable Communities with SIGNAL and NOISE.

Open up and let the community take part, with SIGNAL and NOISE:

* withdrawal
* spending
* membership
* prime
* motions
* simple / relative / absolute majority
* binary / multiple choice
* conviction
* integration with web2 apis

### Leverage decentralised fundraising protocols with FLOW.

FLOW encompasses a number of fundraising and financial features:

* grants, donations, subscriptions
* prepaid campaigns with/without perks, milestones
* community governance of segregated campaign treasury
* lending with multiple collaterals
* fractionalised shares based on non fungible assets

### Use the Power of Communities with SENSE

SENSE enables a safe and secure platform using identity primitives from GameDAO's underlying network, zero.io. Leverage decentralised identity frameworks to create gamified experiences.

* zero core identity
* 3rd party integrations with SocialKYC, traditional KYC/KYB and DID

### Reward and Incentivise with TANGRAM

Tangram is GameDAO's rewards, incentives and digital collectibles protocol that gives these assets the following features:

* feeless
* composable
* mutable
* compatible


# Get Involved

Want to propose a partnership, point out a mistake, or join our community? Find out how, here.

## Join the Community

The best way to get involved, help out, and join the community at GameDAO is through our [discord](https://discord.gg/rhwtr7p) or by following us and dropping a DM on [twitter.](https://twitter.com/gameDAOco)

## Propose a Partnership

Have an idea for a project that would be a great fit for GameDAO and our ecosystem? Have an idea for a game and need funding & lifecycle support?&#x20;

Have a prospective partnership you'd like to pass by the GameDAO gang? Join the Discord, head to `#partnerships` and send a message by using the template which you'll find in the pinned messages.&#x20;

## Contribute to Our Docs

Found an error, missing page or section? Want to shed some more light on a topic? We're open to anyone who wants to help out by contributing to our documentation.

Please visit our [GitHub repository](https://github.com/gamedaoco/documentation), familiarise yourself with our Code of Conduct, Guide to Contributing, and Open Source License before submitting your request.


# Code of Conduct

## Contributor Covenant Code of Conduct

### Our Pledge

In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.

### Our Standards

We're proud of our positive and welcoming environment.&#x20;

To maintain this, please help us by:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community at all times
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting

### Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behaviour.

Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviours that they deem inappropriate, threatening, offensive, or harmful.

### Scope

This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.

### Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team <hey@gamedao.co>. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.

### Attribution

This Code of Conduct is adapted from the [Contributor Covenant](https://contributor-covenant.org), version 1.4, available at <https://contributor-covenant.org/version/1/4>


