SNS initial token swap

I think it makes sense that an NNS proposal is needed to create an SNS on the main IC network.

It does limit experimentation though. Are there ways to experiment with setting up our SNS and fine-tuning settings before actually going live?


recording of talk can be found here: Community Conversations | SNS Initial Token Swap - YouTube


The design is now up for voting in a motion proposal:

If you like it, please consider supporting it with your vote and spread the word!

1 Like

What will be the tokennomics from the SNS tokens?

Thank you for the proposal (I overlooked that this topic was already started)!

My questions is related to above quoted text - how will you guarantee that someone won’t create 1k principals and then use them to get too large of a share?

You can say that it’s not realistic from administration perspective, but I think that several project will be worth hiring people for that and setting up some automations.

IMO possible solution would be to allow only principals which passed People Party, but from my understanding (recently raised question about that in different thread) this is delayed.

Thanks again, I believe that SNS will be a game-changer and a gateway to true Web3!


Hi @Jacobs.ic

the suggested design for SNS rewards is described in this forum post. In a nutshell: we suggest leveraging the concepts and code base of the NNS reward scheme but make configurable.

There is also a dedicated community conversation on this topic.


Thanks Bjoernek for your awnser. I appreciate your taking time for acurate answers


Hi @ArjaanBuijk, thanks for the question!
I think you could deploy SNS canisters locally or on an application subnet to try out different things. For example, I think you could locally set up an NNS and SNS and simulate the proposal to start the swap (this has the advantage that you don’t use cycles, although you might also want to test cycles). Or you could manually deploy the SNS canisters on an application subnet if you want to play around with them and also see the cycle behaviour.

Hi @plsak, this is indeed a problem that we do not fully solve.
As you say, once we have good means for proof of humanity / personhood, for example by people parties, we could attach such a restriction. But they are not ready yet so we think it is worth to nevertheless already release the SNS without this and potentially add such improvements in later iterations.

One idea to nevertheless mitigate this problem a bit is to give some tokens to principals that are already “known”. For example, when a dapp has been live for a while, there might be some principals that have very active profiles and a lot of community members might even know the person behind the principal / profile. When a dapp is decentralised, it could choose to give some initial neurons to such “known” dapp users and less tokens to the initial token swap. This does of course not prevent the problem as a) multiple dapp profiles might belong to the same person and b) the dapp users could purchase additional tokens in the initial swap, but it might make an attack harder and thus provide more confidence for decentralisation.
Does that make sense?

Thanks! I am also looking forward to seeing SNSs be used by a vide variety of dapps!

1 Like

Hi @lara and thanks for the response!

I agree that it’s better to release SNS rather sooner but as thinking about possible workaround (until People Parties are live) got this idea (although I’m not sure if is technically feasible):

  • limit participation in the SNS swap/auction only to principals, which have at least one voting neuron older than (let’s say) three months
    • or apply the limit only for 80%(?) of tokens - to allow minor/20%(?) participation also for new investors
    • there might be also some limitation on minimal voting power or neuron being in CF, but that might be already too restrictive
    • indeed the limitation could be completely different, my main point is to link the participating principals with their voting neurons and use this as prevention
      • and any such settings could be part of initial swap parameters - handing over responsibility for it to the dapp devs

I believe that this would:

  1. prevent speculators and favor long term IC investors
  2. effectively disable possibility to cheat with large number of principals
    • although several investors might have large number of voting neurons, they most likely keep them under limited number of Internet Identify accounts/principals (although I’m not 100% sure that single II account means single principal :frowning: - looks like that for me) - and with age (or rather creation date - as age averages down when increasing stake) limitation there would be no option how to generate large number of valid new ones

Hopefully this idea will be useful at least a bit, looking forward SNS a lot (I’m quite small investor, but still, some of the projects look great)!


初始代币兑换或卖的分配和最高限额是否可以考虑NNS投票权重这个因素?这样可以一定程度防止机器人恶意拍卖也可以激励ICP长期投资。[quote=“lara, post:1, topic:13591, full:true”]
TL;DR:我们为新的“初始令牌交换”罐提供高级设计。我们解释了为什么这是将互联网计算机上的现有dapp转换为由SNS DAO控制的分散式dapp过程的重要组成部分。

