> For the complete documentation index, see [llms.txt](https://docs.kcc.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kcc.io/developers/run-a-node/run-a-validator-node/manager-account-and-validator-account.md).

# Manager Account And Validator Account

To run a validator node, you need two different accounts. Each of the accounts has a different role:

* Your node uses an account(i.e., a private key) for signing new blocks. We call this account the `validator account`. You can only use a Keystore file for this account.
* You can manage all your funds (margin and pending rewards) with another account. We call this account the `manager account`. You can use either a hardware wallet or [a gnosis-safe wallet](/individuals/wallet/mutisig-wallet.md).&#x20;

With the above setup, your funds will be safe even if the server running your node is compromised and the hacker accesses the private key of your validator account.&#x20;

### How To Generate Your Validator Account&#x20;

You can only use a Keystore file for your validator account. You generate a new Keystore file by running the following command:&#x20;

```bash
geth account new --datadir /data/.kcc 
```

{% hint style="info" %}
In [the previous section,](/developers/run-a-node.md) we use `--datadir` to specify the directory where all chain data are stored.  The generated Keystore file for your validator account is also in this directory.&#x20;
{% endhint %}

After running the command above, it will ask you to provide the password for your Keystore file:&#x20;

```bash
Your new account is locked with a password. Please give a password. Do not forget this password.               
Password:
```

If everything goes well, it will print the address of your validator account on the screen:&#x20;

```
Your new key was generated                                                                                     
                                                                                                               
Public address of the key:   0xa693bE057aEBeD3fEd313b661ef3cBbFfB49E95d                                        
Path of the secret key file: /data/.kcc/keystore/UTC--2022-12-07T09-37-15.362634255Z--a693be057aebed3fed313b661ef3cbbffb49e95d                                                                                        
                                                                                                               
- You can share your public address with anyone. Others need it to interact with you.                          
- You must NEVER share the secret key with anyone! The key controls access to your funds!                      
- You must BACKUP your key file! Without the key, it's impossible to access account funds!                     
- You must REMEMBER your password! Without the password, it's impossible to decrypt the key!  
```

Note that it also prints the path of your Keystore file (i.e., the secret key file). Please backup this file! &#x20;


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.kcc.io/developers/run-a-node/run-a-validator-node/manager-account-and-validator-account.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
