Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 12 additions & 4 deletions docs/learn/protocol-overview/tokenomics/payments.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,25 @@ sidebar_position: 2

# Payments

Payments are facilitated by maintaining a cluster balance in the SSV network smart contract, which keeps a balance sheet for all clusters. All balances are in the unit of the SSV token itself.
Payments are facilitated by maintaining a cluster balance in the SSV network smart contract, which keeps a balance sheet for all clusters.

Clusters are created when registering validators to the network are accessible and owned by the wallet address that transmitted the transaction. This means that the address is the cluster's owner, enabling it to manage its balance and its chosen validators/operators.
**Clusters pay fees in native ETH**, providing simpler and more efficient fee payment.

Clusters are created when registering validators to the network and are accessible and owned by the wallet address that transmitted the transaction. This means that the address is the cluster's owner, enabling it to manage its balance and its chosen validators/operators.

:::warning Legacy SSV Clusters
Existing SSV-based clusters are treated as legacy. Support for actively operating them under the SSV payment model has been removed. While these clusters may continue running as long as they have sufficient runway, they can no longer be maintained through operational changes.

**The only forward path is [migration to ETH](../../../stakers/cluster-management/migrating-to-eth-clusters.md).**
:::

The most important concept behind cluster balance calculation is that it depends on essentially three factors:

* Network fee
* Operator fees
* Number of validators
* Effective balance

And all of them can change at any point in time. So in order to maintain an up-to-date cluster balance, one would have to keep track of such factors, and the period for which they applied.
All of these factors can change at any point in time. To maintain an up-to-date cluster balance, the system tracks these factors and the period for which they applied.

These are tracked using an essential component called an Index.

Expand Down
4 changes: 2 additions & 2 deletions docs/stakers/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ sidebar_position: 1

# Stakers

Stakers using the ssv network come in various forms: staking services/providers, staking pools, or individual ETH holders that supply the initially required capital to enable validators on the beacon chain. To enable the operation of a distributed validator, stakers must pay a fee in SSV to their chosen operators for them to manage their validator(s).
Stakers using the ssv network come in various forms: staking services/providers, staking pools, or individual ETH holders that supply the initially required capital to enable validators on the beacon chain. To enable the operation of a distributed validator, stakers pay fees in native ETH to their chosen operators for them to manage their validator(s).

Users that leverage the SSV network’s DVT technology will promote optimal liveness, security, and decentralization for their validator(s).

Expand All @@ -19,7 +19,7 @@ If you'd like to start by understanding how Distributed Validators work on ssv n

Validators are distributed to several operators, forming a cluster. Each cluster has its balance to pay for network and operator fees, so you might want to [learn about cluster balance](/stakers/clusters/cluster-balance) and its caveats.