背景 SNS






与其他 SNS 项目的上下文












  • ICP代币的最大数量:掉期收取的最大ICP作为资金。如果达到这个金额,掉期就结束了。与下一个参数一起,这决定了最低和最高SNS代币价格。

  • 最低ICP代币数量:掉期需要收集的ICP最低数量才能被视为成功。与第一个参数一起,这决定了最低和最高SNS代币价格。

  • 交换截止日期:掉期结束的截止日期。如上所述,如果收集了最大数量的ICP代币,掉期可能会在截止日期前结束。

  • 掉期参与者的最低人数:交换参与者的最低人数,以被视为成功的掉期参与者。

  • 每个参与者的最低和最高ICP金额:每个交换参与者可以贡献的最低和最高ICP金额。最低限额实现每个参与者都有最低投资,而最大限度保证任何本金都不能获得过多的初始代币分配份额。



SNS 发布
















Procedure Motion 提案和更新的 SNS 时间表




For the record, the motion proposal was adopted on 2022-06-19.


Thanks plsak, assigning some kind of reputation to a principal on the basis of past history of interactions (with the NNS or other activity) and using those reputation attributes to gate access to new functionality is certainly an idea we’d like to explore in general on the IC.

One of the key features of an SNS initial token swap is we’d like broad participation and not lock access to only insiders, this would include users of the dapp (who may not be NNS neuron holders) and also brand new users to the IC ecosystem to be able to participate. Hopefully in turn these users also become participants of the NNS.

By locking the SNS tokens issued in neurons and distributing all tokens at the same price, we think this will dampen down some of the motivations for short term speculative behaviour.


Hi, I have a proposal that projects that want to participate in fundraising on SNS need to be approved by the community through votes from the proposal on NNS.
because the market always has projects that only give promises but their purpose only wants to scam investors. Therefore, participating projects that need votes from the IC community through the NNS proposal will partly reduce the risk for investors. people can check and approve projects that are trusted enough by the community by voting. while protecting IC .'s reputation

Hello all,
I have a few questions;

Will ICP token be replaced by SNS token in future ? If so how can I swap ICP tokens for SNS on binance? I don’t wanna sell my ICP tokens right now because I am in big loss. Please help me to understand this process.
Thank you

No, SNS token is an umbrella term to mean tokens issued on the IC using the IC SNS platform.


As a long-term researchers of IC ecology, we have found some problems from the evolution of SNS design:

  • DFINITY Foundation doesn’t just provide the underlying capabilities, it always tries to guide developers at the application level and show them how to do it;
  • To make things even more awkward, the DFINITY foundation wants more NNS control over SNS, but doesn’t want to provide a less accessible interface.

For example, in the SNS rewards system, the foundation even went so far as to design a curve paradigm for voting rewards for SNS, but the truth is that developers probably don’t need such complicated low-level features.

Another example is the SNS initial token swap. In the current design of DFINITY, as a low-level capability, the swap container can only be started after DApp has passed the NNS governance vote. This raises a number of questions:

  • This greatly increases the startup cost of Dapp developers, who may need to solicit votes or even buy ICP votes themselves;
  • SNS may be controlled by ICP whales or external capital. Big capital has the ability to vote down specific initial swap financing requests to suppress competitive projects that do not meet its own interests, and pull IC ecology into the quagmire of the factional struggle for governance;
  • Reduces the financing efficiency of ICP (and thus the potential value of ICP) and stifles genuine innovation.

Another example is the NNS community fund, which is a community-managed investment DAO, but is directly integrated into the management page of the NNS neuron, which seems to become a system low-level function. Communities could have implemented their own Venture DAOs to achieve decentralized investment, but community funds killed many of the possibilities.

Sure, these “overdesigns” of SNS may push the ecosystem in a specific direction faster and make developers worry less about such trivia, but they may also stifle some interesting innovations.

