> For the complete documentation index, see [llms.txt](https://docs.baas.sh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.baas.sh/baas-console/vault.md).

# Vault

See your project's keys, choose the networks each one can be used on, and follow their balance and activity.

**Vault** lists the keys of your project and decides where each one can be used, network by network. Open it from the sidebar's **Settings** group.

Keys are added and removed in the BaaS Dashboard's [Vault](/dashboard/vault.md). Here you enable or disable a key on each network, and follow its balance and transactions. In this guide, the project has one key, `deployer`.

## The list

Each key is a row with its **id** (the name you chose), **address** (`—` until available), and **provider**, **Local** or **Google Cloud KMS**. Click a row to open the key.

**Add key** opens the Dashboard on the project's add-key dialog. When you come back, the Console refreshes and the new key is in the list.

## Choose where a key can be used

A key's page shows one row per network of the project. Open a prepared network to see its balance, address and transactions, and the enable/disable switch in its header:

| Column      | What it shows                                                            |
| ----------- | ------------------------------------------------------------------------ |
| **Network** | The network's name                                                       |
| **Status**  | A read-only badge showing the key's [state](#key-states) on this network |
| **Balance** | The key's balance on this network                                        |

A new key is enabled on every network it was prepared on.

### Key states

| State                           | Meaning                                                                                                                 |
| ------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| **Setup incomplete**            | Not set up on this network yet: click **Retry**                                                                         |
| **Active** (`enabled`)          | The key can be used on this network                                                                                     |
| **Disabled** (`disabled`)       | You switched the key off on this network                                                                                |
| **Unavailable** (`unavailable`) | The key cannot send transactions on this network for now; signing a message still works unless the key is also disabled |
| **Status unknown**              | The live state could not be read. Refresh the page                                                                      |

{% hint style="info" %}
**On a public network, fund the key's address** so it can pay for gas. On the BaaS network, gas is free. The address is on the activity page.
{% endhint %}

### Disable a key on a network

Open the network and click the switch in its header. A confirmation reads **Disable deployer on Ethereum? Workflows and Smart Wallet activations using this key may fail until you enable it again.** Confirm to disable new transactions and message signatures with this key on this network. Existing configurations are kept.

Click the switch again to enable the key: it resumes with the same address and history.

## Pick a key in a configuration

Wherever BaaS sends a transaction or signs a message for you, the selector is **Key + Network**. Every key set up on the network is listed, including disabled keys. Enable a disabled key before using it to send or sign.

| Where                                                                               | What you pick                                                       |
| ----------------------------------------------------------------------------------- | ------------------------------------------------------------------- |
| [Transaction action](/baas-console/automations/actions/transaction.md#pick-the-key) | A key set up on the deployment's network                            |
| [Executor](/baas-console/contracts/read-and-write.md#write-with-a-key)              | A key set up on the deployment's network                            |
| [Function action](/baas-console/automations/actions/function.md#advanced-settings)  | **Key (optional)**: a key, then one of the networks it is set up on |
| [Wallet Settings](/baas-console/wallet-settings.md#the-activation-key)              | The **activation key**: a key set up on that chain                  |

## Remove a key

Keys are removed in the Dashboard's [Vault](/dashboard/vault.md#remove-a-key).

## Errors

A configuration or a call that names a key and a network can be refused with one of these codes:

| Code                       | What to do                                                                                                |
| -------------------------- | --------------------------------------------------------------------------------------------------------- |
| `key_not_found`            | No key has this id: check the name                                                                        |
| `key_id_taken`             | This name is already used: choose another one                                                             |
| `key_network_not_prepared` | Not set up on this network: click **Retry** on the key's page                                             |
| `key_network_disabled`     | Enable the key on this network                                                                            |
| `key_network_unavailable`  | The key cannot send on this network for now: try again later                                              |
| `key_in_use`               | Pick another key in the workflow action or Smart Wallet setting that uses it, then remove it              |
| `smart_wallet_key_invalid` | Pick a key set up on that chain in [Wallet Settings](/baas-console/wallet-settings.md#the-activation-key) |

## Next

* [Vault](/dashboard/vault.md) in the Dashboard: add a key, retry a preparation, remove a key.
* [Transaction](/baas-console/automations/actions/transaction.md): call a contract with a key from an automation.
* [Wallet Settings](/baas-console/wallet-settings.md): choose the key that activates your users' Smart Wallets.
