You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/concepts/governance.md
+10-10Lines changed: 10 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -82,7 +82,7 @@ The reward rate declines over time as the protocol matures, converging toward a
82
82
83
83
## The Service Nervous System
84
84
85
-
The SNS is a governance framework that allows app developers to create a community-governed SNS for their application. When an app is governed by an SNS, digital asset holders vote on proposals to upgrade the app's canisters, manage treasury funds, and adjust governance parameters.
85
+
The SNS is a governance framework that allows app developers to create a community-governed SNS for their application. When an app is governed by an SNS, asset holders vote on proposals to upgrade the app's canisters, manage treasury funds, and adjust governance parameters.
86
86
87
87
Unlike the NNS, which is a singleton governing the entire protocol, each SNS is a separate set of canisters specific to one app. SNSes live on a dedicated SNS subnet.
88
88
@@ -95,25 +95,25 @@ An SNS consists of five core canisters plus a variable number of archive caniste
|**Root**| Sole controller of all app canisters post-launch |
98
-
|**Swap**| Runs the decentralization swap (ICP for SNS digital assets) |
98
+
|**Swap**| Runs the decentralization swap (ICP for SNS assets) |
99
99
|**Index**| Transaction indexing for the SNS ledger |
100
100
|**Archive** (one or more, spawned as needed) | Historical ledger block storage; new archive canisters are created automatically as the ledger grows |
101
101
102
-
Once an SNS is live, the SNS Root canister is the sole controller of the app's canisters. Upgrades happen through governance proposals voted on by SNS digital asset holders.
102
+
Once an SNS is live, the SNS Root canister is the sole controller of the app's canisters. Upgrades happen through governance proposals voted on by SNS asset holders.
103
103
104
104
### Digital asset economics
105
105
106
106
Each SNS has its own governance digital asset. The initial distribution is defined in the SNS configuration file and includes:
107
107
108
-
-**Developer neurons**: Digital assets allocated to the original developers and seed funders, typically with vesting periods and dissolve delays to signal long-term commitment.
109
-
-**Treasury**: Digital assets owned by the SNS governance canister, spendable by governance proposal.
110
-
-**Swap allocation**: Digital assets sold during the decentralization swap in exchange for ICP.
108
+
-**Developer neurons**: Assets allocated to the original developers and seed funders, typically with vesting periods and dissolve delays to signal long-term commitment.
109
+
-**Treasury**: Assets owned by the SNS governance canister, spendable by governance proposal.
110
+
-**Swap allocation**: Assets sold during the decentralization swap in exchange for ICP.
111
111
112
112
The SNS ledger implements the ICRC-1 standard. SNS neurons work similarly to NNS neurons: stake governs voting power, dissolve delay grants a bonus (up to 2x at the configured maximum), and age grants an additional bonus.
113
113
114
114
### The decentralization swap
115
115
116
-
The decentralization swap is the mechanism by which SNS digital assets are distributed to the public. Participants send ICP to the SNS Swap canister during the swap window; when the swap closes, the exchange rate is determined and participants receive SNS digital assets in a basket of neurons with vesting schedules.
116
+
The decentralization swap is the mechanism by which SNS assets are distributed to the public. Participants send ICP to the SNS Swap canister during the swap window; when the swap closes, the exchange rate is determined and participants receive SNS assets in a basket of neurons with vesting schedules.
117
117
118
118
The swap has minimum and maximum ICP participation thresholds. If the minimum is not reached, the swap fails: all ICP is refunded and control of the app returns to the original developers (via the fallback controllers defined in the configuration). If the maximum is reached before the end time, the swap closes early.
119
119
@@ -126,7 +126,7 @@ SNS governance mirrors the NNS design but is customized per app:
126
126
| Aspect | NNS | SNS |
127
127
|--------|-----|-----|
128
128
| What it governs | Protocol and network | A specific app |
129
-
| Digital asset | ICP | Project-specific ICRC-1 digital asset |
129
+
| Digital asset | ICP | Project-specific ICRC-1 asset |
130
130
| Governance canisters | Singleton on NNS subnet | Per-app on SNS subnet |
@@ -138,10 +138,10 @@ When an app is governed by an SNS, the original developers no longer have direct
138
138
-**Upgrades require proposals**: All changes to app canisters must go through SNS governance votes. Development slows down compared to centralized control.
139
139
-**Treasury spending requires votes**: Any use of SNS treasury funds requires a governance proposal.
140
140
-**Upgrade path is transparent**: Community members can verify new canister wasm modules before voting. Reproducible builds allow independent verification.
141
-
-**Responsibility is distributed**: Post-launch, the development team typically continues leading the project but must engage the community of digital asset holders for major decisions.
141
+
-**Responsibility is distributed**: Post-launch, the development team typically continues leading the project but must engage the community of asset holders for major decisions.
142
142
-**Custom proposals**: Apps can register custom proposal types (generic functions) that allow the SNS to call specific canister methods, enabling fine-grained governance without unrestricted code upgrades.
143
143
144
-
Developers preparing for an SNS launch should ensure their codebase is stable, open-sourced, and reproducibly buildable before the decentralization swap. The NNS community votes on the creation proposal and expects evidence of product-market fit, sound digital asset economics, and a realistic roadmap.
144
+
Developers preparing for an SNS launch should ensure their codebase is stable, open-sourced, and reproducibly buildable before the decentralization swap. The NNS community votes on the creation proposal and expects evidence of product-market fit, sound asset economics, and a realistic roadmap.
Copy file name to clipboardExpand all lines: docs/concepts/sns-framework.md
+9-7Lines changed: 9 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: "SNS Framework"
3
3
description: "How the Service Nervous System works: framework architecture, launch process, neurons, proposals, and configurable rewards"
4
4
---
5
5
6
-
The Service Nervous System (SNS) is a governance framework built into ICP that lets any developer hand control of their application to a community-governed SNS. When an app is governed by an SNS, all upgrades, treasury decisions, and parameter changes require onchain proposals voted on by SNS digital asset holders.
6
+
The Service Nervous System (SNS) is a governance framework built into ICP that lets any developer hand control of their application to a community-governed SNS. When an app is governed by an SNS, all upgrades, treasury decisions, and parameter changes require onchain proposals voted on by SNS asset holders.
7
7
8
8
For a high-level introduction comparing the NNS and SNS, see [Governance](governance.md#the-service-nervous-system).
9
9
@@ -28,7 +28,7 @@ Launching an SNS is a one-time process that transfers control of an application
28
28
29
29
**Step 2: SNS canisters deployed:** The NNS uses SNS-W to deploy a fresh set of SNS canisters. The app's canisters are transferred to SNS Root as their controller.
30
30
31
-
**Step 3: Decentralization swap:** A swap window opens where users can send ICP to the SNS Swap canister. At the end of the window (or earlier if the maximum is reached), each contributor receives a proportional share of a fixed SNS digital asset allocation as staked neurons. The ICP collected becomes the SNS treasury. All swap participants receive a basket of neurons with configurable dissolve delays.
31
+
**Step 3: Decentralization swap:** A swap window opens where users can send ICP to the SNS Swap canister. At the end of the window (or earlier if the maximum is reached), each contributor receives a proportional share of a fixed SNS asset allocation as staked neurons. The ICP collected becomes the SNS treasury. All swap participants receive a basket of neurons with configurable dissolve delays.
32
32
33
33
The swap has a minimum and maximum ICP threshold:
34
34
- If the minimum is not met when the window closes, the swap fails: all ICP is refunded and control of the app reverts to the original fallback controllers.
@@ -45,7 +45,7 @@ Each SNS consists of five core canisters and a variable number of archive canist
45
45
| Canister | Purpose |
46
46
|---|---|
47
47
|**Governance**| Stores proposals and neurons; executes adopted proposals; calculates voting power and rewards. |
48
-
|**Ledger**| ICRC-1 ledger for the SNS's governance digital asset. |
48
+
|**Ledger**| ICRC-1 ledger for the SNS's governance asset. |
49
49
|**Root**| Sole controller of the governed app canisters; orchestrates canister upgrades. |
50
50
|**Swap**| Runs the decentralization swap during launch. |
51
51
|**Index**| Organizes ledger transactions by account for wallet and explorer queries. |
@@ -64,7 +64,7 @@ SNS neurons work similarly to NNS neurons, with a few differences:
64
64
- Maximum dissolve delay and the bonus it grants at that maximum (default: 8 years, 2x).
65
65
- Maximum age and the bonus it grants at that maximum (default: 4 years, 1.25x).
66
66
67
-
**Maturity.** If an SNS activates voting rewards, neurons accumulate maturity that can be disbursed (minted as digital assets), staked into the neuron for compounding, or auto-staked. The same maturity modulation mechanism as the NNS applies (±5% based on recent ICP/XDR rate movements).
67
+
**Maturity.** If an SNS activates voting rewards, neurons accumulate maturity that can be disbursed (minted as new assets), staked into the neuron for compounding, or auto-staked. The same maturity modulation mechanism as the NNS applies (±5% based on recent ICP/XDR rate movements).
68
68
69
69
## SNS proposals
70
70
@@ -100,7 +100,7 @@ All SNS instances include a standard set of built-in proposal types:
100
100
- Proposals to change governance settings and SNS metadata.
101
101
- Proposals to upgrade the SNS framework canisters.
102
102
- Proposals to register or deregister governed app canisters.
103
-
- Proposals to transfer treasury funds or mint new digital assets.
103
+
- Proposals to transfer treasury funds or mint new assets.
104
104
105
105
### Custom proposals
106
106
@@ -118,14 +118,16 @@ Each SNS independently decides whether to enable voting rewards, and if so, what
118
118
119
119
The formula between `t_start` and `t_start + t_delta` is: `R(t) = r_min + (r_max − r_min) × [(t_start + t_delta − t) / t_delta]²`. After `t_start + t_delta`, the rate is constant at `r_min`.
120
120
121
+

122
+
121
123
If `VotingRewardsParameters` is not set at all, voting rewards are disabled.
122
124
123
-
User rewards (distributing existing treasury digital assets to active app users) are a separate mechanism: an SNS-controlled canister holds a digital asset reserve and pays out rewards according to its own logic.
125
+
User rewards — distributing existing treasury assets to active app users — are a separate mechanism: an SNS-controlled canister holds an asset reserve and pays out rewards according to its own logic.
124
126
125
127
## Next steps
126
128
127
129
-[Governance](governance.md): NNS and SNS overview, including neurons, proposals, and voting rewards
128
-
-[SNS settings reference](../references/sns-dao-settings.md): all configurable nervous system parameters
130
+
-[SNS settings reference](../references/sns-settings.md): all configurable nervous system parameters
129
131
-[Launch an SNS](../guides/governance/launching.md): step-by-step guide to the decentralization process
130
132
-[Manage a live SNS](../guides/governance/managing.md): proposals, upgrades, and treasury management after launch
Copy file name to clipboardExpand all lines: docs/references/sns-settings.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,15 +3,15 @@ title: "SNS Settings"
3
3
description: "Reference for all SNS nervous system parameters (NervousSystemParameters)"
4
4
---
5
5
6
-
Each SNS is customized through its **nervous system parameters**, also called SNS settings. These parameters govern voting power calculation, governance rules, digital asset economics, and reward behavior. Parameters are set at launch and can be changed by governance proposal at any time.
6
+
Each SNS is customized through its **nervous system parameters**, also called SNS settings. These parameters govern voting power calculation, governance rules, asset economics, and reward behavior. Parameters are set at launch and can be changed by governance proposal at any time.
7
7
8
8
For background, see [SNS framework](../concepts/sns-framework.md).
9
9
10
10
## Neuron settings
11
11
12
12
| Parameter | Type | Description |
13
13
|---|---|---|
14
-
|`neuron_minimum_stake_e8s`|`nat64`| Minimum number of e8s (10⁻⁸ of the SNS digital asset) that can be staked in a neuron. Must be larger than `transaction_fee_e8s`. |
14
+
|`neuron_minimum_stake_e8s`|`nat64`| Minimum number of e8s (10⁻⁸ of the SNS asset) that can be staked in a neuron. Must be larger than `transaction_fee_e8s`. |
15
15
|`max_number_of_neurons`|`nat64`| Maximum number of neurons allowed. New neurons are blocked once this ceiling is reached. Ceiling: 200,000. |
16
16
|`max_number_of_principals_per_neuron`|`nat64`| Maximum number of principals that can hold permissions for a single neuron. |
17
17
|`neuron_claimer_permissions`| permission set | The set of permissions automatically granted to the principal that claims a new neuron. |
0 commit comments