> For the complete documentation index, see [llms.txt](https://docs.vexanium.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.vexanium.com/getting-started/development-environment/create-development-wallet.md).

# Create Development Wallet

Wallets are repositories of public-private key pairs. Private keys are needed to sign operations performed on the blockchain. Wallets are accessed using `cleos` or `clivex`.

### Step 1: Create a Wallet

The first step is to create a wallet. Use `cleos wallet create` to create a new "default" wallet using the option `--to-console` for simplicity. If using cleos in production, it's wise to instead use -`-file` so your wallet password is not in your bash history. For development purposes and because these are development and not production keys `--to-console` poses no security threat.

```bash
cleos wallet create --to-console
```

`cleos` will return a password, save this password somewhere as you will likely need it later in the tutorial.

```
Creating wallet: default
Save password to use in the future to unlock this wallet.
Without password imported keys will not be retrievable.
"PW5Kewn9L76X8Fpd....................t42S9XCw2"
```

{% hint style="info" %}

#### ABOUT WALLETS

A common misconception in cryptocurrency regarding wallets is that they store tokens. However, in reality, a wallet is used to store private keys in an encrypted file to sign transactions. Wallets do not serve as a storage medium for tokens.
{% endhint %}

A user builds a transaction object, usually through an interface, sends that object to the wallet to be signed, the wallet then returns that transaction object with a signature which is then broadcast to the network. When/if the network confirms that the transaction is valid, it is included into a block on the blockchain.

### Step 2: Open the Wallet

Wallets are closed by default when starting a keosd instance, to begin, run the following.

```bash
cleos wallet open
```

Run the following to return a list of wallets.

```bash
cleos wallet list
```

and it will return.

```bash
Wallets:
[
  "default"
]
```

### Step 3: Unlock it

The keosd wallet(s) have been opened, but is still locked. Moments ago you were provided a password, you're going to need that now.

```bash
cleos wallet unlock
```

You will be prompted for your password, paste it and press enter.

Now run the following command

```bash
cleos wallet list
```

It should now return

```bash
Wallets:
[
  "default *"
]
```

Pay special attention to the asterisk (\*). This means that the wallet is currently unlocked.

### &#x20;Step 4: Import keys into your wallet

Generate a private key, cleos has a helper function for this, just run the following.

```bash
cleos wallet create_key
```

It will return something like below.

```bash
Created new private key with a public key of:
"VEX8PEJ5FM42xLpHK...X6PymQu97KrGDJQY5Y"
```

### Step 5: Import the Development Key

Every new VEXANIUM chain comes with a development key, and this key is the same. Load this key to sign transactions on behalf of the system user

```bash
cleos wallet import
```

You'll be prompted for a private key, enter the development key provided below

```bash
5JjMtcY2j264vChLogZk3Y7sySSC4z3hWjBTvwLhJoqXv6YP4X3
```

{% hint style="info" %}
**IMPORTANT**

Never use the development key for a production account! Doing so will most certainly result in the loss of access to your account, this private key is publicly known.
{% endhint %}

Wonderful, you now have a default wallet unlocked and loaded with a key, and are ready to proceed.

#### What's Next?

* Start Your Node: Steps to start keosd and nodeos.
