TAO—Block—Subnets85 / 128active
Bittensor SN89 — IQ Signal Program.
what the project says about itself — the input for semantic labels
Bittensor SN89 — IQ Signal Program.
scope of the data
Taonets fetches the repo's public metadata (description, topics, language, stars, last push) and the head of its README. Commit-count histories, contributor lists and release notes require the GitHub commits/releases endpoints, which the worker doesn't consume yet — those panels are coming with the ingest upgrade and are not simulated in the meantime.
first lines of the default branch README, unedited
# InfiniteQuant Subnet — SN89
Bittensor subnet 89. Miners commit encrypted directional trade calls. Validators grade them against real market data. Emissions go to miners with statistically proven edge.
> **2026-11-05 00:00 UTC: HF ends and Markets is discontinued.** New HF receipts are refused from that
> time; HF calls made before it are still graded. IQ Markets stopped taking bets on 2026-11-04 and its
> share ends. Of total emission: Signals LF 30%, Agent competition 50%, referrers 20%. From 2026-11-09
> 08:00 UTC the Agent share pays agent books (weekly). The Markets and HF sections below are kept as the
> record of how they worked.
> **2026-10-14 00:00 UTC: Markets doubles.** Markets moves from 10% to 20% of miner emission; LF and HF move
> from 35% to 30% each; referrers stay at 20%. The Markets collateral vault arms at the same time (see Markets
> below).
> **2026-10-09 00:00 UTC: Closers retires and Markets goes live.** Closers' share of miner
> emission (10%) moves to Markets, the on-chain Up/Down prediction markets described below. Closers
> votes graded before that time keep their results. LF (35%), HF (35%) and referrers (20%) are
> unchanged. Bets on the first markets open at 23:00 UTC on 2026-10-08 (1-hour markets) and 23:45
> UTC (15-minute markets).
> **Requires Python 3.10.** The `timelock` dependency publishes wheels only for 3.7–3.10. On 3.11/3.12: `apt install python3.10 python3.10-venv` (or pyenv) and build the venv with `python3.10`.
## Protocol
1. **COMMIT** — pick a pair + direction. The signal is encrypted with a 15-minute [drand](https://drand.love) timelock; `SHA256(signal)` goes on-chain via `set_commitment`. The commit block is the signal's timestamp. Entry price = the last anchored tick at or before that block's time, so every validator derives the same entry. Hosted and workspace miners see their entry, TP and SL within about 2 minutes, once that tick window seals.
2. **REVEAL** — after 15 minutes the timelock opens. Validators verify the plaintext against the on-chain hash, then grade on the anchored ticks: TP touched first = **WON** · SL touched first = **LOST** · neither by the horizon = **WASH**.
3. **EARN** — emissions ∝ trailing-30-day qualified wins (capped at 20) × hit-rate tier.
- A committed blob that never reveals is a decisive **LOSS**. Committing costs what revealing costs.
- Candles are bad-tick sanitized (uncorroborated wicks clamped; crypto cross-checked against Hyperliquid). Forex/metals rollover bars [20:55–21:20 UTC] are dropped from grading.
## Rules
| Rule | Value |
|---|---|
| Signals per UTC day | **3** per hotkey (from 2026-07-18T00:00:00Z; 6 before) |
| Min gap between calls | **1 h** (from 2026-07-18T00:00:00Z; none before) |
| TP / SL | per-asset, symmetric 1:1 — `data/signals-bands.json` |
| Grade window | crypto 8 h · forex/metals 12 h · equities 48 h |
| Same-pair repeats | allowed — including long-then-short on one pair |
| Unrevealed blob | LOSS 6 h past reveal round |
| Bad blob (hash/decrypt fail) | strike — 3 strikes in 30 d zeroes the hotkey 30 d |
Limits are as-of versioned (`config.SUBMISSION_RULES_HISTORY`): each signal is judged by the rules in force at its own commit time. A rules change never retroactively voids older signals. The miner tooling enforces the limits locally, so an over-limit call is refused with a reason instead of silently voiding.
## Scoring
```
decisive = WON + LOST (washes and voids never count)
reputation = decisive trades in the last ~60 days, capped at the most recent ~100
QUALIFIED = window decisive ≥ 8 AND Wilson lower bound on true hit-rate ≥ 50%
(~90% confidence you beat a coin flip — luck does not qualify)
tier = on a SHRUNK hit-rate (thin samples pulled toward 50%):
QUALIFIED ≥ 55% → 1.0× | SHARP ≥ 60% → 1.2× | WOLF ≥ 70% → 2.0×
your weight ∝ (your qualified wins × tier, each decaying linearly to 0 over 30 d, count-capped 20) / Σ same over all qualified
```
- Reputation decays (~60 d / ~100 trades): old wins can't mask bad recent trading, and a bad early stretch ages out.
- Wins decay linearly over 30 days (7 days until 2026-10-19) and are capped at 20 — conviction outweighs volume.
- **Warmup:** first 8 days = dust weight. Warmup trades build the record; warmup wins never pay. Post fresh wins after warmup to earn.
- If no qualified miner has recent wins, emissions burn.
## Copy penalty
- The first eligible hotkey on a `(pair, direction)` is the original; a different hotkey opening the same trade while it is live lands second.
- Landing second on ≥ 50% of your decisive trades (min 5) + a sharp 1:1 shadowing signature = habitual copier. Copied wins stop counting toward hit-rate.
- The first mover is always safe. Occasional overlap on a crowded trade is fine — the penalty targets systematic following.
- Leader eligibility (≥ 10 decisive, not eliminated, not holding both directions of a pair) blocks throwaway hotkeys from manufacturing copy-flags.
## Referral
- An existing miner can claim a **new** hotkey before it registers: `python neurons/miner.py refer <new_hotkey_ss58>` — commit the claim, wait for it to appear in the public checkpoint (~5 min), **then** register the recruit.
- While both hotkeys are earning, the recruit gets +10% emissions and the recruiter is paid from the referrer mechanism (mechanism 1, 20% of miner emission).
- A hotkey that registered before the claim can never be claimed. Adding a second miner? Claim it first.
- Strict pair no-copy: shadowing inside the pair suspends the bonus 30 days.
## Assets
| Class | Pairs |
|---|---|
| Crypto | BTCUSD · ETHUSD · SOLUSD · XRPUSD · TAOUSD · HYPEUSD · BNBUSD · DOGEUSD · ADAUSD · AVAXUSD · LINKUSD · DOTUSD · TRXUSD · LTCUSD · BCHUSD · SUIUSD · ARBUSD · NEARUSD · ALGOUSD · UNIUSD · AAVEUSD · CRVUSD · XMRUSD · ZECUSD · ENAUSD · ZROUSD · KPEPEUSD · PUMPUSD · WLDUSD · ASTERUSD |
| Metals | XAUUSD · XAGUSD |
| Forex | AUDUSD · EURUSD · USDCAD |
| Stocks | NVDAUSD