> For the complete documentation index, see [llms.txt](https://valargroup.gitbook.io/shielded-vote-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://valargroup.gitbook.io/shielded-vote-docs/userflow/wallet-setup.md).

# Wallet Setup

## What the user does

1. **Open the governance tab** in their wallet (e.g. Zashi)
2. The wallet identifies the user's Orchard notes at the snapshot height
3. The wallet generates a voting hotkey (stored locally, not backed up)
4. The user authorizes delegation of their voting rights to the hotkey. For Keystone users, this is a hardware-signed 0-value dummy transaction. For software wallet users, the app signs directly with the wallet's spending key.
5. The wallet constructs ZKP #1 and submits to the vote chain

## What the user sees

* A clear display of their total eligible voting weight (e.g. "You have 99 ZEC eligible for voting")
* A signing prompt — either a Keystone QR screen or an in-app confirmation — authorizing the delegation
* A confirmation that their voting authority has been registered on the vote chain

## What happens behind the scenes

* The wallet fetches nullifier exclusion proofs via PIR (so it doesn't download the full nullifier set)
* The wallet fetches Merkle inclusion proofs for each note
* ZKP #1 is computed, proving note ownership, governance nullifier validity, and governance commitment integrity
* The Vote Authority Note is inserted into the vote commitment tree on the vote chain

## Requirements

* The user must have at least 0.125 ZEC in their Orchard notes at the snapshot height
* Keystone users need their device for the initial delegation signing; software wallet users sign in-app
* The wallet must be online to submit the ZKP to the vote chain

See [ZKP #1 — Delegation Proof](/shielded-vote-docs/zkp-specifications/zkp1-delegation-proof.md) for the full circuit specification.
