89
InfiniteQuant
sn89Markets & PredictionClean13Fair entry59Bittensor SN89 — IQ Signal Program.
Emission
1
TAO / day · live
Alpha
0.0138
τ · mcap 39.8K
Top-slot payout
0.019
τ per winning epoch · live
Stars
1
live from the GitHub API
Primary language
Python
repo-reported
Last push
3d ago
feeds the dormancy integrity signal
Topics
—
repo-declared tags
About the repo
what the project says about itself — the input for semantic labels
Bittensor SN89 — IQ Signal Program.
Reading this tab
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.
README head
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.
> **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 2-hour [drand](https://drand.love) timelock; `SHA256(signal)` goes on-chain via `set_commitment`. The commit block is the signal's timestamp. Entry price = open of the first 1-second bar at or after that block's time — every validator derives the same entry.
2. **REVEAL** — after 2 hours the timelock opens. Validators verify the plaintext against the on-chain hash, then grade on 1-minute candles: TP touched first = **WON** · SL touched first = **LOST** · neither by the horizon = **WASH**.
3. **EARN** — emissions ∝ trailing-7-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 7 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 7 days 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: recruit +10% emissions, recruiter +20% of each recruit's score (capped at 100% of own score).
- 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 |
| Metals | XAUUSD · XAGUSD |
| Forex | AUDUSD · EURUSD · USDCAD |
Bands are per-asset, volatility-scaled, symmetric 1:1. A signal is graded against the band in force **at its commit block** (`data/signals-bands.json` + `data/signals-bands-history.json`) — a band update never changes an in-flight signal.
**Forex is AUDUSD · EURUSD · USDCAD** (`fxpoll3-20260821`). The board was rebuilt from a poll of miners: EURUSD took 71% of the vote, AUDUSD 58% and USDCAD 42%, so USDCHF leaves and EURUSD returns. Bands are AUDUSD ±28 bps, EURUSD ±17, USDCAD ±17 — EURUSD lists fresh, USDCAD tightens from ±20 because ±20 was washing over half its calls, and AUDUSD is unchanged. A call always grades on the board in force at its own commit block, so calls made on USDCHF before the change grade normally. On the high-frequency board AUDUSD remains the only forex pair: EURUSD clears the band-to-spread gate on the median and upper-quartile spread but not the 90th percentile, and a listing that depends on which estimate you pick is a listing whose outcomes are microstructure.
The table above is the **low-frequency** board (mechanism 0). The **high-frequency** board (mechanism 1) is a smaller set — see *Mine — High-Frequency* below.
---
## Mine
```bash
# 1. install
git clone https://github.com/DeltaCompute24/InfiniteQuant-Subnet && cd InfiniteQuant-Subnet
python3.10 -m venv .venv && . .venv/bin/activate
pip install -r requirements.txt
# 2. register your hotkey (~0.05 TAO burn)
btcli subnet register --netuid 89 --wallet.name mywallet --wallet.hotkey miner
# 3. g