DAO stands for Decentralized Autonomous Organization. Simply put, a DAO is an organization formed by smart contracts where the members (typically token holders) collectively decide how the organization or the product evolves. Example scenarios:
10'000 token holders each deposit crypto into a smart contract and vote on what to purchase with the total.
1 million token holders control a decentralized version of Twitter where token holders propose and vote on feature updates.
A DAO can take the role of carrying out community-driven decisions on when and how to update the code that shapes the organization or product.
SNS stands for Service Nervous System. An SNS is a powerful form of DAO that allows communities to govern smart contracts and decentralized apps (dapps) running on the Internet Computer (ICP) completely on chain. Main things to note about SNS:
The design of SNSs is similar to that of the Network Nervous System (NNS), which is the on-chain DAO that governs the whole ICP.
A dapp controlled by an SNS DAO is governed by SNS token holders submitting and voting on on-chain proposals. No one developer or group of people controls the dapp, rather the dapp is controlled by voting via tokens.
There can be many SNSs on ICP. Any developer can hand over the control of their dapp to an SNS DAO. Doing so gives control to DAO token holders.
DAOs are a growing form of organization for accomplishing goals. For example, in the ETH ecosystem, Uniswap and MakerDAO are popular DAOs with billions of dollars locked in their respective smart contracts. However, ICP is unique in that it can host fully-on chain dapps (frontend, backend application logic, and data), so SNS DAOs are unique in that they can fully control (via voting) every aspect of a dapp, since everything is on-chain. Having fully on-chain DAOs is important because it enables all decisions to be executed on the blockchain and thus facilitates true decentralization. This is in contrast to existing DAOs on other blockchains where voting takes place on-chain but the execution of the results are often carried out by developers off-chain.
Therefore, SNS DAOs serve as a vehicle to deliver fully decentralized online services that are owned and governed by their communities.
SNS DAOs facilitate a healthy exchange between developers, entrepreneurs, end users and VC’s. Some advantages of turning the control of your dapp over to a DAO include:
Community Engagement: as co-owners of the product, users become core contributors, developers deliver on value proposition.
Speedy User Adoption: As co-owners, users become the biggest advocates of the product.
Funding: projects are funded through a community-driven decentralization swap.
The ICP community has expressed much interest and enthusiasm for the launch of the SNS technology. OpenChat was the first dapp that handed control over to an SNS DAO in Q1 of 2023. Since then, many ecosystem projects have followed. Currently, there are 11 SNS DAOs on the Internet Computer. Follow their progress on the SNS dashboard.
The most important thing you can do as an SNS DAO member is to participate in governance. On-chain governance is what differentiates DAOs from traditional web applications, as members play a key role in the DAO's success. DAO members can contribute in many ways, from pushing code, to designing a logo or a UI, to simply voting on SNS proposals that shape how the dapp evolves.
There are many ways members can participate in an SNS DAO, both on-chain and off-chain. Creating proposals requires coding skills. Some examples include:
Vote on SNS proposals: You can vote on different types of proposals manually or follow other neurons that vote.
Create upgrade proposals: Submit an upgrade proposal to update the code of the dapp that the SNS DAO controls. This allows anyone to contribute code to an SNS DAO.
Create motion proposals: Motion proposals don't upgrade the code of the dapp, instead they steer the direction of the DAO in terms of new features and dapp development.
Create SNS parameter update proposals: You can propose upgrades for many of the DAO's parameters such as maximum staking period, voting rewards and many more. See parameters.
Non-governance related examples of contributing are:
Content moderation: Many social media dapps may incorporate content moderation as they scale to millions of users. Moderators review and approve content based on the content policies of the DAO.
UI / UX design work: Users can contribute not only by coding, but designing different aspects of the dapp.
Off-chain marketing / inviting friends: Members of the DAO can be advocates of the dapp and promote it in different ways.
Once you have acquired SNS tokens, you can lock them into SNS neurons, which allows you to create a proposal, vote directly on one, delegate voting to trusted parties that have more expertise in certain topics. If a proposal gets adopted, the code of the SNS DAO or the dapp it controls is upgraded. Depending on the SNS configuration, users who vote may be rewarded with additional tokens for participating in governance. If you want to get more deeply involved, you can also suggest feature updates through proposals to improve the dapp controlled by the DAO.
Each SNS DAO has its own unique SNS token. For example, OpenChat has CHAT tokens.
There are three main ways of acquiring SNS tokens:
Participate in a decentralization swap: When an SNS launches, it has to go through a decentralization swap. You can participate on the NNS frontend dapp under the Launchpad tab. During the swap you can buy SNS tokens with ICP.
Purchase tokens on a decentralized exchange (DEX): After a decentralization swap has concluded, liquid tokens will typically be listed on multiple DEXs, where you can buy them using the ICP utility token or other tokens, depending on what token pairs the DEX lists, e.g., also Bitcoin or Ethereum. An SNS token in high demand may have a higher price on a DEX than in its decentralization swap. ICDex, Sonic and ICPSwap already supports SNS tokens.
Airdrops: Besides buying SNS tokens, you can obtain them by receiving airdrops or by engaging with the dapp and thereby earning tokens as reward. In this scenario, tokens are used as an incentive to encourage active engagement with the dapp which helps grow the active user base.
Voting rewards: If you already have tokens and participate in governance, you can earn tokens as voting rewards as you would in the NNS.
Do I get rewards for participating in governance?#
SNS works very similar to the NNS, however each SNS DAO can configure their parameters differently. Once you have locked your SNS governance tokens into SNS neurons for at least the minimum required time, you can participate in voting. Depending on the configuration voting may reward participants with SNS governance tokens.
From the ICP ecosystem's vantage point, the Neurons' fund aids in bootstrapping the SNS DAO ecosystem, thereby supporting the continued growth of the ecosystem. The Neurons' fund itself is controlled by a DAO (the NNS).
From a user's vantage point, the Neurons' fund is a way for people who stake ICP in the NNS to use their maturity to fund future SNSs. As the NNS decides how the Neuons' fund contributes to SNSs, ICP stakers participating in them can leverage the broader community's "wisdom of crowds" to chose which SNS tokens to acquire. This allows users to participate automatically in upcoming SNS launches.
ICP neuron holders can opt in or out of the Neurons' fund at any moment. Neurons will only participate in the decentralization swap if they are opted in at the moment when the proposal to initiate the SNS decentralization swap executes. The propsoal executes immediately after it gets adopted by ICP neuron holders.
If I am asked to send ICP to an address to participate in a decentralization swap, what should I do?#
If you want to participate in the swap, do not send ICP directly to addresses! An SNS swap will never initiate contact with you, e.g. via chat or email. You will never be asked to manually enter an ICP address to participate in a decentralization swap. If you find yourself entering an ICP address to participate in an SNS swap, then STOP. Your swap address is specific to your identity, and you should only interact with that address when participating in a swap through the NNS or other ICP based dapps that support the swap like ICLighthouse.
A decentralization swap is the process by which an SNS DAO becomes decentralized and where users can exchange ICP for SNS tokens by participating. After the swap, each participant receives a basket of neurons. These neurons hold SNS tokens and therefore a share of the DAO's voting power. It is one of multiple ways you can get SNS tokens for a particular SNS DAO.
A decentralization swap is run entirely on chain. The swap is initiated by the NNS. Through this approach, every aspect of the swap, from its initiation to execution, is completely decentralized and not controlled by any centralized entity. Even the decision to create the SNS and its token is made by the NNS (the DAO that controls the Internet Computer) and not the developer in order to ensure complete decentralizion of the app.
A decentralization swap follows a list of configurable parameters:
The amount of SNS tokens to be sold
The amount of ICP a decentralization swap must receive to be successful. If the goal is not reached, participants get their ICP refunded and the swap fails.
The maximum amount of ICP a decentralization swap can receive before it concludes. If the maximum ICP is reached, the swap is over and the control of the dapp is turned over to the token holders. As the number of tokens to be sold is fixed, it is amount of ICP swapped that determines the initial price of the SNS tokens.
Minimum and maximum commitment of ICP per participant
If the decentralization swap is successful, you will receive a basket of neurons that hold your SNS tokens. Depending on the SNS configuration, the basket may contain multiple neurons, each with a different dissolve delay. You can use your tokens to participate in governance or, once neurons have dissolved, sell the liquid tokens on an exchange.
The number of SNS tokens you receive, and the price of for each token, depends on the amount of ICP swapped. The more ICP are swapped, the fewer SNS tokens you receive, however their price will be higher.
SNS tokens can be exchanged for ICP during the decentralization swap. There is a fixed number of tokens distributed during the swap, which means their price is determined by the amount of ICP swappend. You can calculate the token price by dividing the amount of ICP swappend with the number of tokens distributed. Price = ICP swappend / number of tokens distributed. Note that the final price of SNS tokens isn't known at the time of the decentralization swap, as it is dependent on the total amount of ICP swapped. However, you can calculate the minimum and maximum price based on the minimum and maximum ICP that the swap accepts, which you can verify in the swap proposal. A few examples:
The decentralization swap distributed 5000 tokens for 1000 ICP. You participated with 10 ICP. This means you will have 50 SNS tokens, each worth 0.2 ICP.
The decentralization swap distributed 1 million tokens for 500,000 ICP. You participated with 200 ICP. This means you will have 400 SNS tokens, each worth 0.5 ICP.
The decentralization swap distributed 100 tokens for 10,000 ICP. You participated with 5 ICP. This means you will have 0.05 SNS tokens, where a full token would be worth 100 ICP.
Visis the ICP Wiki for a more detailed overvire of SNS tokenomics
You can participate in the decentralization swap in the NNS frontend dapp, which requires ICP utility tokens. ICP tokens can be exchanged for SNS tokens during the decentralization swap. If you don’t have ICP, go to any of the exchanges listed on CoinMarketCap.
Follow these steps to participate in a decentralization swap:
1. Go to the NNS frontend dapp and click on the “Launchpad” in the sidebar to see all ongoing SNS decentralization swap.
2. Select the SNS Swap you’re interested in under “Current Launches” and click on the box.
3. Click on “Participate”.
4. Type in the amount of ICP you want to participate with or click “max”, then click “Execute”.
5. You will be prompted to review your participation. If you see the correct amount of ICP, select the checkbox and click “Execute”.
6. On the last screen, you should see the amount of ICP you entered for participation. You can repeat this process if you wish to contribute more.
After the swap ends and is successful, you receive SNS tokens. Note, that this may take a few hours after the swap has concluded. The number of SNS tokens you receive, and the price paid for each token, depends on the amount of ICP raised during the swap as well as the amount of ICP spent. The more ICP raised, the fewer SNS tokens you receive.
If the set goals of the decentralization swap are not reached, participants will be refunded. The duration of a swap is configurable and thus, depends on the configuration of each individual SNS. A swap can only start after a 4 to 8-day NNS voting period (unless 51% majority is reached sooner) on the original proposal that initiates the launch the SNS.
First an NNS proposal is created for the decentralization swap. The swap itself starts automatically once the NNS proposal is adopted.
As a participant in the SNS decentralization swap, what do I need to trust?#
Before participating in an SNS decentralization swap to get a share of the SNS DAO’s voting power, it is highly recommended that you do your due diligence on the dapp in question to make sure the SNS DAO is trustworthy. Dapp developers are responsible for providing all the necessary information that allows you to verify the dapp and its SNS configurations. Note that in participating without doing due your diligence, you are implicitly trusting the NNS community and the developers decentralizing the dapp. In any case, it is crucial that you trust the developers will not change the dapp during the SNS launch. Learn what you could verify and what to look out for on the ICP Wiki.
How can I verify the SNS decentralization swap proposal?#
There are multiple levels of verification you can do depending on your level of technical understanding. SNS canisters can be verified at any time, even before the decentralization swap, but after they have been installed on the SNS subnet. Here are some ways to verify:
Swap parameters: You can verify what the parameters of the decentralization swap are in the Launchpad or in the decentralization swap NNS proposal.
SNS root canister: An SNS DAO is comprised of several SNS canisters that have different functions. The root canister is the canister that controls the other SNS canisters within a given SNS DAO. You should verify that the SNS root canister is the only canister controlling other SNS canisters within that SNS DAO. Verification is important for making sure there no backdoors built in.
The dapp canister: You can verify that the canister id of the dapp controlled by the SNS DAO is the same as the one you're interacting with.
After a decentralization swap successfully concludes, the ICP collected through the swap is allocated to the SNS DAO's treasury. Optionally, the DAO can allocate a number of SNS tokens to be in the DAO's treasury, which all SNSs so far have done. The SNS treasury is controlled by the DAO, and can only be transferred using proposals that SNS token holders vote on. It is also possible to mint new SNS tokens at any point after the SNS launch, which can also only be done if the SNS DAO agrees to do so by proposal vote.
What is the purpose of the SNS treasury and how are the funds distributed?#
The purpose of the treasury is decided by the SNS DAO.
A portion of the treasury can be sent to any address by an SNS proposal.
Typically, after an SNS has launched it has an SNS token treasury and an ICP treasury (from the decentralization swap). An SNS can, however, also own other tokens on the Internet Computer.
Typically, after an SNS has launched it has an SNS token treasury and an ICP treasury (from the decentralization swap). An SNS can, however, also own other tokens on the Internet Computer.
The treasury funds could, for example, be used to open liquidity pools on DEXs or to reward users for certain actions in the dapp.
Do I have a say in how the treasury funds are allocated?#
Yes, if you are a neuron holder of the respective SNS DAO, you can actively exercise your voting power to decide on proposals that allocate treasury funds.
Without an adopted SNS proposal that specifies how to allocate funds, no one can access the SNS treasury. The SNS DAO only grants access when proposals are adopted through SNS community voting. While it can happen that the original developer team possesses a meaningful portion of the voting power, they alone cannot make decisions for the DAO without the approval of SNS token holders. In particular, treasury proposals are considered to be critical proposals, which have a higher bar to be adopted, including that they require a higher voting participation and support of a supermajority of the DAO voters.
Anyone can build a frontend that allows users to create or vote on SNS proposals, which means voting could take place within the dapp the SNS DAO controls, or in any other dapp that integrates with the SNS backend. The NNS frontend dapp lists all SNS DAOs and their proposals. Other dapps that allow voting on SNS proposals are ICLight.house, OpenChat, and partially DSCVR. Example on how SNS proposals appear on OpenChat:
SNS DAOs have a stake-based governance system. This means the more tokens participants stake in their neurons, the more voting power their neurons have. In addition to the stake, a neuron's voting power is dependent on the dissolve delay bonus and age bonus. Each SNS DAO decides these bonuses in its parameters.
Following neurons is a way to delegate votes both on the NNS and in SNSs. Each SNS neuron can either manually vote on proposals or follow another neuron’s voting decisions. Neurons are followed based on various topics, such as making SNS treasury transfers or upgrading the dapp. Neurons can be set to follow other neurons on specific topics or to follow other neurons on ‘All Topics’ – a catch-all which is applied for the proposal without any specific following choice.
When you use following, you must trust that the neurons you’re following will make decisions that align with your views. The advantages of neuron following are that you don’t have to spend time manually voting on each proposal, and you can rely on the expertise of other neuron holders for certain topics.
How can I follow or unfollow a neuron on SNS treasury proposals?#
If you would like to learn how to follow some neuron, for example the SNS developer team, on some topics, while manually voting on others, watch this short tutorial:
Is it possible to transfer SNS tokens to another person?#
Yes. SNS tokens are ICRC-1 tokens and can be transferred between any Internet Computer-based wallets that support ICRC-1, including your NNS wallet. Note that each SNS has its own ICRC-1-compliant ledger for keeping track of its tokens.
When receiving your SNS tokens in the form of neurons, the neurons may have dissolve delays, meaning your tokens may not be liquid, i.e. transferable immediately. Rather these tokens become liquid (transferable) in weeks, months, or years’ time, depending on the dissolve delay of the respective neuron.
Is it possible to sell SNS tokens to another person?#
Yes. Because tokens can be sent to other people, they can likewise be sent to exchanges and thus, swapped for other tokens. The easiest way to sell SNS tokens is through a decentralized exchange (DEX) that lists the token. You can exchange SNS tokens for other tokens, depending on the token pairs available on any DEX.
Likewise, you can acquire SNS tokens on a DEX in exchange for other tokens.