Vault Address for LavaNet Providers
Security is crucial when protecting your funds.
Lava introduces the Vault Wallet, enabling providers to separate staking funds from the Operator Address. This allows you to store funds externally — using a Ledger device, for example—instead of on the same host where the provider is running.
Previously, providers used one wallet for both funds and operations, requiring the wallet to be accessible to the provider process for operational transactions (like self-reported QoS scores). This posed a risk of losing funds if the wallet was compromised.
To enhance security, the wallet is split into:
- Vault Address: Securely holds your staking funds and manage provider.
- Operator Address: Handles operational transactions.
While creating a new provider (with new Operator and Vault addresses) is the easiest migration method, it results in losing previous delegations.
This guide helps you migrate to a Vault Address while keeping your existing Operator Address, so you retain your delegators and increase the security of your staking funds.
All of these steps need to be repeated for each chain ID.
Step 1: Verify that the vault address and current provider address are available
Before performing any operations, make sure that both your new vault address and the current provider address are available. It’s crucial that both keys are stored in the same keyring backend to facilitate future commands that require access to both keys.
Where <provider_address_key>
– your current operator wallet key
- Recover your current provider address
lavad keys add <provider_address_key> --recover --keyring-backend os
- Create you new vault address
lavad keys add <vault_address_key> --keyring-backend os
Note: vault wallet can be recovered as well if you already have secure/uncompromised wallet
You can check the available addresses using the following command:
lavad keys list --keyring-backend os
Step 2: Freeze the provider
Now that all preparations are complete, you need to freeze the current provider.
lavad tx pairing freeze <provider_chainID> --from provider_address_key --gas auto --gas-adjustment 1.5 --fees=1ulava --chain-id <chain-id>
Step 3: Save your provider current settings
Before proceeding to redelegation, you must save all current provider settings, commissions, IPports and other parameters. Because after redelegation and deletion of the provider, its settings will no longer be visible and available in the network.
You can view the provider information through explorer under Providers
.
Also, you can see the necessary information by requesting data via CLI:
lavap q pairing providers <provider_chainID>
Also, you can see the necessary information by requesting data via API:
https://lava-testnet-rest.mellifera.network/lavanet/lava/pairing/providers/<provider_chainID>?showFrozen=true
Step 4: Redelegate all funds from the provider
Next, it's important to redelegate all funds from your Operator Address to the "empty_provider" or any other provider. This step is necessary to completely unregister from the network.
Here is an example of how to redelegate to the "empty_provider":
lavad tx dualstaking redelegate "<provider_address_key>" <provider_chainID> "empty_provider" "" <amount>ulava --from <provider_address_key> --chain-id lava-testnet-2
After redelegating all funds, ensure that your provider is fully unregistered from the chain. You can verify this by checking that it no longer appears in the explorer with statuses like FREEZE, ACTIVE, or JAIL. You can also confirm this using an API.
Step 5: Create a New Provider with a New Vault Address
You must use a Vault Address to create a new provider.
lavap tx pairing stake-provider <provider_chainID> <amount>ulava "my-provider.com:2221,1,tendermintrpc,rest,grpc,archive,trace" 2 <valoper_address> --from <vault_address> --provider <provider_address_key> --provider-moniker "my-moniker" --chain-id lava-testnet-2 --gas-adjustment 10 --gas="auto" --fees 1ulava --delegate-limit <amount>ulava
Important: <provider_address_key>
is your existing provider address key. By using the same provider address, you create a new provider entity with the same provider
address. This ensures all delegations from users remains.