Targets
Targets are how the network communicates what it needs.
Each target is an embedding — a point in the data space representing a domain the network wants to explore. Validators generate new targets at epoch boundaries. Submitters compete to land closest.
Generation
Section titled “Generation”At the start of each epoch, the network generates targets across embedding space. The goal is coverage: targets spread across domains so the network acquires diverse, high-quality data. Early on, generation is broad. Over time, it can shift toward regions with sparse coverage or high value.
Targets are generated from consensus checkpoints using verifiable delay functions (VDFs), so no validator can predict or manipulate them.
Model Assignment
Section titled “Model Assignment”Each target is assigned a set of models via stake-weighted K-nearest neighbors over model embeddings.
Every registered model has an embedding representing its specialization. The network computes a score for each model relative to the target:
score = distance² / voting_powerThe K models with the lowest scores are assigned to the target. This means models that are both close to the target in embedding space and have high stake get priority. The target stores its assigned model_ids on-chain.
Submitters targeting a given target must use one of its assigned models.
Distance Threshold
Section titled “Distance Threshold”Each target has a radius — a maximum distance in embedding space. Submissions must land within this threshold to be eligible. This prevents low-relevance submissions from competing for rewards they don’t deserve.
Lifecycle
Section titled “Lifecycle”A target moves through three states:
Open — accepting submissions for the current epoch.
Filled — the epoch has ended and the closest submission has been selected as the winner.
Claimed — the challenge window has passed and rewards have been distributed to the winner.