Loading
Loading

Neuron registration trends
Drug discovery requires screening millions of candidate molecules and protein sequences to find those with strong binding affinity to disease targets. This screening is computationally expensive—binding affinity prediction with modern models takes 45+ seconds per molecule on specialized hardware—and traditionally centralized, limiting exploration of chemical space to what well-funded organizations can afford to compute.
A decentralized network of competing miners can parallelize this search at scale. Each miner generates candidate molecules or nanobody sequences locally using their own tools and compute, submits encrypted payloads to prevent copying, and validators score them uniformly using shared ML models (Boltz-2 for molecules, BoltzGen for nanobodies). Miners are rewarded based on rank-aggregated quality metrics, incentivizing both binding strength and structural/developmental viability. This distributes the computational burden globally while aligning incentives around objective, measurable quality.
NOVA implements this on Bittensor as two concurrent competitions. Miners discover small molecules from a combinatorial database (optimized via synthon search and active learning) or design nanobody sequences de novo (using diffusion-based protein design). Validators decrypt submissions, validate chemical/biological plausibility, run GPU-intensive scoring pipelines in parallel, and set network weights on winners. Challenge parameters and target proteins are announced ~24 hours before each ~361-block epoch and derived deterministically from block hash to prevent miner-validator collusion.
Use cases were auto-generated from the GitHub repository and may not reflect the latest changes.
NOVA Compound is a Bittensor subnet incentivizing miners to discover drug-like molecules and design nanobody sequences with predicted high binding affinity to specified protein targets. Miners submit small molecules from a combinatorial database (scored via Boltz-2) and/or de novo nanobody sequences (scored via BoltzGen), competing across multiple quality metrics in a rank-sum scoring system. Submissions are timelock-encrypted and validated for chemical/biological plausibility before scoring.
NOVA uses a decentralized validator-miner architecture. Miners generate candidate molecules/sequences locally, encrypt them with Bittensor Drand Timelock encryption (prevents front-running), upload encrypted payloads to public GitHub repositories, and commit pointers on-chain. Validators listen for commitments, fetch encrypted submissions from GitHub, decrypt them, apply multi-layer validation (format, chemical/biological constraints, uniqueness checks), score valid submissions via GPU-intensive ML pipelines (Boltz-2 for molecules, BoltzGen for nanobodies running in parallel across 2+ GPUs), aggregate scores using rank-based aggregation, determine winners, and set on-chain weights.
Challenge parameters (target proteins, allowed reactions) derived deterministically from epoch start block hash. Validators share scores via external API for robustness against non-deterministic model outputs. Epochs are ~361 blocks; submissions close 10 blocks before epoch end.
Two separate competitions (molecules and nanobodies) run concurrently with independent scoring and winner selection.
Accelerating drug discovery.
This information was auto-extracted from the GitHub repository and may be incomplete or out of date. Always refer to the subnet's GitHub repository for the latest instructions.
Small molecule competition: miners submit molecules from combinatorial database, each scored via Boltz-2 binding affinity prediction. Nanobody competition: miners submit de novo designed protein sequences, each scored via BoltzGen using 10 metrics (5 structural confidence, 3 interaction quality, 2 developability). Scores aggregated per type via averaging across targets (if multiple) then summing across items.
Final winner per type selected by highest/lowest score (depending on config boltz_mode/boltzgen_rank_mode), with tie-breaking by earliest block submission, then push timestamp, then UID. Rank-based scoring for nanobodies: all designs ranked independently per metric (1st place to Nth), then per-sequence score is sum of ranks. This forces miners to optimize for consistent performance across all dimensions rather than gaming a single metric.
The sections above were auto-generated from the GitHub repository and may not reflect the latest changes. View repository
FAQs were auto-generated from the GitHub repository and may not reflect the latest changes.
Holder & total-staked metrics as of 1h ago (hourly snapshot)
GPU required for Boltz-2 inference (45s per molecule on A100). Miners can parallelize scoring across multiple GPUs to reduce latency. Combinatorial database access via local SQLite file required.
2 GPU devices with >48 GB VRAM required for parallel molecule and nanobody scoring within epoch window. Single GPU setup runs sequentially and may miss scoring rounds. Validators orchestrate Boltz-2 and BoltzGen scoring, perform validation checks, and set on-chain weights.
Clone the NOVA repository with submodules
git clone --recurse-submodules https://github.com/metanova-labs/nova.git && cd nova
Create and configure environment file with GitHub token, Bittensor network settings, and GPU parallelization parameters (NOVA_BOLTZ_SHARDS, NOVA_BOLTZ_GPUS, etc.)
cp example.env .env && # then edit .env with your credentials
Install dependencies with optional CUDA version specification (default 12.6)
./install_deps.sh [--cuda <version>] && source "$HOME/.local/bin/env"
Activate Python virtual environment
source .venv/bin/activate
Run miner node. Miner will connect to chain, receive challenge parameters, generate/select candidate molecules and/or nanobody sequences, format submission as 'molecules|sequences', encrypt with timelock, and upload to GitHub.
python3 neurons/miner.py --wallet.name <your_wallet> --wallet.hotkey <your_hotkey> --logging.info
Clone the NOVA repository with submodules
git clone --recurse-submodules https://github.com/metanova-labs/nova.git && cd nova
Create and configure environment file with SUBTENSOR_NETWORK, GITHUB_TOKEN, VALIDATOR_API_KEY (obtain from NOVA team), and GPU configuration for parallel Boltz/Boltzgen scoring
cp example.env .env && # then edit .env with your credentials
Install dependencies with optional CUDA version specification (default 12.6)
./install_deps.sh [--cuda <version>] && source "$HOME/.local/bin/env"
Activate Python virtual environment
source .venv/bin/activate
Run validator in normal mode. Requires registration on subnet 68 and ≥1000 NOVA stake. Validator processes each epoch: gathers commitments from chain, fetches and decrypts submissions from GitHub, validates format/chemistry/biology, scores with Boltz-2 and BoltzGen, aggregates scores, determines winners, and sets on-chain weights.
python3 neurons/validator/validator.py --wallet.name <your_wallet> --wallet.hotkey <your_hotkey> --logging.debug
Optional: run in test mode (skips registration/stake checks and weight-setting) for development/testing(optional)
python3 neurons/validator/validator.py --wallet.name <your_wallet> --wallet.hotkey <your_hotkey> --test_mode --logging.debug
Optional: run with local input file (format: uid|mol1,mol2...|seq1,seq2...) for offline testing(optional)
python3 neurons/validator/validator.py --wallet.name <your_wallet> --wallet.hotkey <your_hotkey> --local_input_file /path/to/input --test_mode