Create and use a Vega Wallet

To set up the self-hosted Vega Wallet, follow the step-by-step instructions below. Using the self-hosted Vega Wallet ensures your keys will be completely disassociated from your personal identity, and Vega will have no way to connect them with you, unless you share your public key for any reason.

This software a work-in-progress and is frequently updated, and does not yet have a user interface.

If you are looking for instructions for connecting your hardware wallet to MetaMask, see MetaMask’s guide.

For a full list of Vega Wallet commands, see the wallet commands page.

1. Install and run latest Vega Wallet version

Important: To use Vega Wallet on mainnet or Fairground, you will need to use Vega Wallet version 0.9.2 or newer. We recommend always updating to the latest supported version.

These instructions are written to be used in command line. Below, in the snippets, you’ll see commands in highlighted text. Copy those instructions and paste them into your command line interface.

Download file

Download and save the zip file from Releases, in the Vega Wallet GitHub repo. We suggest you keep track of where you’ve saved the file, because that’s where the command line interface will look for it.

For MacOS:

Download vegawallet-darwin-amd64.zip

For Macs with an M1 processor (released since November 2020):

Download vegawallet-darwin-arm64.zip

When you open the file, you may need to change your system preferences for this specific instance, in order to run Vega Wallet. If you open the file from downloads, you may get a message saying “vegawallet-darwin-amd64 cannot be opened because it is from an unidentified developer”.

Click on the (?) help button, which will open a window that links you to the System Preferences, and instructs you how to allow this software to run.

You’ll need to go to System Preferences > Security & Privacy > General, and choose Open Anyway.

Apple also provides instructions for opening unsigned apps (Apple support)

For Windows:

Download vegawallet-windows-amd64.zip

You may need to change your system preferences for this specific instance, in order to run Vega Wallet. If you open the file from downloads, you may get a message from Windows Defender saying “vegawallet-windows-amd64 cannot be opened because it is from an unidentified developer”.

Click on the (More info) text, which will reveal a button to “Run anyway”.

For Linux:

Download vegawallet-linux-amd64.zip

2. Generate or import existing wallet

The steps below will guide you through initialising the wallet, and creating new key pairs / importing an existing wallet. To import an existing wallet, you’ll need the mnemonic (recovery phrase) to hand.

You’ll need to run the commands from the directory you’ve saved the wallet file in. Use the command pwd to find out where your terminal is looking in the file system. Use the command cd and the path/to/wallet/directory to tell the command line where to find the file.
You can see a list of available commands by running ./vegawallet -h on MacOS and Linux, or vegawallet -h on Windows.

A. Initialise the wallet

The init command (below) will initialise the wallet. This creates the folder, the configuration files, and default networks needed by the wallet to operate.

MacOS & Linux

./vegawallet init

Windows

vegawallet init

B. Import existing wallet

Use your mnemonic (recovery phrase) to import a wallet you created in the past into a new version of the wallet software. If you were not provided with a mnemonic (recovery phrase) or have lost it, you will need to create a new wallet/keypair.

MacOS & Linux

./vegawallet import --wallet "YOUR_USERNAME" --mnemonic-file "PATH_TO_YOUR_MNEMONIC"

Windows

vegawallet import --wallet "YOUR_USERNAME" --mnemonic-file "PATH_TO_YOUR_MNEMONIC"

C. Create wallet credentials

Next, create a user name and passphrase for your Wallet, and create a public and private key and **mnemonic (recovery phrase) .

Replace “YOUR_USERNAME” (below) with your chosen username:

MacOS & Linux

./vegawallet key generate --wallet "YOUR_USERNAME"

Windows

vegawallet key generate --wallet "YOUR_USERNAME"

It will then prompt you to input a passphrase, and then confirm that passphrase. You’ll use this username and passphrase to login to Vega Console. (Instructions on connecting to Console are below.)

The key generate command in that instruction will generate public and private keys as well as a mnemonic for the wallet, at the same time as creating a user name.

You’ll see a public and private key, as well as a mnemonic (recovery phrase). DO NOT SHARE YOUR PRIVATE KEY OR MNEMONIC. Keep your mnemonic (recovery phrase) safe and secret. You will need your mnemonic to import your keys.

D. Give each new key a nickname/alias

When creating a key, you can give an alias by adding a metadata item called name.

MacOS & Linux