We Need Underlying Purity

As an infrastructure, it should be kept pure, allowing developers to explore any kind of application on it, and not discriminating against any kind of application. Diversity is the foundation of a thriving ecosystem and the secret of ETH’s ecological success.

It’s great to see new capabilities of IC underlayer that allow developers to integrate previously unseen types of applications into blockchain systems. But some of the design of SNS tries to take the place of community thinking and lead developers to conform to certain paradigms, which is not what the underlying infrastructure should do. Will the initial token swap function limit the innovation of various IDO, fair distribution, and Launchpad platforms? Will the Community Foundation limit Venture DAOs’ innovation? Will SNS reward system limit the innovation of incentive means? We have to be skeptical.

At the same time, we believe that the underlying functions of the system should be permissionless, which should not increase the cost of developers in the admittance. SNS and its initial token swap functionality should be provided to any developer as a system low-level feature, with no access, no barriers, and out of the box. In addition to the additional cost of entry, it is also difficult to build dapps and tools based on it.

What Can We Improve?

Enable access to the SNS dedicated subnet

Developers should be free to deploy their own SNS systems in a SNS dedicated subnet just as they would deploy containers in an application subnet, just paying enough cycles. The use of swap containers in SNS should not be controlled by NNS governance.

If there are concerns about potentially fraudulent projects after open access, then the governance capability of SNS itself can be relied on, and the use of ICP financing (such as refunds) can be determined by the users participating in the initial token swap. NNS governance can serve as a trusted discovery mechanism for recommending good projects to users. SNS should not be confused with NNS governance.

More modular SNS

We should make a clear distinction between what is the essential basis of SNS and what is the further application of SNS. If a feature is an application, it should be more modular, allowing developers to replace it with their own code implementation. Obviously, the root container and ledger container of SNS are indisputable, while governance and initial token distribution, incentives, and frontend are all applications.

Developers can replace the governance module to implement a variety of mechanisms such as pledge voting, non-pledge voting, and proxy voting. For the swap container corresponding to the initial token distribution, the developer should also add continuous financing, multi-round financing, auction, liquidity mining, and other launch methods.

Continue to encourage the development of DApps

The initial token swap only provides a cold start-up cost for dApps and is the beginning of development, not the end. Therefore, after the successful launch of SNS, how to motivate the founding team, developers, and contributors to continue to support the development of Dapp has become a very important issue. In the development of Dapp, there is a lot of tedious, periodic, and flexible payment and management work, which is difficult for SNS referendum to take care of.

In the setting of initial token distribution in SNS, the funds raised in the future cannot be preset (for example, allocate part of ICP to the founding team for continuous development), and the funds of developers cannot be guaranteed.

Will a future feature allow developers to customize the allocation of raised funds? For example, create a smaller Treasury for the development team, make one-time or periodic contributions from ICP financing to the development team Treasury, and allow the development team to use the funds freely without having to vote on SNS.

The release of SNS Token

After fundraising, SNS tokens are not released immediately, but are locked in neurons for three months. But some dapps may need to circulate utility tokens to run their business, which requires the tokens to be released immediately, while SNS does not yet have this flexibility.

SNS should give developers the ability to customize the unlock/release rules for SNS tokens, such as setting the neuron lock delay to 0 to allow tokens to enter business flow quickly.


Hi bro, I see your views are only evaluated from the developer side, so what about from a small investor position? what if there are projects that only raise capital and then do nothing (rugbull)?? if the projects feel it doesn’t fit the terms of SNS then I think they can fundraise or sell their tokens another way, like ORIGYN they sold OGY on soonic without using SNS.


Rugpulls are a bigger problem so I support how SNS is currently set up

1 Like

No need to worry, after the initial exchange ICP funds go to the SNS treasury, which is controlled by governance and any grants need to go through governance. In case of a project rug, the small investor can refund the ICP funds from the treasury through the SNS governance. If the project stops development after a period of time, the community can also encourage new contributors through governance.

However, the key point is that NNS should not be used to control the threshold for SNS deployment.

1 Like