# Validator Reward Claim Instructions

Validators can now claim their $vPTS rewards using a command-line tool. There are two main options: install from [crates.io](https://crates.io/crates/merkle-distributor-claim-cli) using Cargo, or clone the GitHub repo and run it from source.

***

### 🛠️ Prerequisites

Before starting:

1. **Rust** must be installed.\
   Most validators already have Rust installed since it’s required to run a validator. If not, install it via:

   ```bash
   curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
   ```
2. Optional but recommended: install or update to the latest stable toolchain.\
   A `rust-toolchain.toml` will be added to the repo to ensure seamless builds.

***

### 🚀 Quick Claim (via Cargo)

1. **Install the CLI Tool**

   Run the following to install the reward claim CLI:

   ```bash
   cargo install merkle-distributor-claim-cli
   ```
2. **Run the Claim Command**

   Replace `<YOUR KEYPAIR FILE PATH>` with your actual `.json` keypair file path. The following examples show how to set environment variables depending on your shell or OS:

   **Unix/macOS/Linux/WSL:**

   ```bash
   AIRDROP_BASE_URL=https://solanavault.github.io/simd-228-vpts-airdrop/proofs \
   DISTRIBUTOR_ADDRESS=BAzvEJH5w7igbbkiRLhCD89b1gLtrZz6B9wxxuh3ocJz \
   MINT_ADDRESS=vPtS4ywrbEuufwPkBXsCYkeTBfpzCd6hF52p8kJGt9b \
   md-claim <YOUR KEYPAIR FILE PATH>
   ```

   **PowerShell:**

   ```powershell
   $env:AIRDROP_BASE_URL="https://solanavault.github.io/simd-228-vpts-airdrop/proofs"
   $env:DISTRIBUTOR_ADDRESS="BAzvEJH5w7igbbkiRLhCD89b1gLtrZz6B9wxxuh3ocJz"
   $env:MINT_ADDRESS="vPtS4ywrbEuufwPkBXsCYkeTBfpzCd6hF52p8kJGt9b"
   md-claim <YOUR KEYPAIR FILE PATH>
   ```

   **Command Prompt (cmd.exe):**

   ```cmd
   set AIRDROP_BASE_URL=https://solanavault.github.io/simd-228-vpts-airdrop/proofs
   set DISTRIBUTOR_ADDRESS=BAzvEJH5w7igbbkiRLhCD89b1gLtrZz6B9wxxuh3ocJz
   set MINT_ADDRESS=vPtS4ywrbEuufwPkBXsCYkeTBfpzCd6hF52p8kJGt9b
   md-claim <YOUR KEYPAIR FILE PATH> --url <YOUR RPC>
   ```

***

### 💻 Alternative: Run from Source

1. **Clone the Repo**

   ```bash
   git clone https://github.com/SolanaVault/merkle-distributor-claim-cli
   cd merkle-distributor-claim-cli
   ```
2. **Check Environment Variables**

   The required variables (`AIRDROP_BASE_URL`, `DISTRIBUTOR_ADDRESS`, `MINT_ADDRESS`) are already included in the `.env` file.
3. **Build and Run**

   ```bash
   cargo run -- <YOUR KEYPAIR FILE PATH>
   ```

***

### 🔐 Security Notes

* If you have a **claim key** from the campaign, you **must** use it. There is no option to use the identity key in that case.
* The claim key can be used with the CLI or the web interface.
* For full transparency, you may inspect the code before signing anything. There is no need to trust blindly—review the GitHub code.

***

### 📦 GitHub Repo

**Repo**: [`SolanaVault/merkle-distributor-claim-cli`](https://github.com/SolanaVault/merkle-distributor-claim-cli)


---

# Agent Instructions: 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:

```
GET https://docs.thevault.finance/validators/validator-reward-claim-instructions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
