diff --git a/docs/learn/protocol-overview/tokenomics/README.md b/docs/learn/protocol-overview/tokenomics/README.md index 8ad3b24..1751ddb 100644 --- a/docs/learn/protocol-overview/tokenomics/README.md +++ b/docs/learn/protocol-overview/tokenomics/README.md @@ -17,6 +17,9 @@ The network uses ETH-based payments for clusters and operators: This transition from SSV token payments to ETH enables the network to generate real ETH revenue that can be distributed to SSV stakers. +![Operators receive ETH payments and generate ETH rewards for stakers. Stakers pay ETH and receive generated ETH rewards in return.](/img/tokenomics-readme-1.png) +*Operators receive ETH payments and generate ETH rewards for stakers. Stakers pay ETH and receive generated ETH rewards in return.* + ### Legacy SSV Clusters Existing SSV token-based clusters continue to operate: @@ -56,4 +59,4 @@ The new economic model creates sustainable, circular value flow: 5. **More SSV staked** → Stronger oracle infrastructure 6. **Stronger network** → Attracts more ETH validators -This positive feedback loop ties SSV token value directly to real network usage and revenue. \ No newline at end of file +This positive feedback loop ties SSV token value directly to real network usage and revenue. diff --git a/docs/operators/README.md b/docs/operators/README.md index d248c09..86867d8 100644 --- a/docs/operators/README.md +++ b/docs/operators/README.md @@ -7,7 +7,7 @@ sidebar_position: 1 Operators provide hardware infrastructure, run the SSV protocol (SSV Node), and are responsible for maintaining the overall health of ssv.network. Operators determine their own fees and are compensated for their integral services to the network by operating and maintaining validators on-behalf of stakers. -![Operators receive SSV payments and generate ETH rewards for stakers. Stakers pay SSV and receive generated ETH rewards in return.](/img/tokenomics-readme-1.avif) +![Operators receive ETH payments and generate ETH rewards for stakers. Stakers pay ETH and receive generated ETH rewards in return.](/img/tokenomics-readme-1.png) ## How to participate in SSV diff --git a/docs/operators/operator-onboarding/README.md b/docs/operators/operator-onboarding/README.md index fb6363e..3286a35 100644 --- a/docs/operators/operator-onboarding/README.md +++ b/docs/operators/operator-onboarding/README.md @@ -14,9 +14,17 @@ This can be done by installing the [node software](/operators/operator-node/) on ### Operator Fee -Operators set their own fees - denominated in SSV tokens - to be charged per each validator that selects them as one of their operators. +:::tip ETH vs SSV fees +**Previously registered operators** will have 2 separate balances — in ETH and SSV token. Once all clusters they manage migrate to ETH, the operator will only have ETH balance. -Operator earnings are paid to their account balance, and can be withdrawn to their wallet at any time. +**All newly registered operators** will only have ETH balance, without an option to be paid in SSV token. +::: + +Operators set their own fees denominated in ETH. This fee will be charged per each 32 ETH staked with validators that selects them as one of their operators. + +Fees in SSV (legacy) can not be changed and are charged per each validator, regardless of their effective balance. + +Operator earnings are paid to their account balance(s), and can be withdrawn to their wallet at any time. **Fee Configuration** @@ -24,14 +32,13 @@ Operators initially set their fee when registering an operator to the network. Fees are presented as annual payments, but in practice are paid to operators continuously as an ongoing process - per each passed block. -This means that when setting the operator fee through the smart contract (whether at registration or fee updates), operators should set their preferred fee according to a fee per block format. +Please note, if you set your operator fee through the smart contract (whether at registration or fee updates), the value should be according to a fee per block format. * To calculate fee per block according to a desired annual fee in fiat (USD): -$$ Fee\;per\;block = \dfrac{Annual\;Fee_{usd}}{SSV_{usd}}\;/\;Blocks_{year} $$ - +$$ Fee\;per\;block = \dfrac{Annual\;Fee_{usd}}{ETH_{usd}}\;/\;Blocks_{year} $$ Where: - $\text{Annual Fee}_{usd}$ - desired fee per year in USD -- $SSV_{usd}$ - SSV price in USD +- $ETH_{usd}$ - ETH price in USD - $Blocks_{year}$ - avg. number of blocks per year ([reference](https://ycharts.com/indicators/ethereum_blocks_per_day)) diff --git a/docs/operators/operator-onboarding/offboarding.md b/docs/operators/operator-onboarding/offboarding.md index 0c95d2c..d5df22d 100644 --- a/docs/operators/operator-onboarding/offboarding.md +++ b/docs/operators/operator-onboarding/offboarding.md @@ -12,7 +12,7 @@ An operator can choose to leave the network at any time. Choosing to remove an o * Remove themself from the network and they will no longer be discoverable by other validators. :::warning -Please be aware: this process is irreversible and removed Operators would not be able to reactivate or register this operator back in the future. +Please be aware: this process is **irreversible** and removed Operators would not be able to reactivate or register this operator back in the future. Attempting to register an Operator using the same private key will result in an error. In such a case, Operator registration must be done with with a new key. ::: diff --git a/docs/operators/operator-onboarding/permissioned-operators.md b/docs/operators/operator-onboarding/permissioned-operators.md index d7e0f7e..b4a9fc7 100644 --- a/docs/operators/operator-onboarding/permissioned-operators.md +++ b/docs/operators/operator-onboarding/permissioned-operators.md @@ -5,15 +5,23 @@ sidebar_position: 5 # Permissioned Operators -### What are Permissioned Operators? +## What are Permissioned Operators? Permissioned Operators (also known as "Private") are Operators that have selected to authorize only a list of wallet addresses to register validators to them. There are multiple reasons why an Operator would want this, and various reasons why they would **not** want to choose this option, and why this disabled by default. -:::tip New feature -The latest version of the SSVNetworks smart contract adds the ability to set multiple whitelisted addresses to multiple operators in bulk. Information on how to do this via the webapp can be found [here](/operators/operator-management/configuring-a-permissioned-operator). +### How to become a Permissioned Operator? + +The **`setOperatorMultipleWhitelists`** smart contract function allows to whitelist a set of addresses to a number of different with the permission to register validators to the specified operators. + +Conveniently, [the ssv.network WebApp](https://app.ssv.network/) offers a way to interact with the smart contract through a UI, and you can get guidance on the process [on this page in this documentation](/operators/operator-management/configuring-a-permissioned-operator). + +:::info +It's important to note that configuring Permissioned Operator only affects **future validator registrations**. + +If any number of validators have already been registered to various clusters that include a certain Operator, configuring this Operator to become a Permissioned Operator **will not** cause these validators to stop working. ::: -#### How to identify Permissioned Operators +### How to identify Permissioned Operators When an Operator owner chooses to identify their Operator as Permissioned, **any smart contract transaction to register a validator with such Operator will fail**, if the sender of the transaction is not included in the list of whitelisted addresses. @@ -25,13 +33,13 @@ Similarly, the [SSV Explorer](https://explorer.ssv.network/operators/1) also sho ![permissioned-operator](/img/permissioned-operators-2.avif) -#### SSV Subgraph +### SSV Subgraph SSV also provide a subgraph to easily look up information on permissioned Operators, this tracks all the events surrounding whitelisting and means we can check which operators are private, and which addresses are whitelisted per operator. You can find out more details on how to use the subgraph [**here**](../../developers/tools/ssv-subgraph/)**.** One last way to verify this is to use the [SSV Network Views smart contract](../../developers/smart-contracts/ssvnetworkviews.md#getoperatorbyid-operatorid). -#### Use Cases +### Use Cases Since setting an operator as Permissioned Operator has the consequence of renouncing from potentially being chosen by public customers to operate their validators, let's talk about the upsides, and why one would choose to do so. The main use cases for a Permissioned Operator are: @@ -48,14 +56,3 @@ The team could elect to reduce Operator Fees to 0, but this would mean that **ev In practical terms, this means renouncing the potential profits from public customers choosing their Operator and paying Operator fees, but if the team projects that the service fees paid to the Staking Service and the convenience of not paying Operator fees will outweigh the potential missed revenue, then this is the right choice for them. -### How to become a Permissioned Operator? - -The **`setOperatorMultipleWhitelists`** smart contract function allows to whitelist a set of addresses to a number of different with the permission to register validators to the specified operators. - -Conveniently, [the ssv.network WebApp](https://app.ssv.network/) offers a way to interact with the smart contract through a UI, and you can get guidance on the process [on this page in this documentation](/operators/operator-management/configuring-a-permissioned-operator). - -:::info -It's important to note that configuring Permissioned Operator only affects **future validator registrations**. - -If any number of validators have already been registered to various clusters that include a certain Operator, configuring this Operator to become a Permissioned Operator **will not** cause these validators to stop working. -::: diff --git a/docs/operators/operator-onboarding/update-fee.md b/docs/operators/operator-onboarding/update-fee.md index a85d51a..0326f4d 100644 --- a/docs/operators/operator-onboarding/update-fee.md +++ b/docs/operators/operator-onboarding/update-fee.md @@ -9,7 +9,7 @@ On this page you will find educational concepts, to see the actionable steps to Fees are initially set when registering an operator but can be changed at any point in time. -Fee changes are generally initiated to stay competitive with other operators or to align with SSV market price fluctuations. +Fee changes are generally initiated to stay competitive with other operators. ### Fee Increase Process diff --git a/docs/stakers/incentivized-mainnet.md b/docs/stakers/incentivized-mainnet.md new file mode 100755 index 0000000..09e3c49 --- /dev/null +++ b/docs/stakers/incentivized-mainnet.md @@ -0,0 +1,47 @@ +--- +description: Boosted APR +sidebar_position: 2 +--- + +# Boosted APR + +Our tiered incentive program fosters accelerated usage of SSV network via boosted rewards. Each validator staked on SSV Mainnet network is eligible for claiming Incentives, which boosts APR. + +## How to claim rewards +You can find technical details about the program below. If you are aware of the program, feel free to claim the rewards on any of the following pages: +- https://www.ssvrewards.com/ +- https://ssvscan.io/claim/ +- https://monitorssv.xyz/claim + +📜 **Mainnet Rewards Distributor Contract Address:** +`0xe16d6138B1D2aD4fD6603ACdb329ad1A6cD26D9f` +Refer to the documentation for details: [SSV Smart Contracts Docs](/developers/smart-contracts#ethereum-mainnet) + +## What is Incentivized Mainnet Program + +The Incentivized Mainnet Program (IMP) [is an initiative from SSV Network DAO](https://forum.ssv.network/t/dip-34-incentivized-mainnet-program-revision-3/1908), made available by the SSV Foundation, designed to accelerate the adoption of Distributed Validator Technology (DVT) by rewarding participants with SSV Tokens who operate validators on the SSV Network. Launched in October 2023, the program offers tiered rewards to incentivize early and continued participation. + +You can find more details on [the IMP FAQ page](https://ssv.network/incentivized-mainnet-faq). + +### Reward Tiers +The program tiers and corresponding APR boosts is structured according to the effective balance, as opposed to the number of validators. + +An Online IM reward calculator can be [found on this page](https://ssv.network/incentivized-mainnet). + +| Tier (Effective Balance) | APR Boost | +|---------------------------|-----------| +| 1,440,032 - 3,200,000 ETH | 10% | +| 3,200,032 - 4,000,000 ETH | 7.5% | +| 4,000,032 - 4,800,000 ETH | 6% | +| 4,800,032 - 5,600,000 ETH | 5% | +| 5,600,032 - 6,400,000 ETH | 3.5% | + +### Reward Distribution Flow +This rewards distribution flow is repeated monthly. Usually, the rewards are distributed around the middle of the following month: +1. A snapshot is taken of all active validators on the SSV Network. +2. After the snapshot is finished, calculations are made and published on the SSV governance forum. +3. A merkle root is published on-chain which enables eligible validators to claim their rewards. +4. After the merkle root is updated on-chain, rewards can be claimed. + +Updates are posted every month in this SSV Governance Forum thread: +[Incentivized Mainnet Distribution Details](https://forum.ssv.network/t/incentivized-mainnet-program-distributions/). \ No newline at end of file diff --git a/static/img/tokenomics-readme-1.avif b/static/img/tokenomics-readme-1.avif deleted file mode 100644 index 5913916..0000000 Binary files a/static/img/tokenomics-readme-1.avif and /dev/null differ diff --git a/static/img/tokenomics-readme-1.png b/static/img/tokenomics-readme-1.png new file mode 100644 index 0000000..a0435a2 Binary files /dev/null and b/static/img/tokenomics-readme-1.png differ