Staking and Unstaking
In Walrus, anyone can delegate stake to storage nodes and, by doing so, influence which storage nodes get selected for the committee in future epochs and how many shards these nodes hold. Shards are assigned to storage nodes every epoch, roughly proportional to the amount of stake that was delegated to them. By staking with a storage node, you also earn rewards, as you receive a share of the storage fees.
Because moving shards from one storage node to another requires transferring a lot of data, and storage nodes potentially need to expand their storage capacity, the selection of the committee for the next epoch is done ahead of time, in the middle of the previous epoch. This provides sufficient time for storage node operators to provision additional resources if needed.
For stake to affect the shard distribution in epoch e and become active, it must be staked before the committee for the epoch has been selected. This means it has to be staked before the midpoint of epoch e - 1. If it is staked after that point in time, it only influences the committee selection for epoch e + 1 and only becomes active and accrues rewards in that epoch.
Unstaking has a similar delay. Because unstaking funds only has an effect on the committee in the next committee selection, the stake remains active until that committee takes over. This means that to unstake at the start of epoch e, you need to request withdrawal before the midpoint of epoch e - 1. Otherwise, if you unstake after this point, the stake remains active and continues to accrue rewards throughout epoch e, and the balance and rewards are available to withdraw at the start of epoch e + 1.
Stake with the Walrus staking app
The Walrus staking app allows you to stake or unstake to any of the storage nodes of the system.
To use the app, visit https://stake-wal.wal.app and connect your wallet:
- Click Connect Wallet at the top right corner.
- Select a wallet. If you connected the wallet before, this step and the next step are not required.
- Approve the connection.
Exchange Testnet SUI to WAL
You need to have Testnet WAL in your wallet. You can exchange your Testnet SUI to WAL using the app:
- Click Get WAL.
- Select the amount of SUI. This is exchanged to WAL at a 1:1 rate.
- Click Exchange.
- Follow the instructions in your wallet to approve the transaction.
Stake
To stake WAL with a storage node:
- Find the storage node that you want to stake to. Below the system stats, there is a list of the current committee of storage nodes. You can select one of the nodes in that list. If the storage node is not in the current committee, you can find all storage nodes at the bottom of the page.
- After you select the storage node, click Stake.
- Select the amount of WAL.
- Click Stake.
- Follow the instructions in your wallet to approve the transaction.
Unstake
To unstake or withdraw your staked WAL:
- Find the staked WAL you want to unstake. Below the current committee list, you can find all your staked WAL. You can expand a storage node to find all your stakes with that node.
- Depending on the state of the staked WAL, you can unstake or withdraw your funds.
- Click Unstake or Withdraw.
- Click Continue to confirm your action.
- Follow the instructions in your wallet to approve the transaction.