diff --git a/docs/docs/protocol-concepts/Fees.mdx b/docs/docs/fees/intro.mdx similarity index 95% rename from docs/docs/protocol-concepts/Fees.mdx rename to docs/docs/fees/intro.mdx index d0c7d2f..5902df5 100644 --- a/docs/docs/protocol-concepts/Fees.mdx +++ b/docs/docs/fees/intro.mdx @@ -1,6 +1,6 @@ --- title: Fees -sidebar_position: 4 +sidebar_position: 0 description: "Learn about fees in StakeWise protocol" --- @@ -25,7 +25,7 @@ $$ A Vault fee is a percentage fee charged by Vault operators on staking rewards. This fee varies by Vault operator and can range **from 0% to 100%**. -The fee is automatically deducted from staking rewards when the Vault state is updated and is transferred to the Vault’s designated fee recipient (typically the Vault operator). +The fee is automatically deducted from staking rewards when the Vault state is updated and is transferred to the Vault's designated fee recipient (typically the Vault operator). The fee is a **dynamic parameter** set during the Vault creation process. Importantly, fees can only be increased by **20% at a time** (e.g., from 5% to 6%) with **a 3-day delay** between updates. diff --git a/docs/docs/governance/dao-treasury.mdx b/docs/docs/governance/dao-treasury.mdx new file mode 100644 index 0000000..39773f9 --- /dev/null +++ b/docs/docs/governance/dao-treasury.mdx @@ -0,0 +1,34 @@ +--- +title: DAO Treasury +sidebar_position: 2 +--- + +# DAO Treasury + +
Learn more about the Treasury
+ +The DAO Treasury is a [Gnosis Safe ↗](https://safe.global/) with a committee of 7 persons and a [SafeSnap Module ↗](https://docs.snapshot.box/v1-interface/plugins/safesnap-reality) that allows the submission of transactions on behalf of the governance token holders. + +**Treasury Addresses:** +- **Ethereum:** [0x144a98cb1CdBb23610501fE6108858D9B7D24934 ↗](https://etherscan.io/address/0x144a98cb1CdBb23610501fE6108858D9B7D24934) +- **Gnosis:** [0x8737f638E9af54e89ed9E1234dbC68B115CD169e ↗](https://gnosisscan.io/address/0x8737f638E9af54e89ed9E1234dbC68B115CD169e) + +The goal of the DAO committee is to monitor and reject the transactions that are not supposed to be executed on behalf of the DAO Treasury, since such malicious transactions can be submitted by an arbitrary account. In order to reject the transaction, a threshold of 4 out of 7 committee members must sign the rejection. + +As the \$SWISE tokens become more distributed with time, the community will be able to fulfill the committee responsibilities by placing \$SWISE bonds on whether the transaction should be executed or not. As a result, the committee could be dissolved in the future. + +## Current Committee Members (Multisig) + +- **[Ali Nuraldin ↗](https://x.com/Ali_run)** (0x7E36F1fF26cffD6906c11Cd7Eca5f6E993Ba6CE3) +- **[Andreas Dittrich ↗](https://www.linkedin.com/in/andreas-dittrich-eu/?originalSubdomain=de)** (0xc0c9707B552C6970f66Ab91D563Bf9b6048E9da6) +- **[Auryn Macmillan ↗](https://x.com/auryn_macmillan)** (0x9Aa6Db877742aD8D8c7fE209F561fbd2bE19D5F4) +- **[Dmitri Tsumak ↗](https://x.com/tsudmi)** (0x61B01a33Aea3e827B3941Ab097778bd3FA48a332) +- **[Gleb Dudka ↗](https://x.com/gleb0x)** (0xC46e791d4fB1207fAB8Cb0e44889127138539c69) +- **[Mikko Ohtamaa ↗](https://x.com/moo9000)** (0x9cC9c3de8e710781983a65b90B7efEaaD2D3D7D8) +- **[Otto de Voogd ↗](https://x.com/ottodv)** (0x1C86117156Ba31b5d62f02eB56bE9aC5a06610d3) + +## Former Committee Members (rotated after the DAO vote) + +- **[Anthony Sassano ↗](https://x.com/sassal0x)** (0x648aA14e4424e0825A5cE739C8C68610e143FB79) +- **[Jascha Samadi ↗](https://x.com/jaschasamadi)** (0x152E9Af50257Fc12a84Bb47241cc0bd01ECD2ac1) +- **[Miko Matsumura ↗](https://x.com/mikojava)** (0xA2E49855d672C3258A8442FA15F9Bc28f5A55980) diff --git a/docs/docs/governance/intro.mdx b/docs/docs/governance/intro.mdx new file mode 100644 index 0000000..59b4640 --- /dev/null +++ b/docs/docs/governance/intro.mdx @@ -0,0 +1,30 @@ +--- +title: Governance +sidebar_position: 0 +--- + +# Governance + +StakeWise is governed by its community through the **SWISE** token. The governance system empowers token holders to shape the protocol's future by voting on key parameters and proposals. + +## How Governance Works + +The StakeWise DAO is responsible for making critical decisions about the protocol, including: + +- Setting fees and commissions +- Managing oracles and node operators +- Approving protocol upgrades and new features +- Controlling the DAO Treasury + +Governance decisions are implemented through **StakeWise Improvement Proposals (SWIPs)**, which are discussed and voted on by SWISE token holders. + +:::custom-stakewise[Participate in Governance] +Join the conversation and vote on proposals at [StakeWise Forum ↗](https://forum.stakewise.io/) and [StakeWise Snapshot ↗](https://vote.stakewise.io/#/) +::: + +## Governance Structure + +The governance system consists of two main components: + +- **[StakeWise DAO →](./stakewise-dao)**: The community-driven governance mechanism powered by the SWISE token +- **[DAO Treasury →](./dao-treasury)**: A multi-signature wallet managed by a committee that executes approved governance decisions diff --git a/docs/docs/governance/stakewise-dao.mdx b/docs/docs/governance/stakewise-dao.mdx new file mode 100644 index 0000000..36724d8 --- /dev/null +++ b/docs/docs/governance/stakewise-dao.mdx @@ -0,0 +1,50 @@ +--- +title: StakeWise DAO +sidebar_position: 1 +--- + +# StakeWise DAO + +Learn the basics of StakeWise DAO governance
+ +## Community-first approach + +The sole purpose of StakeWise's existence is to make staking as seamless and profitable as possible. + +Community feedback and adoption matter a lot for achieving this goal, and therefore StakeWise aims to create a cohesive community of stakers by putting the governance of the protocol in their hands. + +## Role of the DAO + +The DAO's job will be to govern the important system parameters like: + +- fees paid by stakers, +- commissions paid to node operators, +- onboarding and offboarding of oracles and node operators, +- principles of liquidity mining campaigns, +- whitelisting of gauge contracts, +- Insurance Fund payout triggers, +- approval of contract changes for the introduction of new features, and more. + +When choosing these parameters, the community will need to optimize for both its immediate interests as stakers and the long-term success of the protocol through a correct choice of parameters. + +## Tokenomics + +:::custom-info[$SWISE Token Contract] +`0x48C3399719B582dD63eB5AADf12A40B4C3f52FA2` +::: + + +Token allocation and emission
+ +Alignment of interests of the platform and its participants shall happen through an allocation of 51% of the governance token supply to the community and the existence of basic mechanisms that allow gaining voting power by simply staking with StakeWise. Other token holders will be investors and the development team behind StakeWise. + +**Total supply:** 1,000,000,000 $SWISE + +**Vesting & allocation:** + +- **Community:** 510,000,000 $SWISE, 4-year vesting +- **Investors:** 251,500,000 $SWISE, 6-month cliff + 18-month linear vesting +- **Team:** 217,000,000 $SWISE, 6-month cliff + 42-month linear vesting +- **Future fundraise:** 21,500,000 $SWISE, available immediately + +The starting date for the emission is April 1st, 2021. diff --git a/docs/docs/guides/01-running-a-vault.mdx b/docs/docs/guides/01-running-a-vault.mdx deleted file mode 100644 index 5c09ab9..0000000 --- a/docs/docs/guides/01-running-a-vault.mdx +++ /dev/null @@ -1,177 +0,0 @@ ---- -title: Running a Vault -sidebar_position: 2 ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; -import Admonition from '@theme/Admonition'; -import useBaseUrl from '@docusaurus/useBaseUrl'; - -# Running a Vault - -This comprehensive guide walks you through creating your own StakeWise Vault step by step. - -A [Vault →](/docs/protocol-concepts/Vaults) is a customizable smart contract that can be deployed by anyone to stake their own capital and/or offer staking to others, all in a non-custodial way. - -Each Vault is isolated from others and relies on its own set of validators to produce rewards on the consensus layer. However, a Vault may participate in [MEV smoothing →](/docs/protocol-concepts/Vaults/#mev-strategy) to avoid volatility in the execution layer earnings. - -Staked ETH/GNO in any Vault can be made liquid by minting [osETH/osGNO →](/docs/protocol-concepts/osToken) – a liquid staking token. - -Choose your settings based on your intended use case: - -| Use case | Recommended settings | -|----------|---------------------| -| 🏠 **Liquid solo staking** | • 0% fee • Private Vault • No Vault token • Smoothing Pool | -| 🌐 **Community staking pool** | • Custom capacity & fee • Public Vault • No Vault token • Smoothing Pool | -| 🏢 **Node operator service** | • Custom capacity & fee • Private Vault per customer • No Vault token • Smoothing Pool (compliance dependent) | -| 💎 **Service with custom LST** | • Custom capacity & fee • Public Vault • Enable Vault token • Smoothing Pool (compliance dependent) | -| 🔒 **Service without LST** | • Custom capacity & fee • Public Vault • No Vault token • Disable osToken access | - -:::custom-notes[New to these terms?] -Learn about [Vault token →](/docs/protocol-concepts/Vaults#erc-20-vaults--for-custom-utility--liquidity-ecosystem), [Smoothing Pool →](/docs/protocol-concepts/Vaults#smoothing-pool--pooled-rewards), [osToken →](/docs/protocol-concepts/osToken), and [Public vs Private Vaults →](/docs/protocol-concepts/Vaults#vault-type). -::: - -💡 Don't see your use case above? Contact the [StakeWise team 📧](mailto:info@stakewise.io) for personalized guidance. - -Below you'll find step-by-step instructions to create your Vault and get it running. - -## How to create a Vault? - -### Getting Started - -:::custom-notes[Wallet Requirements] -You'll need an Ethereum wallet such as [Rabby Wallet ↗](https://rabby.io/). -The process will look very similar in other wallets. -::: - -1. Navigate to the [StakeWise App ↗](https://app.stakewise.io) and go to the **"Operate"** section -2. Click the **"Create Vault"** button on the **"Operate your vault"** page to begin the setup process - -### Step 1: Configure Vault Parameters - -The first step involves setting up the fundamental parameters for your Vault. - -:::custom-warning[Permanent Settings] -Most of these settings **cannot be changed later**. Choose carefully before proceeding. -::: - -- **📐 Vault Capacity** – Set maximum ETH capacity (default: unlimited ∞). [Learn more →](/docs/protocol-concepts/Vaults#capacity) -- **💎 Vault Token** – Enable tradeable ERC-20 token (requires name & symbol) -- **🔑 Private Vault** – Restrict to approved wallets only -- **⚠️ Block List** – Prevent specific addresses from depositing - -:::custom-info[Vault Fees] -**💰 Vault Fees** can be set during creation and updated later. [Learn more about fee management →](/docs/protocol-concepts/Fees#vault-fees) -::: - -:::custom-warning[Required Acknowledgment] -You must check **"I understand that the parameters above cannot be changed later"** before proceeding. -::: - -### Step 2: Block Rewards Destination - -Choose how block rewards are distributed. This is a **permanent decision**. - -Most operators choose [Smoothing Pool →](/docs/protocol-concepts/Vaults#smoothing-pool--pooled-rewards) for stable returns, while [Vault Escrow →](/docs/protocol-concepts/Vaults#own-escrow--own-rewards) gives you full control but with volatile rewards. - -:::custom-warning[Required Acknowledgment] -You must check **"I understand that block rewards destination cannot be changed later"** before proceeding. -::: - -### Step 3: Add Branding - -Customize your Vault's appearance with name, description, and logo. - -:::custom-notes[Branding Can Be Changed Later] -Unlike Vault parameters, you can update branding anytime via your Vault interface: press **Settings → Branding → Edit → Save**. -::: - -### Step 4: Summary - -Review all your settings before final submission. This is your last chance to verify everything is correct, such as name, type, MEV strategy, fees, and capacity. - -:::custom-warning[Risk Acknowledgment] -You must check **"I understand the risks of operating the Vault and confirm my configuration choices"** before proceeding. -::: - -Click **"Create Vault"** to submit your configuration and create the Vault. - -### Step 5: Transaction Confirmation - -Complete the blockchain transaction to deploy your Vault. - -1. **Review Details**: Verify the transaction details in your wallet -2. **Confirm**: Click **"Confirm"** to submit the transaction -3. **Wait**: Transaction confirms (~12 sec) - -Once the transaction confirms, your Vault is live and operational! 🎉 - -Your new Vault appears: -- ✅ Listed on the Operate page as "Your Name Vault" -- 📅 Shows creation date: "Created [date]" -- 🔧 Displays MEV strategy and Vault type - -At the bottom of your Vault page, you'll see the **"Details"** section containing all the important information about your Vault. - -:::custom-info[Next Steps After Creation] - -**Set up validators** – Essential for Vault operation - -**Reach out to the [StakeWise team 📧](mailto:info@stakewise.io)** for Vault verification (better visibility and trust with potential stakers) -::: - -## Vault Administration - -Once your Vault is created, you can manage all settings through the **"Settings"** button in the StakeWise interface. - -### What You Can Control - ---Staking Flow -
Your Assets →
StakeWise Vaults →
osTokens → 💰 Earn Rewards -
--Unstaking Flow - 🔥 Burn osTokens → 🚪 Unstaking → 📥 Claim Rewards → 👛 Receive Assets -
[Staking →](/docs/guides/staking/intro)
+Learn how to stake your ETH and GNO with StakeWise. Choose from one-click staking, Vault staking, or solo staking options.
+
+### 🏗️ [Running a Vault →](/docs/guides/running-a-vault/how-to-create-a-vault)
+Create and manage your own StakeWise Vault. Set up custom parameters, branding, and start accepting deposits.
+
+### 💰 [Fee Splitter →](/docs/guides/fee-splitter)
+Configure fee distribution among multiple shareholders for your Vault's staking rewards.
+
+###
[DeFi →](/docs/guides/defi/intro)
+Maximize your staking rewards with DeFi strategies like Boost and liquidity provision.
+
+### 🔄 [StakeWise V2 →](/docs/guides/stakewise-v2/migrate-to-stakewise-v3-on-ethereum)
+Migration guides and resources for StakeWise V2 users.
diff --git a/docs/docs/guides/running-a-vault/getting-your-vault-running.mdx b/docs/docs/guides/running-a-vault/getting-your-vault-running.mdx
new file mode 100644
index 0000000..9e01c13
--- /dev/null
+++ b/docs/docs/guides/running-a-vault/getting-your-vault-running.mdx
@@ -0,0 +1,31 @@
+---
+title: Getting Your Vault Running
+sidebar_position: 3
+---
+
+import Admonition from '@theme/Admonition';
+
+# Getting Your Vault Running
+
+To start accepting ETH in your Vault, your infrastructure must be properly set up.
+Follow the steps below to get everything running.
+
+**🚀 Setup difficulty:** Moderate – requires running Ethereum nodes and basic command-line familiarity.
+
+## Setup Checklist ✅
+
+**1. Execution Client** – A fully synced execution client that supports the [ETH Execution API specification ↗](https://ethereum.github.io/execution-apis/api-documentation/).
+Supported clients include Nethermind, Besu, Erigon, Geth, and Reth.
+[Detailed setup instructions →](/operator/Prerequisites#execution-client).
+
+**2. Consensus Client** – A fully synced consensus client that supports the [ETH Beacon Node API specification ↗](https://ethereum.github.io/beacon-APIs/#/).
+Supported clients include Lighthouse, Nimbus, Prysm, Teku, and Lodestar.
+[Detailed setup instructions →](/operator/Prerequisites#consensus-client)
+
+**3. MEV-Boost** – Set up MEV-Boost to capture execution layer rewards. If your Vault uses the Smoothing Pool, you must use one of the StakeWise DAO-approved MEV relays.
+[Learn about MEV strategy options →](/docs/vaults/customization#mev-strategy) and [Smoothing Pool relays →](/operator/smoothing-pool-relays).
+
+**4. Operator Service** – Specialized software that automates essential validator management tasks for your Vault, such as validator registrations, withdrawals, state updates, and fee claims.
+The Operator Service runs seamlessly with any node setup, supporting your preferred execution and consensus clients, MEV relay, and distributed validator technology. [Complete setup guide →](/operator/intro)
+
+**5. Running Validators** – You must upload the allocated validator keys to the validator client and start it. Instructions can be found on your consensus client's page. The validators will be registered automatically via the Operator Service.
diff --git a/docs/docs/guides/running-a-vault/how-to-create-a-vault.mdx b/docs/docs/guides/running-a-vault/how-to-create-a-vault.mdx
new file mode 100644
index 0000000..53ba39e
--- /dev/null
+++ b/docs/docs/guides/running-a-vault/how-to-create-a-vault.mdx
@@ -0,0 +1,94 @@
+---
+title: How to Create a Vault
+sidebar_position: 1
+---
+
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+import Admonition from '@theme/Admonition';
+import useBaseUrl from '@docusaurus/useBaseUrl';
+
+# How to Create a Vault
+
+### Getting Started
+
+:::custom-notes[Wallet Requirements]
+You'll need an Ethereum wallet such as [Rabby Wallet ↗](https://rabby.io/).
+The process will look very similar in other wallets.
+:::
+
+1. Navigate to the [StakeWise App ↗](https://app.stakewise.io) and go to the **"Operate"** section
+2. Click the **"Create Vault"** button on the **"Operate your vault"** page to begin the setup process
+
+### Step 1: Configure Vault Parameters
+
+The first step involves setting up the fundamental parameters for your Vault.
+
+:::custom-warning[Permanent Settings]
+Most of these settings **cannot be changed later**. Choose carefully before proceeding.
+:::
+
+- **📐 Vault Capacity** – Set maximum ETH capacity (default: unlimited ∞). [Learn more →](/docs/vaults/customization#capacity)
+- **💎 Vault Token** – Enable tradeable ERC-20 token (requires name & symbol)
+- **🔑 Private Vault** – Restrict to approved wallets only
+- **⚠️ Block List** – Prevent specific addresses from depositing
+
+:::custom-info[Vault Fees]
+**💰 Vault Fees** can be set during creation and updated later. [Learn more about fee management →](/docs/fees/intro#vault-fees)
+:::
+
+:::custom-warning[Required Acknowledgment]
+You must check **"I understand that the parameters above cannot be changed later"** before proceeding.
+:::
+
+### Step 2: Block Rewards Destination
+
+Choose how block rewards are distributed. This is a **permanent decision**.
+
+Most operators choose [Smoothing Pool →](/docs/vaults/customization#smoothing-pool--pooled-rewards) for stable returns, while [Vault Escrow →](/docs/vaults/customization#own-escrow--own-rewards) gives you full control but with volatile rewards.
+
+:::custom-warning[Required Acknowledgment]
+You must check **"I understand that block rewards destination cannot be changed later"** before proceeding.
+:::
+
+### Step 3: Add Branding
+
+Customize your Vault's appearance with name, description, and logo.
+
+:::custom-notes[Branding Can Be Changed Later]
+Unlike Vault parameters, you can update branding anytime via your Vault interface: press **Settings → Branding → Edit → Save**.
+:::
+
+### Step 4: Summary
+
+Review all your settings before final submission. This is your last chance to verify everything is correct, such as name, type, MEV strategy, fees, and capacity.
+
+:::custom-warning[Risk Acknowledgment]
+You must check **"I understand the risks of operating the Vault and confirm my configuration choices"** before proceeding.
+:::
+
+Click **"Create Vault"** to submit your configuration and create the Vault.
+
+### Step 5: Transaction Confirmation
+
+Complete the blockchain transaction to deploy your Vault.
+
+1. **Review Details**: Verify the transaction details in your wallet
+2. **Confirm**: Click **"Confirm"** to submit the transaction
+3. **Wait**: Transaction confirms (~12 sec)
+
+Once the transaction confirms, your Vault is live and operational! 🎉
+
+Your new Vault appears:
+- ✅ Listed on the Operate page as "Your Name Vault"
+- 📅 Shows creation date: "Created [date]"
+- 🔧 Displays MEV strategy and Vault type
+
+At the bottom of your Vault page, you'll see the **"Details"** section containing all the important information about your Vault.
+
+:::custom-info[Next Steps After Creation]
+
+**Set up validators** – Essential for Vault operation
+
+**Reach out to the [StakeWise team 📧](mailto:info@stakewise.io)** for Vault verification (better visibility and trust with potential stakers)
+:::
diff --git a/docs/docs/guides/running-a-vault/intro.mdx b/docs/docs/guides/running-a-vault/intro.mdx
new file mode 100644
index 0000000..dfa6ccd
--- /dev/null
+++ b/docs/docs/guides/running-a-vault/intro.mdx
@@ -0,0 +1,37 @@
+---
+title: Running a Vault
+sidebar_position: 0
+---
+
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+import Admonition from '@theme/Admonition';
+import useBaseUrl from '@docusaurus/useBaseUrl';
+
+# Running a Vault
+
+This comprehensive guide walks you through creating your own StakeWise Vault step by step.
+
+A [Vault →](/docs/vaults/intro) is a customizable smart contract that can be deployed by anyone to stake their own capital and/or offer staking to others, all in a non-custodial way.
+
+Each Vault is isolated from others and relies on its own set of validators to produce rewards on the consensus layer. However, a Vault may participate in [MEV smoothing →](/docs/vaults/customization#mev-strategy) to avoid volatility in the execution layer earnings.
+
+Staked ETH/GNO in any Vault can be made liquid by minting [osETH/osGNO →](/docs/ostoken/intro) – a liquid staking token.
+
+Choose your settings based on your intended use case:
+
+| Use case | Recommended settings |
+|----------|---------------------|
+| 🏠 **Liquid solo staking** | • 0% fee • Private Vault • No Vault token • Smoothing Pool |
+| 🌐 **Community staking pool** | • Custom capacity & fee • Public Vault • No Vault token • Smoothing Pool |
+| 🏢 **Node operator service** | • Custom capacity & fee • Private Vault per customer • No Vault token • Smoothing Pool (compliance dependent) |
+| 💎 **Service with custom LST** | • Custom capacity & fee • Public Vault • Enable Vault token • Smoothing Pool (compliance dependent) |
+| 🔒 **Service without LST** | • Custom capacity & fee • Public Vault • No Vault token • Disable osToken access |
+
+:::custom-notes[New to these terms?]
+Learn about [Vault token →](/docs/vaults/customization#erc-20-vaults--for-custom-utility--liquidity-ecosystem), [Smoothing Pool →](/docs/vaults/customization#smoothing-pool--pooled-rewards), [osToken →](/docs/ostoken/intro), and [Public vs Private Vaults →](/docs/vaults/customization#vault-type).
+:::
+
+💡 Don't see your use case above? Contact the [StakeWise team 📧](mailto:info@stakewise.io) for personalized guidance.
+
+Next you'll find step-by-step instructions to create your Vault and get it running.
diff --git a/docs/docs/guides/running-a-vault/vault-administration.mdx b/docs/docs/guides/running-a-vault/vault-administration.mdx
new file mode 100644
index 0000000..f0cc3ee
--- /dev/null
+++ b/docs/docs/guides/running-a-vault/vault-administration.mdx
@@ -0,0 +1,37 @@
+---
+title: Vault Administration
+sidebar_position: 2
+---
+
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+import Admonition from '@theme/Admonition';
+
+# Vault Administration
+
+Once your Vault is created, you can manage all settings through the **"Settings"** button in the StakeWise interface.
+
+## What You Can Control
+
+++Staking Flow +
Your Assets →
StakeWise Vaults →
osTokens → 💰 Earn Rewards +
++Unstaking Flow + 🔥 Burn osTokens → 🚪 Unstaking → 📥 Claim Rewards → 👛 Receive Assets +
4. +Partial withdrawals for `0x02` compound validators are now supported and can now be triggered from the execution layer via [EIP-7002](https://eips.ethereum.org/EIPS/eip-7002)4. The withdrawal fulfillment process is automated by the [Operator Service →](../../operator/intro), which manages validator exits and partial withdrawals among other responsibilities to ensure timely processing of the exit queue. :::custom-info[Processing Time] On mainnet, partial withdrawals typically complete faster (≈27–28 hours), while full exits can take **up to one month** to finalize. ::: -#### Validator Exits +### Validator Exits The Operator Service automatically triggers validator exits when required. By default, the Operator Service checks every **12 hours** (configurable via `WITHDRAWALS_INTERVAL`) to process queued withdrawal requests. @@ -142,217 +129,16 @@ Exit processing time depends on the Ethereum network conditions. Staked assets continue earning rewards until validators complete the exit. Once a validator fully exits, its balance is [swept ↗](https://ethereum.org/en/staking/withdrawals/#validator-sweeping) to the Vault and becomes claimable by users according to their ticket number. -### osToken +## osToken osTokens (`osETH` or `osGNO`) are ERC-20 tokens that users can mint from any Vault using their shares as backing (aka collateral), providing liquidity without unstaking. osToken can be traded or used in DeFi while the underlying stake continues earning rewards. The system keeps more staked assets backing each osToken than the token is worth. This safety buffer protects users and keeps the system stable. The Vault's Loan-to-Value ratio determines how much users can mint — this ranges from standard ratios around 90% up to 99.99% for DAO-approved Vaults6. :::custom-notes[Deep Dive] -For more details on how osToken works, see [osToken →](osToken). +For more details on how osToken works, see [osToken →](../ostoken/intro). ::: -## Customization - -Each Vault is highly customizable. -Core parameters such as Vault type, capacity, and MEV strategy are immutable and set once upon deployment, -while management roles, branding, and fees can be changed later. - -### Vault Type - -All Vault types support osToken minting. The Vault types differ in their specific characteristics and restrictions. - -#### Standard Vaults — Most Common - -Receive staking deposits from any wallet and issue non-transferable Vault shares that earn rewards. - -#### ERC-20 Vaults — For Custom Utility & Liquidity Ecosystem - -Allow Vault operators to build their own DeFi ecosystem using the Vault's token. -The operator sets the token's name and symbol (e.g., mntETH), which will be visible in most portfolio tracking applications. -Users can mint osToken and transfer their stake in the Vault as long as they don't have osToken minted. - -:::custom-info[Note] -Standard Vaults (tokenless) help avoid potential tax events that could be triggered by exchanging ETH for a Vault token. -::: - -#### Private Vaults — Restricted Access - -Receive staking deposits from wallets that have been whitelisted by the Vault Admin. - -#### Blocklist Vaults — Open with Exceptions - -Receive staking deposits from any wallets except those on a blocklist. - -#### Meta Vaults — Diversified Strategy - -Meta Vaults do not register validators directly — -instead, they delegate accumulated assets to sub-Vaults, which are managed by the Vault Admin. -Each sub-Vault must have at least one registered validator. - -Deposits are distributed across underlying sub-Vaults (up to 50 maximum) according to curator-defined allocation logic. The default `BalancedCurator` distributes assets evenly across eligible sub-Vaults. -The Curator contract can be changed by the Admin. - -MetaVaults can be deployed using the `EthMetaVaultFactory` contract, and currently, -only the factory owner is permitted to deploy new MetaVaults. - -### Capacity - -Vault capacity is an immutable deposit limit that Vault operators set once during initialization to control the maximum amount of ETH their Vault can accept. When left unset, Vaults have unlimited capacity by default. The capacity is enforced on every -deposit transaction, reverting with a `CapacityExceeded` error if exceeded. Capacity helps control validator set size based on operator infrastructure capabilities. - -### MEV Strategy - -MEV (Maximum Extractable Value) represents additional profits that validators can earn when proposing blocks. -Vaults can use either a Smoothing Pool or Own Escrow for collecting the block rewards. - -#### Smoothing Pool — Pooled Rewards - -Rewards are pooled across multiple Vaults and distributed evenly, providing more stable and predictable returns regardless of block proposal frequency. - -For example, a Vault with only a few validators can receive periodic small payouts from the Smoothing Pool, which come from the block proposal rewards contributed by other participating Vaults. -In return, when the Vault does get the chance to earn a block proposal reward, it will flow to the Smoothing Pool as well, to be shared amongst all participating Vaults. - -The main advantage of using the Smoothing Pool is achieving a consistent level of rewards from block production, and a consistent Vault APY. - -Any Vault that opts into using the Smoothing Pool is required to operate one of the StakeWise DAO-approved MEV relays. This is necessary to ensure a consistently high contribution to the Smoothing Pool from every participating Vault. - -#### Own Escrow — Own Rewards - -Rewards are collected solely by individual Vaults. -Own Escrow allows a Vault to choose an independent approach to earning block production rewards, -like using any relay of choice, because it does not rely on sharing such rewards with other Vaults. -Own Escrow targets maximum value capture but with increased variability. - -### Management Roles - -Every Vault has several key roles for the internal management of the staking process: - -#### Admin - -Primary controller of the Vault. Responsible for overall Vault configuration. - - Manage all roles and permissions - - Modify fees and fee recipients - - Update Vault branding (name, description, image) - - Configure Vault settings and parameters - -The Admin can be a single wallet, multisig, or DAO and can be changed through the `setAdmin` function. -Only the current Admin can call this function. - -#### Vault fee claimer - -Can claim accumulated Vault fees on behalf of shareholders. - -#### Whitelist / Blocklist manager - -Access controller for deposit permissions. - - Add/remove accounts authorized to deposit (whitelist) - - Add/remove accounts prohibited from depositing (blocklist) - -This role only appears for Private Vaults or Vaults with blocklist functionality enabled. - -#### Validators manager - -Technical operator responsible for validator operations. - -### Branding - -Vault operators can set their Vault's name, description, and image simply through the StakeWise interface and these can be updated anytime by the Admin. - -:::custom-stakewise[Authenticity Guarantee] -Stakers can be confident about the authenticity of this information, i.e., a Vault branded by Operator A is indeed controlled and run by Operator A. -Verification is a manual process managed by the core StakeWise team. -::: - -### Fee - -Vault operators can charge fees on staking rewards to compensate for infrastructure and management costs. -These fees are set by the Vault Admin and can be updated over time, -subject to protocol-enforced restrictions to protect users from sudden changes. - -:::custom-notes[Deep Dive] -For complete details about Vault fees, see [Fees →](./Fees). -::: - -## Staking into a Vault - -When staking into a Vault, users deposit ETH or GNO and receive Vault shares representing their proportional ownership of the pool's assets. There are no minimum deposit requirements and no maximum limits except the Vault's capacity limit. - -Vaults use a shares-based accounting system where: -- Shares are non-transferable (unless the Vault is an ERC-20 Vault) -- Shares may not appear in portfolio tracking applications -- Share value increases automatically as staking rewards accumulate -- No token swaps or conversions occur during staking - -For immediate liquidity, users can mint osTokens (`osETH` or `osGNO`) using their Vault shares as collateral. - -### Evaluating Vault Performance - -StakeWise provides performance grades (Excellent, Good, Moderate, Bad) to help users evaluate Vault quality based on validator operational excellence. These grades reflect the average Vault performance over the last 7 days. [View detailed grade criteria →](/operator/vault-performance#-performance-grades). - -:::custom-warning[Important] -Performance grades help users identify well-operated Vaults but should be considered alongside other factors like fees, capacity, and operator reputation. -::: - -:::custom-notes[Technical Details] -For operators seeking detailed information about performance calculations, scoring formulas, and optimization strategies, see [Vault Performance →](/operator/vault-performance). -::: - -## Technical Architecture - -### Vault Deployment - -Each Vault in the StakeWise protocol is deployed as an upgradeable [ERC-1967 ↗](https://eips.ethereum.org/EIPS/eip-1967) proxy contract. The proxy is the contract users interact with. It holds all persistent state — including user balances — and stores Vault-specific configuration set during initialization, which defines its core operational characteristics. -Vaults are created through factory contracts such as [VaultFactory ↗](https://etherscan.io/address/0x7a8cbbf690084e43de778173cfacf7313c9122dd#code) by: - -1. Deploying a proxy that reserves storage for all Vault data and sets its initial configuration during the initializer call. -2. Pointing the proxy to a shared implementation contract that contains the Vault's logic and module integration. -3. Registering the Vault in the [VaultsRegistry ↗](https://etherscan.io/address/0x3a0008a588772446f6e656133C2D5029CC4FC20E#code) — the canonical on-chain list of all valid Vaults and factories. - -:::custom-warning[Important] -To mitigate economic attacks during the vulnerable initial phase of a Vault's lifetime, the factory requires a security deposit of 1 gwei at creation. -::: - -:::custom-notes[Deep Dive] -All Vault factory addresses can be found in [Networks →](../../contracts/networks/). -::: - -### Modular Design - -The constructor parameters set during deployment link the Vault to essential StakeWise infrastructure -and the Ethereum Beacon Chain. Each Vault is built from specialized modules that split responsibilities into distinct areas, including: - -**Validator lifecycle** — adding, approving, and exiting validators. - -**Deposit and withdrawal** — staking to and withdrawing from the Beacon Chain. - -**Fee enforcement** — calculating and applying protocol and operator fees. - -**MEV capture** — routing execution-layer rewards either to a Vault-specific escrow or to a Smoothing Pool. - -:::custom-notes[Architecture Note] -This modular architecture ensures that all Vault types (ETH, GNO, private, ERC-20) share consistent behavior and allows new features to be added without breaking existing Vaults. -::: - -### State Tracking - -Vaults maintain an internal accounting ledger that tracks the value of all user stakes. -This ledger is updated whenever user activity or protocol events affect stake values, such as deposits, withdrawals, reward distributions, or MEV payouts. -Updates occur automatically when users interact with the Vault, and operators can trigger updates manually when necessary, for example, to refresh valuations before osETH minting. - -### Upgrade Flexibility - -Every Vault is an independent staking pool, and its smart contracts cannot be unilaterally changed or upgraded by the StakeWise DAO. -Because the proxy pattern separates storage from logic, upgrades can be applied without affecting user balances or redeploying the contract. -Only the implementation contract changes, while the proxy — holding all state — remains untouched. - -The DAO may release new Vault contract versions to improve efficiency or safety, but upgrading is always optional — -Vaults can opt to keep their current version. -All upgrades are subject to community governance approval, providing strong guarantees for user protection and protocol integrity. - -The Vault architecture is deployed in parallel on both the Ethereum and Gnosis networks through equivalent contract implementations, -such as `EthVault` and `GnoVault`. -1. `0x01` and `0x02` refer to withdrawal credential types that determine validator capabilities: `0x01` validators (Type 1) use the current 32 ETH limit with automatic sweeps of excess balance, while diff --git a/docs/docs/vaults/intro.mdx b/docs/docs/vaults/intro.mdx new file mode 100644 index 0000000..6e28ff3 --- /dev/null +++ b/docs/docs/vaults/intro.mdx @@ -0,0 +1,14 @@ +--- +title: Vaults +sidebar_position: 0 +description: "Learn what Vaults are and what you can do with them" +--- + +Vaults are isolated staking pools that process ETH and GNO deposits for staking, distribute rewards, and handle withdrawals in a trustless and non-custodial manner. + +ETH and GNO deposits into any Vault can only be used to launch validators for that specific Vault. Any rewards (or penalties) accumulated by these validators will belong to the Vault. +This isolates each Vault, allowing depositors to customize their staking experience to their needs. + +Individuals, professional node operators, DAOs, communities, and institutions can deploy a Vault to enable ETH and GNO staking on specific terms, like a bespoke staking fee, unique mix of operators, custom MEV strategy, capacity, branding, and optional ERC-20 Vault Token issuance. + +All deposits, reward distribution, and withdrawals are handled by smart contracts, making staking in Vaults fully non-custodial. diff --git a/docs/docs/vaults/staking-into-a-vault.mdx b/docs/docs/vaults/staking-into-a-vault.mdx new file mode 100644 index 0000000..934c94e --- /dev/null +++ b/docs/docs/vaults/staking-into-a-vault.mdx @@ -0,0 +1,29 @@ +--- +title: Staking into a Vault +sidebar_position: 3 +description: "Learn how to stake into a Vault and evaluate Vault performance" +--- + +# Staking into a Vault + +When staking into a Vault, users deposit ETH or GNO and receive Vault shares representing their proportional ownership of the pool's assets. There are no minimum deposit requirements and no maximum limits except the Vault's capacity limit. + +Vaults use a shares-based accounting system where: +- Shares are non-transferable (unless the Vault is an ERC-20 Vault) +- Shares may not appear in portfolio tracking applications +- Share value increases automatically as staking rewards accumulate +- No token swaps or conversions occur during staking + +For immediate liquidity, users can mint osTokens (`osETH` or `osGNO`) using their Vault shares as collateral. + +## Evaluating Vault Performance + +StakeWise provides performance grades (Excellent, Good, Moderate, Bad) to help users evaluate Vault quality based on validator operational excellence. These grades reflect the average Vault performance over the last 7 days. [View detailed grade criteria →](/operator/vault-performance#-performance-grades). + +:::custom-warning[Important] +Performance grades help users identify well-operated Vaults but should be considered alongside other factors like fees, capacity, and operator reputation. +::: + +:::custom-notes[Technical Details] +For operators seeking detailed information about performance calculations, scoring formulas, and optimization strategies, see [Vault Performance →](/operator/vault-performance). +::: diff --git a/docs/docs/vaults/technical-architecture.mdx b/docs/docs/vaults/technical-architecture.mdx new file mode 100644 index 0000000..462bacc --- /dev/null +++ b/docs/docs/vaults/technical-architecture.mdx @@ -0,0 +1,60 @@ +--- +title: Technical Architecture +sidebar_position: 4 +description: "Learn about Vault deployment, modular design, and upgrade flexibility" +--- + +# Technical Architecture + +## Vault Deployment + +Each Vault in the StakeWise protocol is deployed as an upgradeable [ERC-1967 ↗](https://eips.ethereum.org/EIPS/eip-1967) proxy contract. The proxy is the contract users interact with. It holds all persistent state — including user balances — and stores Vault-specific configuration set during initialization, which defines its core operational characteristics. +Vaults are created through factory contracts such as [VaultFactory ↗](https://etherscan.io/address/0x7a8cbbf690084e43de778173cfacf7313c9122dd#code) by: + +1. Deploying a proxy that reserves storage for all Vault data and sets its initial configuration during the initializer call. +2. Pointing the proxy to a shared implementation contract that contains the Vault's logic and module integration. +3. Registering the Vault in the [VaultsRegistry ↗](https://etherscan.io/address/0x3a0008a588772446f6e656133C2D5029CC4FC20E#code) — the canonical on-chain list of all valid Vaults and factories. + +:::custom-warning[Important] +To mitigate economic attacks during the vulnerable initial phase of a Vault's lifetime, the factory requires a security deposit of 1 gwei at creation. +::: + +:::custom-notes[Deep Dive] +All Vault factory addresses can be found in [Networks →](../../contracts/networks/). +::: + +## Modular Design + +The constructor parameters set during deployment link the Vault to essential StakeWise infrastructure +and the Ethereum Beacon Chain. Each Vault is built from specialized modules that split responsibilities into distinct areas, including: + +**Validator lifecycle** — adding, approving, and exiting validators. + +**Deposit and withdrawal** — staking to and withdrawing from the Beacon Chain. + +**Fee enforcement** — calculating and applying protocol and operator fees. + +**MEV capture** — routing execution-layer rewards either to a Vault-specific escrow or to a Smoothing Pool. + +:::custom-notes[Architecture Note] +This modular architecture ensures that all Vault types (ETH, GNO, private, ERC-20) share consistent behavior and allows new features to be added without breaking existing Vaults. +::: + +## State Tracking + +Vaults maintain an internal accounting ledger that tracks the value of all user stakes. +This ledger is updated whenever user activity or protocol events affect stake values, such as deposits, withdrawals, reward distributions, or MEV payouts. +Updates occur automatically when users interact with the Vault, and operators can trigger updates manually when necessary, for example, to refresh valuations before osETH minting. + +## Upgrade Flexibility + +Every Vault is an independent staking pool, and its smart contracts cannot be unilaterally changed or upgraded by the StakeWise DAO. +Because the proxy pattern separates storage from logic, upgrades can be applied without affecting user balances or redeploying the contract. +Only the implementation contract changes, while the proxy — holding all state — remains untouched. + +The DAO may release new Vault contract versions to improve efficiency or safety, but upgrading is always optional — +Vaults can opt to keep their current version. +All upgrades are subject to community governance approval, providing strong guarantees for user protection and protocol integrity. + +The Vault architecture is deployed in parallel on both the Ethereum and Gnosis networks through equivalent contract implementations, +such as `EthVault` and `GnoVault`. diff --git a/docs/operator/Installation.mdx b/docs/operator/Installation.mdx index 5552758..b6f6d7e 100644 --- a/docs/operator/Installation.mdx +++ b/docs/operator/Installation.mdx @@ -30,7 +30,7 @@ This guide is for Vault version 5 (Ethereum) or version 3 (Gnosis). Check the [P ```bash ./operator COMMAND --flagA=123 --flagB=xyz ``` - :::custom-notes[Optional] + :::custom-notes[Note] The use of flags is optional. ::: @@ -90,7 +90,7 @@ This guide is for Vault version 5 (Ethereum) or version 3 (Gnosis). Check the [P --flagB=xyz ``` - :::custom-notes[Optional] + :::custom-notes[Note] The use of flags is optional. ::: @@ -123,7 +123,7 @@ This guide is for Vault version 5 (Ethereum) or version 3 (Gnosis). Check the [P ```bash PYTHONPATH=. poetry run python src/main.py COMMAND --flagA=123 --flagB=xyz ``` - :::custom-notes[Optional] + :::custom-notes[Note] The use of flags is optional. ::: diff --git a/docs/operator/intro.mdx b/docs/operator/intro.mdx index a838578..abdacf6 100644 --- a/docs/operator/intro.mdx +++ b/docs/operator/intro.mdx @@ -10,9 +10,9 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; # Overview -**StakeWise** is a decentralized liquid staking protocol that allows anyone to participate in Ethereum staking without the traditional barriers of technical complexity or capital requirements. The protocol enables users to stake their ETH while maintaining liquidity through [osToken →](/docs/protocol-concepts/osToken), StakeWise's liquid staking token. +**StakeWise** is a decentralized liquid staking protocol that allows anyone to participate in Ethereum staking without the traditional barriers of technical complexity or capital requirements. The protocol enables users to stake their ETH while maintaining liquidity through [osToken →](/docs/ostoken/intro), StakeWise's liquid staking token. -At the core of StakeWise are individual staking pools called [Vaults →](/docs/protocol-concepts/Vaults). Anyone – from solo stakers to professional operators – can create and operate their own Vault, offering flexible staking solutions that serve diverse needs: solo stakers can access liquid staking for their own ETH, while individuals and organizations can stake on their terms and offer liquid staking services to others. +At the core of StakeWise are individual staking pools called [Vaults →](/docs/vaults/intro). Anyone – from solo stakers to professional operators – can create and operate their own Vault, offering flexible staking solutions that serve diverse needs: solo stakers can access liquid staking for their own ETH, while individuals and organizations can stake on their terms and offer liquid staking services to others. **Deploying a Vault requires running the StakeWise [Operator Service ↗](https://github.com/stakewise/v3-operator)** – specialized software that manages validator operations and ensures your Vault functions properly. Each Vault must have at least one node operator running this service to handle validator registrations, exits, and other critical operations that keep the Vault operational. @@ -82,7 +82,7 @@ The Operator Service periodically checks whether the Vault has accumulated enoug By default, the Operator Service registers new `0x02` validators, prioritizing funding existing compound validators when possible; otherwise, it registers new validators up to the maximum balance. :::custom-notes[Deep Dive] -For detailed information about the validator registration process, see [Validator Registration →](/docs/protocol-concepts/Vaults#validator-registration) +For detailed information about the validator registration process, see [Validator Registration →](/docs/vaults/how-vaults-work#validator-registration) ::: ### Validator Consolidation diff --git a/docs/operator/smoothing-pool-relays.mdx b/docs/operator/smoothing-pool-relays.mdx index 1e4328d..0471121 100644 --- a/docs/operator/smoothing-pool-relays.mdx +++ b/docs/operator/smoothing-pool-relays.mdx @@ -54,11 +54,6 @@ https://0xb0b07cd0abef743db4260b0ed50619cf6ad4d82064cb4fbec9d3ec530f7c5e6793d9f2 https://0xa15b52576bcbf1072f4a011c0f99f9fb6c66f3e1ff321f11f461d15e31b1cb359caa092c71bbded0bae5b5ea401aab7e@aestus.live ``` -### Eden Network -``` -https://0xb3ee7afcf27f1f1259ac1787876318c6584ee353097a50ed84f51a1f21a323b3736f271a895c7ce918c038e4265918be@relay.edennetwork.io -``` - ### Titan Relay ``` https://0x8c4ed5e24fe5c6ae21018437bde147693f68cda427cd1122cf20819c30eda7ed74f72dece09bb313f2a1855595ab677d@titanrelay.xyz @@ -76,5 +71,5 @@ Learn more about MEV-Boost setup and configuration at the [official repository ::: :::custom-notes[Further Reading] -Learn more about how [Smoothing Pool works →](/docs/protocol-concepts/Vaults#smoothing-pool--pooled-rewards). +Learn more about how [Smoothing Pool works →](/docs/vaults/customization#smoothing-pool--pooled-rewards). ::: diff --git a/docs/operator/v4-upgrade-guide.mdx b/docs/operator/v4-upgrade-guide.mdx index 61d0c75..fd84fba 100644 --- a/docs/operator/v4-upgrade-guide.mdx +++ b/docs/operator/v4-upgrade-guide.mdx @@ -9,7 +9,7 @@ import Admonition from '@theme/Admonition'; # V4 Upgrade Guide -This guide covers the key changes and upgrade steps for StakeWise Operator V4, including Pectra upgrade support. +This guide covers the key changes and upgrade steps for StakeWise Operator V4, including support for the Pectra upgrade (activated on 07-May-2025 at epoch 364032). :::custom-info[Prerequisites] Ensure your Vault is updated to **version 5** for Ethereum network or **version 3** for Gnosis network for full Pectra compatibility. See [Prerequisites →](./Prerequisites#deployed-vault) for details on checking and upgrading your Vault version. @@ -19,8 +19,8 @@ Additionally, ensure your Operator Service wallet has the [Validators Manager ## Validator Changes ### Registration -After the Pectra upgrade: -- **Validator balances are no longer limited** to 32 ETH or 1 GNO +After the Pectra upgrade ([EIP-7251 ↗](https://eips.ethereum.org/EIPS/eip-7251)): +- **Validator balances are no longer limited** to 32 ETH or 1 GNO (now up to 2048 ETH or 64 GNO) - **`0x02` validators are registered by default** - To register `0x01` validators, add the flag `--validators-type=0x01` @@ -47,7 +47,7 @@ The Pectra upgrade introduces significantly improved withdrawal mechanisms: - Significantly faster than full validator exits, improving withdrawal queue processing times #### More Efficient Full Validator Exits -- **Full validator exits** are now processed via **execution request calls** instead of the traditional oracle-based method +- **Full validator exits** are now processed via **execution layer triggerable exits** ([EIP-7002 ↗](https://eips.ethereum.org/EIPS/eip-7002)) instead of the traditional oracle-based method - **Automatic fallback**: If the Operator Service does not initiate partial or full withdrawals, the Oracle network will automatically execute a full withdrawal after 24 hours using the exit signatures they have received during validator registration :::custom-info[Withdrawal Logic & Prioritization] diff --git a/docs/operator/validator-keys.mdx b/docs/operator/validator-keys.mdx index c5a8c76..fecc4b0 100644 --- a/docs/operator/validator-keys.mdx +++ b/docs/operator/validator-keys.mdx @@ -136,9 +136,9 @@ You must use the **"Block reward recipient"** address from the **"Details"** sec Validator keystores don't need to be stored locally. You can instead use: -- **[Remote Signer →](./alternative-key-management/remote-signer)** - Sign deposit/exit messages via a remote signer -- **[HashiCorp Vault →](./alternative-key-management/hashicorp-vault)** - Load keys from a remote Vault instance -- **[API Mode →](./alternative-key-management/api-mode)** - Run Operator as API service with external key management +- **[Remote Signer →](./alternative-key-management/remote-signer)** — Sign deposit/exit messages via a remote signer +- **[HashiCorp Vault →](./alternative-key-management/hashicorp-vault)** — Load keys from a remote Vault instance +- **[API Mode →](./alternative-key-management/api-mode)** — Run Operator as API service with external key management ## Next Steps diff --git a/docusaurus.config.ts b/docusaurus.config.ts index 40199ae..c7799c3 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -99,7 +99,7 @@ const config: Config = { }, { label: 'Guides', - to: 'docs/guides/staking', + to: 'docs/guides/intro', activeBaseRegex: `/docs/guides/`, sidebarId: 'guidesSidebar', }, diff --git a/sidebars.ts b/sidebars.ts index b486adc..55ce7de 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -7,19 +7,106 @@ const sidebars: SidebarsConfig = { 'docs/intro', { type: 'category', - label: 'Protocol Concepts', + label: 'Vaults', + link: { + type: 'doc', + id: 'docs/vaults/intro', + }, items: [ - { - type: 'autogenerated', - dirName: 'docs/protocol-concepts', - }, + 'docs/vaults/how-vaults-work', + 'docs/vaults/customization', + 'docs/vaults/staking-into-a-vault', + 'docs/vaults/technical-architecture', ], }, + { + type: 'category', + label: 'osToken', + link: { + type: 'doc', + id: 'docs/ostoken/intro', + }, + items: [ + 'docs/ostoken/how-ostoken-works', + ], + }, + { + type: 'category', + label: 'Oracles', + link: { + type: 'doc', + id: 'docs/oracles/intro', + }, + items: [ + 'docs/oracles/oracle-duties', + ], + }, + 'docs/fees/intro', + { + type: 'category', + label: 'Governance', + link: { + type: 'doc', + id: 'docs/governance/intro', + }, + items: [ + 'docs/governance/stakewise-dao', + 'docs/governance/dao-treasury', + ], + }, + ], guidesSidebar: [ + 'docs/guides/intro', { - type: 'autogenerated', - dirName: 'docs/guides' + type: 'category', + label: 'Staking', + link: { + type: 'doc', + id: 'docs/guides/staking/intro', + }, + items: [ + 'docs/guides/staking/one-click-staking', + 'docs/guides/staking/staking-with-vaults', + 'docs/guides/staking/solo-staking', + 'docs/guides/staking/unstaking', + ], + }, + { + type: 'category', + label: 'Running a Vault', + link: { + type: 'doc', + id: 'docs/guides/running-a-vault/intro', + }, + items: [ + 'docs/guides/running-a-vault/how-to-create-a-vault', + 'docs/guides/running-a-vault/vault-administration', + 'docs/guides/running-a-vault/getting-your-vault-running', + ], + }, + 'docs/guides/fee-splitter', + { + type: 'category', + label: 'DeFi', + link: { + type: 'doc', + id: 'docs/guides/defi/intro', + }, + items: [ + 'docs/guides/defi/boost-feature', + 'docs/guides/defi/swise-eth-liquidity', + ], + }, + { + type: 'category', + label: 'StakeWise V2', + items: [ + { + type: 'autogenerated', + dirName: 'docs/guides/stakewise-v2', + }, + ], }, ], operatorSidebar: [ diff --git a/src/components/DocsSections/Blocks/Blocks.tsx b/src/components/DocsSections/Blocks/Blocks.tsx index cbfea2f..379bdf8 100644 --- a/src/components/DocsSections/Blocks/Blocks.tsx +++ b/src/components/DocsSections/Blocks/Blocks.tsx @@ -14,7 +14,7 @@ const blocks: BlockProps[] = [ title: 'Guides', text: 'Step-by-step tutorials for staking, running a Vault, and DeFi strategies', Svg: require("@site/static/icon/file.svg").default, - href: '/docs/guides/staking', + href: '/docs/guides/intro', }, { title: 'Operator', diff --git a/static/img/tokenomics.png b/static/img/tokenomics.png new file mode 100644 index 0000000..89e1c34 Binary files /dev/null and b/static/img/tokenomics.png differ