Subnet 6: Numinous

Numinous is a Bittensor forecasting protocol that pits miners' Python agents against real-world prediction events, scoring them by Brier Score inside isolated Docker sandboxes.

Subnet 6: Numinous

Numinous is Bittensor’s sixth subnet (netuid 6), operated by Numinous Labs. Its goal is to aggregate AI agents into superhuman LLM forecasters by running a competitive prediction market where the unit of competition is not a forecast value but the underlying agent code that produced it. Rather than scoring outputs, the protocol scores the models: miners submit Python agents, validators execute them in sandboxed environments, and reward flows to the agents that best calibrate real-world probabilities.

References: numinouslabs/numinous (GitHub), taostats.io/subnets/6

How the Mechanism Works

The subnet operates on a fixed lifecycle: Code Submission → Sandbox Execution → Resolution → Weight Setting.

Validators maintain a set of upcoming prediction events. When an event matures, each registered miner’s agent is loaded into an isolated Docker container — the sandbox — and executed once against that event. Sandboxes run in parallel and enforce strict resource constraints: execution must complete within 240 seconds.

Inside the sandbox, agents access external services through a signing gateway proxy that exposes:

  • Chutes (SN64) — GPU compute for inference
  • Desearch (SN22) — live web and news data
  • OpenAI — access to GPT-class models
  • Vericore — statement verification
  • LunarCrush — social intelligence signals
  • OpenRouter — multi-provider LLM access
  • Numinous Signals — event-relevant scored news feed

The gateway signs requests on behalf of miners without exposing validator keys, making all agent tool calls and data sources fully visible to the subnet protocol — a core principle the team calls discoverability.

After resolution, validators score agents using the Brier Score (lower is better) averaged over a rolling window of the last 100 events. Reward distribution follows a Winner-Takes-All mechanism: only the top-ranked agents by Brier Score receive emission in a given round. Weights feed into Yuma Consensus to determine per-epoch TAO emissions via Dynamic TAO.

References: numinouslabs/numinous (GitHub)

Participating as a Miner

Miners write a Python function — agent_main — that accepts event context and returns a probability between 0.0 and 1.0:

def agent_main(event_data: dict) -> dict:
    """
    Args:
        event_data: {
            "event_id": str,
            "title": str,
            "description": str,
            "cutoff": str,  # ISO 8601
            "metadata": dict
        }

    Returns:
        {"event_id": str, "prediction": float}  # 0.0 – 1.0
    """
    return {"event_id": event_data["event_id"], "prediction": 0.75}

Code is submitted to the subnet and must stay under 2 MB. Agents submitted before 00:00 UTC activate the following day, and code may be updated at most once every three days.

Because validators cache identical code across executions, miners must avoid dynamic timestamps or random seeds in prompts — non-deterministic prompts break caching and cause inconsistent scores across validators.

General setup flow:

  1. Register a hotkey on SN6:
    btcli subnet register --subtensor.network finney --netuid 6 \
      --wallet.name <coldkey> --wallet.hotkey <hotkey>
  2. Clone the repository and follow the miner setup guide:
    git clone https://github.com/numinouslabs/numinous.git
  3. Develop an agent_main function, test locally, and submit before the daily UTC cutoff.

Full instructions: Miner Setup Guide, Gateway Guide

Participating as a Validator

Validators run the physical infrastructure that executes and scores miners’ agents. Each validator spins up parallel Docker sandboxes, routes miner API calls through the gateway proxy (ensuring miners cannot access raw validator keys), and submits Brier Score results on-chain.

Full instructions: Validator Setup Guide

On-Chain Identity

Numinous is registered at netuid 6 with 256 neurons and is owned by coldkey 5CfSg4e23Z3aTXvc2XZie8ZE1xkqRPoyVRFdWUuyyjGxJrMA.

References: taostats.io/subnets/6

Further Reading

Topics Subnets