./vegawallet key generate --wallet "YOUR_USERNAME" --meta "name:CHOOSE_ALIAS_FOR_KEY"`

Windows

vegawallet key generate --wallet "YOUR_USERNAME" --meta "name:CHOOSE_ALIAS_FOR_KEY"

E. Give an existing key a nickname/alias

MacOS & Linux

./vegawallet meta --meta="name:CHOOSE_ALIAS_FOR_KEY" --wallet="YOUR_USERNAME" --pubkey="REPLACE_THIS_WITH_YOUR_PUBLIC_KEY"

Windows

vegawallet meta --meta="name:CHOOSE_CUSTOM_ALIAS_FOR_KEY" --wallet="YOUR_USERNAME" --pubkey="REPLACE_THIS_WITH_YOUR_PUBLIC_KEY"
You can also use the meta command to tag a key with other data you might want, using a property name and a value. This will be useful for developing with Vega Wallet in the future. Find out how to do this on the Vega Wallet commands page.

3. Choose a network

To use Vega Wallet, you’ll need to choose a network to connect to. Import networks or view a list of the preinstalled networks, and note the name of the network you want to connect to.

If you want to use Vega Wallet for Fairground, you can skip step 3 and connect to the fairground network in step 4.

3.1. Import and choose network for mainnet

To import the list of available mainnet networks provided by the validators, use the mainnet1.toml file on the networks repository. Connecting to the available mainnet network means the wallet will cycle through the validator node networks.

A. Import list from URL

Use the following command to import from the URL:

MacOS & Linux

./vegawallet network import \
    --from-url https://raw.githubusercontent.com/vegaprotocol/networks/master/mainnet1/mainnet1.toml

Windows

vegawallet network import \
--from-url https://raw.githubusercontent.com/vegaprotocol/networks/master/mainnet1/mainnet1.toml

B. Import list from file

Alternatively you can import a network list from a file. Use the following command to import from file:

Windows

vegawallet network import --from-file "PATH_TO_FILE"

MacOS & Linux

./vegawallet network import --from-file "PATH_TO_FILE"

3.2. List available networks

To see the list of networks available for your wallet to connect to, run the following command:

MacOS & Linux

./vegawallet network list

Windows

vegawallet network list

3.3. Update available networks

At times you may need to force the wallet to update the list of available networks. Below, choose between forcing an update via URL or file.

A. Import updated list from URL

If you want to update the available networks, run the following --force command to update to the latest available from your chosen URL.

Afterwards, for mainnet: Import the networks list again to see the mainnet option.

MacOS & Linux

./vegawallet network import --force --from-url https://raw.githubusercontent.com/vegaprotocol/networks/master/mainnet1/mainnet1.toml

Windows

vegawallet network import --force --from-url https://raw.githubusercontent.com/vegaprotocol/networks/master/mainnet1/mainnet1.toml

B. Import updated list from file

If you want to update the available networks, run the following --force command to update to the latest available from your chosen file.

Windows

vegawallet network import --force --from-file "PATH_TO_FILE"

MacOS & Linux

./vegawallet network import --force --from-file "PATH_TO_FILE"

4. Run the wallet

4.1. Connect the wallet

To run the wallet for use somewhere besides Vega Console (such as on the token site), or if you are accessing Vega programmatically, use the following command. (See the next step to run the wallet with Vega Console.)

Connect your wallet to a network and run the wallet.

MacOS & Linux

./vegawallet service run --network "NETWORK_NAME"

Windows

vegawallet service run --network "NETWORK_NAME"

4.2. Connect the wallet to Vega Console

If you want to try trading on Fairground, connect your wallet to the Vega testnet (Fairground) network, and run the wallet. To trade on Fairground, start the Vega Console with the command below. (You’ll need collateral to trade, and you can deposit it through Vega Console, once you’re connected.)

MacOS & Linux

./vegawallet service run --network "NETWORK_NAME" --console-proxy

Windows

vegawallet service run --network "NETWORK_NAME" --console-proxy
If you’re running an ad/tracker blocker, and you’re getting errors, it may be blocking the node from connecting. Try allowlisting lb.testnet.vega.xyz and refreshing.
To terminate the process, such as if you want to run other commands in Wallet, use ctrl+c.

5. Deposit testnet tokens

To start trading on testnet, you’ll need to deposit Ropsten Ethereum-based tokens.

You can create and deposit assets directly through the proxy Console via Vega Wallet.

Click for a walkthrough of deposits on Vega Console.

If you’d prefer to request tokens from the contracts directly, there are instructions in the testnet bridge tools repo readme.

Visit the commands page for a full list of commands for Vega Wallet.