> For the complete documentation index, see [llms.txt](https://docs.triton.one/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.triton.one/validators/solana/readme/white-label-validators/vote-account-setup.md).

# Vote account setup

How a Triton-hosted Solana validator's vote account is created: node identity, withdrawal key pair, solana-keygen and solana create-vote-account commands.

{% hint style="info" %}
Should we host your validator, we will set up the vote account for you. The information below is for transparency and educational purposes.
{% endhint %}

To set up a validator, three kinds of keys need to be present:

| Key                                    | Held by |
| -------------------------------------- | ------- |
| **Node identity key pair**             | Triton  |
| **Vote key/account** (public key only) | —       |
| **Withdrawal key pair**                | You     |

## Node identity key pair

The node identity key pair is owned and held by Triton. Clients guarantee a minimum balance of 10 SOL to keep the validator running. If the balance drops below 10 SOL, the client must send SOL directly to the validator. Contact our support to receive the validator public key.

## Withdrawal key pair

The withdrawal key pair is the one that can be used to modify the vote account; it must be kept safe! You use this key pair to withdraw rewards from the vote account. We recommend you keep this in a hardware wallet or cold storage. This should never be a hotkey or used with online/web wallets. Losing the keys to this account may result in significant losses.

To create a withdrawal key pair, you can run the following:

{% code title="Create the withdrawal key pair" %}

```bash
solana-keygen new -o ~/authorized-withdrawer-keypair.json
```

{% endcode %}

## Vote account

The final step involves setting up the vote account. A keypair is generated for the vote account, but once it is configured, only the public key of the vote account matters. The withdrawal keypair is the one that will be used to control the vote account.

Creating the vote account needs a signature from the node identity key pair, so Triton runs this step with the withdrawal public key you give us. The withdrawal key pair itself never leaves your cold storage:

{% code title="Create the vote account" overflow="wrap" %}

```bash
solana-keygen new -o ~/vote-account-keypair.json
solana create-vote-account ~/vote-account-keypair.json <node-identity-keypair> <authorized-withdrawer-pubkey>
```

{% endcode %}

## Further reading

For more on vote account management, see the Anza documentation:

{% embed url="<https://docs.anza.xyz/operations/guides/vote-accounts>" %}

***

<i class="fa-life-ring">:life-ring:</i> Contact support by clicking the chat icon in your [customer dashboard](https://customers.triton.one)\ <i class="fa-briefcase">:briefcase:</i> Sales questions? [Contact us](https://triton.one/contact)\ <i class="fa-sparkles">:sparkles:</i> AI agent? Read [llms.txt](https://docs.triton.one/llms.txt)\ <i class="fa-rss">:rss:</i> Follow updates: [Blog](https://blog.triton.one) · [X](https://x.com/triton_one) · [YouTube](https://www.youtube.com/@triton_one_ltd) · [Telegram](https://t.me/tritonone) · [GitHub](https://github.com/rpcpool)
