To verify your Connectivity Standards Alliance (Alliance)-issued Vendor ID (VID), you'll need to
generate a transaction JSON file and run the command in the
Google Home Developer Console.

Make sure you are doing this process on a machine with access to the `dcld`
command line tool and the appropriate DCL account for your VID.

## DCL WebUI keys

If you created your DCL account and associated keys using the
[DCL WebUI](https://webui.dcl.csa-iot.org), you must
import them into `dcld` before you can verify your VID.

![Mnemonic phrase](https://developers.home.google.com/static/matter/integration/images/vid-verification-mnemonic-phrase.png)

1. Locate your mnemonic recovery phrase. You should have saved the mnemonic phrase when you created the key in WebUI. The mnemonic phrase consists of 24 words.
2. If you don't have `dcld`, make sure you have goLang 1.3
   installed.

   - [Ubuntu](https://khongwooilee.medium.com/how-to-update-the-go-version-6065f5c8c3ec)
   - [MacOS](https://www.jajaldoang.com/post/how-to-update-golang)

   There's also a prebuilt version of DCL for Ubuntu. See the
   [Distributed Compliance Ledger (DCL)](https://github.com/zigbee-alliance/distributed-compliance-ledger/blob/master/docs/quickStartGuide.adoc)
   on GitHub for more information.
3. Import your key using BIP39 Mnemonic. Enter the following command in `dcld`.

   ```bash
   dcld keys add mykey --recover
   ```

       Enter your bip39 mnemonic
       found obscure learn obtain suffer dish crazy clinic layer expose negative
       siege alley drop issue expect horror strike hold catalog simple tongue
       draw filter
       {"name":"jack","type":"local","address":"cosmos1n78djl9spdwcwrmq2z8skxeqqcz7q3n9rhu9ml","pubkey":
       "{\"@type\":\"/cosmos.crypto.secp256k1.PubKey\",\"key\":\"AghA9HLRUhOAQzC0ZWzZGcPEPtKrGSIpQ4uhjXH9ZNcr\"}"}

Your key should now be imported and you should be able to run the signature
commands as requested by our Developer Console.

### Mnemonic phrase

Your BIP39 mnemonic can be used to recover or reconstruct your secret keys.
Don't share your mnemonic phrase. It should be kept private and secured as if
it were your private DCL key.

If you haven't backed up your mnemonic recovery phrase there is no
direct way to recover or import your DCL keys for use with dcld.

## Account holder

VID Verification requires a Distributed Compliance Ledger (DCL) mainnet account;
testnet is not supported. If you are an account holder for your company, to
verify your VID:

[Go to the Developer Console](https://console.home.google.com)

1. From the list of projects, click **Open** next to the project you want to
   work with.

2. Click **Develop**.

3. Under **Vendor ID (VID)** , select **Alliance-issued vendor
   ID (to certify)** and enter your Alliance-issued vendor ID.

4. Click **Verify VID** to continue.

   ![Verify VID](https://developers.home.google.com/static/matter/integration/images/vid-verification-verify-vid.png)
5. This generates a DCL transaction.

   ![VID first command](https://developers.home.google.com/static/matter/integration/images/vid-verification-first-command.png)
6. Open a terminal window.

   1. If you haven't used `dcld` before, import the key by executing the
      following command:

      ```bash
      dcld keys import key-name key-file
      ```

      You will be prompted to enter the decryption passphrase for the exported
      key which was used during the export process.
7. Copy and execute the first command as shown.

8. Now run the second command in your terminal.

   ![VID second command](https://developers.home.google.com/static/matter/integration/images/vid-verification-second-command.png)
9. Paste the output from the second command and click **Submit** .
   ![Paste output command](https://developers.home.google.com/static/matter/integration/images/vid-verification-paste-output-command.png)

10. Ownership of your VID will be verified.

    - If your production VID is verified, you'll receive a green check mark. Click **Save \& continue** to finish. ![VID verified](https://developers.home.google.com/static/matter/integration/images/vid-verification-verified.png)
    - If your production VID is rejected, you'll receive a red exclamation mark with the issues that need to be fixed.

> [!NOTE]
> **Note:** Once you verify your production VID, you don't need verify it again.

## Non-account key holder

If you are not a DCL account holder, you should work with an account holder to
verify the VID.

If the account holder has access to Developer Console, ask them to
verify the VID using the instructions in [Account holder](https://developers.home.google.com/matter/integration/vid-verification.md.txt#account_holder).

If the account holder doesn't have access to Developer Console:

1. Get the generated commands and send the command to the account holder.
2. Enter the result from the second command and click **Submit**.
3. Ownership of your VID will be verified.
   - If your production VID is verified, you'll receive a green check mark. Click **Save \& continue** to finish. ![VID verified](https://developers.home.google.com/static/matter/integration/images/vid-verification-verified.png)
   - If your production VID is rejected, you'll receive a red exclamation mark with the issues that need to be fixed.