Practically speaking, there are several ways to interact with a cluster. For example, [adding more SSV to cluster's balance](/stakers/cluster-management/depositing-ssv/), [adding more validators](/stakers/cluster-management/adding-validator-to-existing-cluster), and other actions listed on [the Cluster Management section](/stakers/cluster-management).
Practically speaking, there are several ways to interact with a cluster. For example, [depositing ETH to fund your cluster](/stakers/cluster-management/depositing-eth/), [adding more validators](/stakers/cluster-management/adding-validator-to-existing-cluster), and other actions listed on [the Cluster Management section](/stakers/cluster-management).

Finally, there is an option to automate the onboarding through a script, if you manage a large number of validators. [Check out the example](/docs/developers/quickstart.md) of how to do it using our SDK is the starting place.

Expand Down
25 changes: 21 additions & 4 deletions docs/stakers/cluster-management/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,28 @@ sidebar_position: 5

# Cluster Management

All new clusters on SSV Network use **native ETH** for fee payments.

:::warning Legacy SSV Clusters
Existing SSV-based clusters are treated as legacy. Support for actively operating them under the SSV payment model has been removed. While these clusters may continue running as long as they have sufficient runway, they can no longer be maintained through operational changes.

**This means:**
- ❌ Adding new validators to SSV clusters is no longer supported
- ❌ Depositing additional SSV to extend runway is no longer supported
- ❌ Removing or exiting validators from SSV clusters is no longer supported

**The only forward path is [migration to ETH](./migrating-to-eth-clusters.md).** Migration automatically refunds your SSV balance.

For cluster owners who need more time to migrate, ensure you have deposited sufficient SSV in advance for operational runway until migration can be completed.
:::


**Follow the guides in this section:**
- [**Add validator**](./adding-validator-to-existing-cluster.md) to existing cluster
- [**Deposit SSV**](./depositing-ssv.md) to cluster's balance
- [**Withdraw SSV**](./withdrawing-ssv.md) from cluster's balance
- [**Re-activate a cluster**](./re-activating-a-cluster.md) if your SSV balance went to 0
- [**Deposit ETH**](./depositing-eth.md) to cluster balance
- [**Withdraw ETH**](./withdrawing-eth.md) from cluster balance
- [**Re-activate a cluster**](./re-activating-a-cluster.md) if your balance went to 0
- [**Update operators**](./update-operators.md) when you need to change one of the operators
- [**Exit a validator**](./exiting-a-validator.md)
- [**Remove a validator**](./removing-a-validator.md)
- [**Remove a validator**](./removing-a-validator.md)
- [**Migrate to ETH**](./migrating-to-eth-clusters.md) (for legacy SSV cluster owners)
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ sidebar_position: 1

# Adding validator to existing cluster

:::warning Legacy SSV Clusters
Adding validators to legacy SSV clusters is **no longer supported**. If you have a legacy SSV cluster, you must [migrate to ETH](./migrating-to-eth-clusters.md) first before adding new validators.
:::

### Connect your Web3 wallet to the WebApp

Make sure to connect your Web3 wallet with the WebApp, and that the address corresponds with the one you want to manage your Validators with.
Expand Down Expand Up @@ -71,17 +75,13 @@ The next screen presents a summary of your validator setup.

![add-validator-to-cluster](/img/add-validator-to-cluster-10.avif)

By clicking on Register validator, you'll be proposed to sign transactions to confirm your choice and transfer the SSV balance necessary to cover for the operational costs.

:::info
**Note:** If this is the first time you are registering a validator to ssv.network, you will be required to make two transactions - one to approve the SSV smart contract and another one to register the validator.
:::
By clicking on Register validator, you'll be proposed to sign a transaction to confirm your choice and deposit the ETH necessary to cover operational costs (if additional funding is needed).

![add-validator-to-cluster](/img/add-validator-to-cluster-11.webp)

### SSV Balance deposit
### ETH Balance deposit

Now, finalize the validator registration by signing the transaction and adding SSV tokens to your account balance.
Now, finalize the validator registration by signing the transaction and depositing ETH to your cluster balance.


<div style={{ display: 'flex', justifyContent: 'center' }}>
Expand Down
51 changes: 51 additions & 0 deletions docs/stakers/cluster-management/depositing-eth.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
---
title: Depositing ETH
sidebar_position: 2
---

# Depositing ETH to Cluster

All clusters on SSV Network use native ETH for fee payments to operators and the network. The cluster balance is necessary to reward operators and pay network fees.

For more information on cluster balance mechanics, please refer to [the dedicated learning page](/stakers/clusters/cluster-balance).

:::warning Legacy SSV Clusters
If you have a legacy SSV cluster, you cannot deposit additional SSV. The only way to maintain your cluster is to [migrate to ETH](./migrating-to-eth-clusters.md), which automatically refunds your SSV balance.
:::

### Connect your Web3 wallet to the WebApp

Make sure to connect your Web3 wallet with the WebApp, and that the address corresponds with the one you want to manage your Validators with.

:::info
**Note:** Your account is associated with your Web3 wallet.
:::

In the My Account page, select an active cluster and then click on the "Deposit" button.

ETH_FEES_FILLER_TEXT

In the next screen, you'll be asked to enter the amount of ETH you want to deposit.

ETH_FEES_FILLER_TEXT

Once you enter the amount, click on the _Deposit_ button.

ETH_FEES_FILLER_TEXT

The page will submit a transaction to the SSV Network smart contract. The ETH amount will be included as `msg.value` in the transaction. Check your Web3 wallet to confirm.

ETH_FEES_FILLER_TEXT

Now, finalize the deposit to the Cluster by signing the transaction.

ETH_FEES_FILLER_TEXT

You'll be taken back to the Cluster page, where the balance will be updated with the deposited ETH amount.

ETH_FEES_FILLER_TEXT

:::tip Operational Runway
Remember to maintain sufficient ETH balance to cover your cluster's operational costs. Monitor your runway regularly to avoid liquidation.
:::

46 changes: 0 additions & 46 deletions docs/stakers/cluster-management/depositing-ssv.md

This file was deleted.

4 changes: 4 additions & 0 deletions docs/stakers/cluster-management/exiting-a-validator.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ sidebar_position: 6

# Exiting a validator

:::info Exiting validators from legacy SSV clusters
You **can** exit validators from legacy SSV clusters. Exiting is one of the few operations still supported for legacy clusters, as it allows you to gracefully withdraw your stake from the beacon chain before letting the cluster liquidate or migrating to ETH.
:::

### Connect your Web3 wallet to the WebApp

Make sure to connect your Web3 wallet with the WebApp, and that the address corresponds with the one you want to manage your Validators with.
Expand Down
133 changes: 133 additions & 0 deletions docs/stakers/cluster-management/migrating-to-eth-clusters.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
---
title: Migrating to ETH Clusters
sidebar_position: 8
---

# Migrating to ETH Clusters

Legacy SSV clusters can be migrated to ETH clusters to continue active operations. Migration is the only path forward for maintaining and modifying SSV-based clusters.

:::danger One-Way Migration
**Migration from SSV to ETH is permanent and cannot be reverted.** Once you migrate, your cluster will exclusively use ETH for fee payments and cannot return to the SSV payment model.
:::

## Why Migrate?

After the network upgrade, legacy SSV clusters have limited functionality:

**❌ NOT Supported for SSV Clusters:**
- Adding new validators
- Depositing additional SSV
- Removing validators
- Re-activating liquidated clusters
- Updating operators (resharing)

**✅ Still Supported for SSV Clusters:**
- Running existing validators (until liquidation)
- Exiting validators

**✅ Fully Supported After Migration to ETH:**
- All cluster operations
- Adding/removing validators
- Depositing/withdrawing ETH
- Updating operators
- Re-activating if liquidated

## What Happens During Migration

When you migrate your cluster to ETH:

1. **ETH Deposit**: You deposit ETH to fund your cluster's operational runway
2. **SSV Refund**: Your entire SSV balance is automatically refunded to your wallet
3. **Cluster Conversion**: Your cluster switches to ETH-based fee accounting
4. **Continued Operation**: Your validators continue running without interruption

:::info Automatic SSV Refund
You do **not** need to manually withdraw SSV before migrating. The migration process automatically returns your full SSV balance to your wallet address.
:::

## Prerequisites

Before migrating, ensure you have:

- Access to the wallet that owns the cluster
- Sufficient ETH to cover:
- Initial cluster funding (operational runway)
- Gas fees for the migration transaction

:::tip Operational Runway
We recommend depositing enough ETH for at least 90 days of operations to avoid frequent top-ups.
:::

## Migration Process

### Via WebApp

:::info Coming Soon
The SSV WebApp will provide a guided migration flow.
**SCREENSHOTS/gUIDE TO FOLLOW IN ANOTHER PR**
:::

### Via Smart Contract

If you prefer to migrate directly via the smart contract, use the `migrateClusterToETH()` function:

```solidity
function migrateClusterToETH(
bytes calldata publicKey,
uint64[] calldata operatorIds,
Cluster calldata cluster
) external payable
```

**Parameters:**
- `publicKey` - Public key of any validator in the cluster
- `operatorIds` - Array of operator IDs managing the cluster
- `cluster` - Current cluster snapshot
- `msg.value` - ETH amount to deposit for operational runway

**The transaction will:**
1. Validate your cluster snapshot
2. Transfer your SSV balance back to your wallet
3. Accept your ETH deposit
4. Convert the cluster to ETH-based accounting
5. Emit `ClusterMigratedToETH` event

:::warning Cluster Snapshot Required
You need the current cluster snapshot (balance, index, active status, etc.) to call this function. Retrieve this from the [SSV Subgraph](/developers/tools/ssv-subgraph/subgraph-examples#cluster-snapshot) or [SSV Scanner](/developers/tools/ssv-scanner).
:::

## After Migration

Once migration is complete:

✅ **Your cluster is now ETH-based** and has full functionality

✅ **Your SSV balance has been refunded** to your wallet

✅ **You can:**
- Add new validators to the cluster
- Deposit or withdraw ETH as needed
- Update operators (reshare)
- Remove validators
- Perform all standard cluster operations

## FAQ

**Q: What happens to my SSV balance?**
A: Your full SSV balance is automatically refunded to your wallet during migration. You don't need to withdraw it first.

**Q: Can I migrate back to SSV after migrating to ETH?**
A: No. Migration is one-way and permanent.

**Q: Will my validators experience downtime during migration?**
A: No. Your validators continue running without interruption throughout the migration process.

**Q: What if I have insufficient SSV runway before I can migrate?**
A: Ensure you deposit sufficient SSV in advance to maintain operations until you complete the migration. If your cluster is liquidated before migration, you'll need to reactivate it with ETH directly.

**Q: Do I need to inform my operators about migration?**
A: No. Operators can serve both SSV and ETH clusters during the transition. Your migration happens automatically from their perspective.

**Q: Can I deposit more ETH after migrating?**
A: Yes. After migration, you can [deposit ETH](./depositing-eth.md) at any time to extend your operational runway.
10 changes: 8 additions & 2 deletions docs/stakers/cluster-management/re-activating-a-cluster.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@ title: Re-activating a cluster
sidebar_position: 4
---

# Re-activating a cluster

:::warning Legacy SSV Clusters
Re-activating legacy SSV clusters is **no longer supported**. If your legacy SSV cluster was liquidated, you must [migrate to ETH](./migrating-to-eth-clusters.md) to continue operating on the network.
:::

### Connect your Web3 wallet to the WebApp

Make sure to connect your Web3 wallet with the WebApp, and that the address corresponds with the one you want to manage your Validators with.
Expand All @@ -19,7 +25,7 @@ In the Cluster page, click on the **Reactivate Cluster** button

![reactivate-cluster](/img/reactivate-a-cluster-2.avif)

In the next screen, you'll be asked to choose the cluster runway, which will impact the amount of SSV you will have to deposit to reactivate the cluster.
In the next screen, you'll be asked to choose the cluster runway, which will impact the amount of ETH you will have to deposit to reactivate the cluster.

![reactivate-cluster](/img/reactivate-a-cluster-3.avif)

Expand All @@ -37,6 +43,6 @@ Now, finalize the validator reactivation by signing the transaction.
/>
</div>

You'll be taken back to the Cluster page, where the balance will be updated with the amount of SSV tokens deposited.
You'll be taken back to the Cluster page, where the balance will be updated with the amount of ETH deposited.

![reactivate-cluster](/img/reactivate-a-cluster-6.avif)
Loading