Validator Roles & Incentives
Validators function as FlameWire's quality-control oracle, measuring miner performance and determining who deserves what share of the daily ALPHA emissions.
Primary Responsibilities
Validators must:
- Probe miners for uptime, correctness, and latency
- Aggregate scores into a weight vector
- Publish weights on-chain via
set_weightstransactions (rate-limited to one call every ~20 minutes per Bittensor rules)
Verification Cycle
Earnings Structure
| Source | Mechanism |
|---|---|
| Staking yield | Bond ALPHA tokens; earn share of 41% staker allocation paid per block, proportional to stake |
| Reputation benefits | Accurate, timely weights increase credibility; may unlock off-chain grants or bounties |
Capital Requirements
No minimum bond exists to operate a validator, though voting power scales with locked ALPHA. Hardware costs depend on your validation strategy:
| Strategy | Cost | Notes |
|---|---|---|
| Canonical dataset | Lowest | No chain nodes needed |
| Third-party RPCs | Mid-tier | API fees apply |
| Self-hosted nodes | Highest | Best assurance and independence |
Accuracy Incentives
The network flags validators whose weights diverge significantly from the median consensus as potentially noisy or malicious, risking:
- Reduced reputation visibility
- Potential future slashing in governance upgrades
Stay Honest
Getting Started
Step 1: Install Prerequisites
Ensure you have the following installed on your system:
- Minimum hardware: 4 vCPU, 8 GB RAM, 80 GB storage
- Python 3.10+ — Required for running the validator
- Node.js 18+ — Required for pm2 process manager
- Access to an archive Bittensor node for
REFERENCE_RPC_URL
Reference RPC Fallback
REFERENCE_RPC_URL=wss://archive.chain.opentensor.ai:443.Step 2: Clone the Repository
git clone https://github.com/unitone-labs/FlameWire.git
cd FlameWireStep 3: Create Virtual Environment
python3 -m venv venv
source venv/bin/activateStep 4: Install Dependencies
pip install -r requirements.txt
pip install -e .
npm install -g pm2Step 5: Verify Validator Identity
To obtain your validator API key, you must verify ownership of your validator hotkey. Navigate to the validators page:
Sign the Verification Message
Copy the command shown in the modal and run it to sign the message:
btcli w sign --wallet.name [name] --wallet.hotkey [hotkey] --use-hotkey --message verify-validatorReplace the placeholders with your actual values:
[name]— Your wallet name[hotkey]— Your hotkey name
Example:
btcli w sign --wallet.name my_wallet --wallet.hotkey my_hotkey --use-hotkey --message verify-validatorComplete the Verification
After running the command, enter the following in the modal:
- Hotkey Address — Your Bittensor hotkey address (starts with
5) - Signature — The signature output from the
btclicommand
Click Verify Identity to complete the verification. If your hotkey is registered as a validator on the subnet, you'll receive the validator role.
Step 6: Create Validator API Key
After receiving the validator role, navigate to the API Keys page to create your validator API key:
Enter a Name for your API key (e.g., "Production Validator"), ensure the Validator role is selected, and click Create Key.
Step 7: Configure Environment
Copy the example environment file and populate it with your credentials:
cp .env.example .envRequired environment variables:
WALLET_NAME— Your Bittensor wallet nameWALLET_HOTKEY— Your hotkey nameSUBTENSOR_NETWORK— Subtensor endpoint (default:wss://entrypoint-finney.opentensor.ai:443)REFERENCE_RPC_URL— Archive reference RPC for truth checks (use your own node when possible, fallback:wss://archive.chain.opentensor.ai:443)GATEWAY_URL— FlameWire gateway URLVALIDATOR_API_KEY— Your validator API key from Step 6VALIDATOR_MAX_WORKERS— Number of parallel workers (default: 32)VALIDATOR_EMA_ALPHA— EMA smoothing factor (default: 0.1)VALIDATOR_VERIFICATION_INTERVAL— Verification interval in seconds (default: 480)WANDB_API_KEY— Weights & Biases API key (get from wandb.ai/authorize)
REFERENCE_RPC_URL=wss://archive.chain.opentensor.ai:443Step 8: Start the Validator
pm2 start neurons/validator.py --name flamewire-validator --interpreter python3Step 9: Monitor Operations
# Monitor in real-time
pm2 monit
# View logs
pm2 logs flamewire-validator
# Restart if needed
pm2 restart flamewire-validatorSecurity
.env file or commit it to version control.