Loading
Loading
Neuron registration trends
PR operators and media outlets struggle to prove authorship and secure payment for legitimate news placements. Attribution is manual, slow, and vulnerable to disputes; there is no automated way to verify that an article was genuinely published, matches the intended topic, and reached the search index. Operators lose bargaining power and outlets can't prove attribution chain independently.
A decentralized network of validators running a deterministic, code-only verification oracle can check every article claim automatically and fairly. Each validator performs identical checks—outlet registry status, URL liveness, editorial authenticity, topic relevance, search-engine indexing, and publish timestamp—then signs epoch snapshots. When multiple independent validators agree, results are canonical, and payment is issued in the network's native token.
Herald implements this on Bittensor netuid 69. Miners (PR operators and outlet owners) commit intent on-chain before pitching, get articles published, then claim and reveal URLs. Validators pull claims, run the oracle (cheapest-first, early-exit), attribute each article to its earliest valid commit, and publish signed results. Rewards payout multiplicatively based on outlet tier, evidence level (pre-committed text, byline, or bare commit), and search status, vesting over ~30 days with clawback if articles are removed.
Use cases were auto-generated from the GitHub repository and may not reflect the latest changes.
Herald is a Bittensor subnet for verified mainstream-media placement. Miners are PR operators and outlet owners who commit intent on-chain (salted hash), get articles published in real registered outlets, then claim and reveal URLs. Validators run a code-only verification oracle that checks commitment validity, outlet registry status, URL liveness, editorial authenticity, topic relevance, search-index presence, and publish timestamps—paying miners in emissions based on tier, attribution evidence level, and search status, with rewards vesting over 30 days and subject to clawback if articles are removed.
Herald follows a commit-reveal attribution model: (1) Miners read briefs and commit on-chain a salted hash encoding brief, outlet, evidence, and nonce—outlet identity hidden until reveal. (2) Miners get articles published in registered outlets. (3) Miners claim by attaching the live URL; neuron serves reveal on validator pull (ClaimSynapse). (4) Validators run a deterministic, code-only oracle (no ML) that performs cheapest-first checks: commitment validity → outlet tier/registry → URL liveness → editorial authenticity → topic match → search-index status → publish-timestamp. (5) Earliest valid claim per (outlet, brief) wins and is attributed to the earliest commit. (6) Rewards payout as a product of base amount, tier, attribution level, and search status, vesting over ~30 days with daily checks. Article removal triggers clawback and hotkey slashing. Validators publish signed epoch snapshots to the backend; backend confirms epochs when ≥2 reporters agree (configurable quorum).
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.
Payout is multiplicative: BASE_PAYOUT ($500) × tier multiplier × attribution evidence level × search status. Tier 1 outlets = 1.0 multiplier, Tier 2 = 0.6, Tier 3 = 0.2. Attribution evidence: Level 2 (pre-committed text/quote found in article) = 1.0, Level 1 (pre-committed byline + tight publish window) = 0.7, Level 0 (bare commit) = 0.3 and may be ratcheted toward 0.
Search-indexed articles receive full multiplier; not-indexed = 0.5 floor. One paid placement per (outlet, brief) goes to the earliest valid commit. Vesting: reward releases over approximately 30 daily installments; each installment requires the article to remain live and accessible.
If confirmed dead, remaining installments are clawed back and the hotkey is slashed (zeroed across all briefs for a cooldown period).
The sections above were auto-generated from the GitHub repository and may not reflect the latest changes. View repository
Incentivising Mainstream Media via PR Firms
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)
Lightweight neuron; no model training. Primary requirement is reliable reachability so validators can pull reveals. Must maintain persistent claims.json file.
Network I/O bound; requires ScrapingBee for proxy outlets and at least one search provider (Brave or SerpAPI). Must have sufficient stake for validator permit.
Clone the Herald repository
git clone <repo> herald && cd herald
Create and activate Python virtual environment
python3 -m venv .venv && source .venv/bin/activate
Install dependencies and Herald package
pip install -r requirements.txt && pip install --no-build-isolation -e .
Create a new Bittensor cold key for wallet
btcli wallet new_coldkey --wallet.name herald_miner
Create a new hotkey associated with the cold key
btcli wallet new_hotkey --wallet.name herald_miner --hotkey m1
Register hotkey on netuid 69 (Finney testnet)
btcli subnet register --netuid 69 --wallet.name herald_miner --wallet.hotkey m1 --network finney
Configure .env with HERALD_PRODUCTION=true, NETUID=69, SUBTENSOR_NETWORK=finney, WALLET_NAME, HOTKEY_NAME, AXON_EXTERNAL_IP, AXON_EXTERNAL_PORT=8091, HERALD_CLAIM_STORE, HERALD_BRIEFS_ENDPOINT
cp deploy/miner.env.production.example .env && nano .env
Start miner using Docker Compose (or: python neurons/miner.py --netuid 69 --wallet.name herald_miner --wallet.hotkey m1 --axon.external_ip <ip> --neuron.disable_auto_update)
docker compose up -d --build miner
View open briefs and available campaigns(optional)
python -m herald.miner.cli briefs
Commit intent on-chain before/while pitching (use --quote for Level 2 evidence, --author/--window for Level 1)
python -m herald.miner.cli commit --brief <brief_id> --outlet <outlet_id> --wallet-name herald_miner --hotkey m1 [--quote '...' or --text-file draft.txt] [--author '...' --window date:date]
Claim the article once published (auto-snapshots page text)
python -m herald.miner.cli claim --commit <onchain_value> --url https://outlet.com/article
View your local claims inventory(optional)
python -m herald.miner.cli list
Clone the Herald repository
git clone <repo> herald && cd herald
Create and activate Python virtual environment
python3 -m venv .venv && source .venv/bin/activate
Install dependencies and Herald package
pip install -r requirements.txt && pip install --no-build-isolation -e .
Create a new Bittensor cold key for validator wallet
btcli wallet new_coldkey --wallet.name herald_vali
Create a new hotkey associated with the validator cold key
btcli wallet new_hotkey --wallet.name herald_vali --hotkey v1
Register hotkey on netuid 69 (Finney testnet)
btcli subnet register --netuid 69 --wallet.name herald_vali --wallet.hotkey v1 --network finney
Stake TAO to obtain validator permit
btcli stake add --netuid 69 --wallet.name herald_vali --wallet.hotkey v1 --amount <TAO>
Download and store the signed outlet registry (must be byte-identical to on-chain anchor)
mkdir -p /secure/herald && curl -s https://api.heraldmedia.ai/registry/outlets.json -o /secure/herald/outlets.signed.json
Configure .env with all required fields: HERALD_PRODUCTION=true, NETUID=69, SUBTENSOR_NETWORK=finney, WALLET_NAME, HOTKEY_NAME, AXON_EXTERNAL_IP, VALIDATOR_AXON_PORT=8092, HERALD_BRIEFS_ENDPOINT, HERALD_BRIEFS_PUBKEY, HERALD_RESULTS_ENDPOINT, HERALD_RESULTS_TOKEN (operator-provided), HERALD_REGISTRY_HOST_FILE, HERALD_REGISTRY_PUBKEY, HERALD_REGISTRY_AUTHORITY_HOTKEY, SCRAPINGBEE_API_KEY (required), BRAVE_API_KEY or SERPAPI_API_KEY (pick one), HERALD_EXPECTED_CONSENSUS_FP
cp deploy/validator.env.production.example .env && nano .env
Restrict .env file permissions to owner-read/write only
chmod 600 .env
Compute the consensus fingerprint (must match across all validators and backend); set result in HERALD_EXPECTED_CONSENSUS_FP
docker compose --profile validator run --rm --no-deps --entrypoint python validator -m herald.production fingerprint
Start validator using Docker Compose (or: python neurons/validator.py --netuid 69 --wallet.name herald_vali --wallet.hotkey v1 --axon.port 8092 --neuron.disable_auto_update)
docker compose --profile validator up -d --build validator
Monitor validator logs for startup and scoring activity(optional)
docker compose --profile validator logs -f validator