Skip to content

Overview

Relevant Source Files

This document provides a comprehensive introduction to the SN106 Bittensor subnet system, explaining its purpose as a concentrated liquidity incentivization mechanism that bridges Bittensor alpha tokens with Solana DeFi infrastructure. The material covers the system’s architecture, core components, and operational mechanics.

For detailed technical implementation information, see Technical Implementation. For operational guides, see For Miners and For Validators.

SN106 is a specialized Bittensor subnet (NETUID 106) that rewards miners for providing concentrated liquidity to wAlpha/wTAO trading pairs on Solana’s Raydium CLMM (Concentrated Liquidity Market Maker) protocol. The system creates a bridge between Bittensor’s alpha token ecosystem and Solana’s DeFi infrastructure, enabling cross-chain liquidity provision and automated emissions distribution.

The subnet operates on a two-tier reward system:

  1. Subnet Performance Layer: Rewards distributed based on subnet alpha token prices
  2. Individual Performance Layer: NFT liquidity positions compete within pools based on concentration and market proximity

System Architecture Overview

graph TB
    subgraph "Bittensor Network"
        BT["Bittensor Chain<br/>Alpha Tokens + TAO"]
        SN106["SN106 Subnet<br/>NETUID=106"]
        SUBTENSOR["Subtensor Chain<br/>Weight Submission"]
    end
    
    subgraph "Cross-Chain Bridge"
        BRIDGE["VoidAI Bridge<br/>bridge.voidai.com"]
    end
    
    subgraph "Solana DeFi"
        WALPHA["wAlpha/wTAO Tokens"]
        RAYDIUM["Raydium CLMM<br/>Position NFTs"]
        SN106SC["SN106 Smart Contract<br/>NFT Staking"]
    end
    
    subgraph "Validator System"
        VALIDATOR["validator/index.ts<br/>Main Engine"]
        CONFIG["config/environment.ts<br/>Multi-chain Config"]
        CALC["calc/<br/>Emissions Calculator"]
    end
    
    subgraph "Participants"
        MINERS["Miners<br/>Liquidity Providers"]
        VALIDATORS["Validator Operators"]
    end
    
    BT --> BRIDGE
    BRIDGE --> WALPHA
    MINERS --> RAYDIUM
    RAYDIUM --> SN106SC
    
    VALIDATORS --> VALIDATOR
    VALIDATOR --> CONFIG
    VALIDATOR --> CALC
    VALIDATOR --> SUBTENSOR
    SUBTENSOR --> SN106

Sources: README.md:1-186

The SN106 system consists of several interconnected components that work together to incentivize concentrated liquidity provision and distribute emissions based on performance metrics.

Core Component Architecture

graph TD
    subgraph "Validator Engine Core"
        VE["ValidatorEngine<br/>validator/index.ts"]
        TIMER["20-minute Timer<br/>Execution Cycle"]
        EMA["EMA Weight Management<br/>Smoothing Logic"]
    end
    
    subgraph "Data Collection Layer"
        CHAINS["getEnabledChains()<br/>Multi-chain Filter"]
        HOTKEYS["Hotkey-to-UID Mapping<br/>Bittensor Identity"]
        POSITIONS["NFT Position Data<br/>fetchAllPositions()"]
        TICKS["Current Tick Data<br/>Market State"]
    end
    
    subgraph "Emissions Calculation"
        POOLW["calculatePoolWeights()<br/>calc/pool-weights.ts"]
        NFTSCORING["calculateNFTScore()<br/>Position Evaluation"]
        POOLEMISSIONS["calculatePoolEmissions()<br/>Distribution Logic"]
        AGGREGATION["Miner Weight Aggregation<br/>Final Weights"]
    end
    
    subgraph "Weight Submission"
        POLICY["Distribution Policy<br/>Burn Mechanism"]
        WEIGHTS["Weight Preparation<br/>setWeightsOnSubtensor()"]
        SUBMISSION["Subtensor Submission<br/>weights/weights_history.json"]
    end
    
    VE --> CHAINS
    VE --> HOTKEYS
    VE --> POSITIONS
    VE --> TICKS
    
    POSITIONS --> POOLW
    TICKS --> NFTSCORING
    POOLW --> POOLEMISSIONS
    POOLEMISSIONS --> AGGREGATION
    
    AGGREGATION --> POLICY
    POLICY --> WEIGHTS
    WEIGHTS --> SUBMISSION

Sources: README.md:140-147

The ValidatorEngine serves as the main orchestration component, running on a 20-minute execution cycle. It coordinates data collection from multiple blockchain networks, performs emissions calculations, and submits weight updates to the Subtensor chain.

Key responsibilities include:

  • Data Collection: Fetches NFT liquidity positions from enabled chains
  • Performance Analysis: Calculates current tick data and position quality metrics
  • Weight Calculation: Determines miner weights based on position quality and subnet performance
  • Weight Submission: Submits calculated weights to the Bittensor network

The system supports multiple blockchain networks through a configurable chain management system:

NetworkStatusProtocolConfiguration
Solana✅ ActiveRaydium CLMMSOLANA_RPC_ENDPOINT
Ethereum🔄 Coming SoonUniswap V3ETHEREUM_RPC_URL
Base🔄 Coming SoonUniswap V3BASE_RPC_URL

The emissions calculation system evaluates NFT positions based on multiple criteria:

  • Position Width: Narrower liquidity ranges receive higher scores
  • Distance from Current Tick: Positions closer to market price score higher
  • Liquidity Amount: Total capital contribution affects scoring
  • Subnet Performance: Alpha token prices influence pool-level rewards

Sources: README.md:41-46

The SN106 system operates through a continuous cycle of data collection, analysis, and reward distribution.

Complete Operational Flow

graph TB
    subgraph "Miner Operations"
        M1["Bridge Tokens<br/>bridge.voidai.com"]
        M2["Provide Liquidity<br/>Raydium CLMM"]
        M3["Stake NFT Position<br/>SN106 Smart Contract"]
        M4["Earn Emissions<br/>Based on Performance"]
    end
    
    subgraph "Validator Cycle (20 minutes)"
        V1["fetchAllPositions()<br/>Collect NFT Data"]
        V2["getCurrentTicks()<br/>Market State"]
        V3["calculatePoolWeights()<br/>Subnet Performance"]
        V4["calculateNFTScore()<br/>Position Quality"]
        V5["aggregateMinerWeights()<br/>Final Distribution"]
        V6["setWeightsOnSubtensor()<br/>Submit to Chain"]
    end
    
    subgraph "Reward Distribution"
        R1["Burn Mechanism<br/>95% to UID 0"]
        R2["Distribute Rewards<br/>5% to Miners"]
        R3["Update weights_history.json<br/>Audit Trail"]
    end
    
    M1 --> M2
    M2 --> M3
    M3 --> M4
    
    V1 --> V2
    V2 --> V3
    V3 --> V4
    V4 --> V5
    V5 --> V6
    
    V6 --> R1
    V6 --> R2
    V6 --> R3
    
    M3 -.-> V1
    R2 -.-> M4

Sources: README.md:8-13 , README.md:140-147

The system implements a burn mechanism where 95% of emissions are burned to the subnet owner hotkey (UID 0) and the remaining 5% is distributed among miners in a single setWeights call. This mechanism is controlled by the BURN_PERCENTAGE environment variable.

Sources: README.md:122-126

SN106 provides several advanced features for automated liquidity incentivization:

  • Multi-Chain Support: Aggregate data from multiple blockchain networks with configurable chain filtering
  • Intelligent Scoring: Advanced algorithm for NFT position evaluation based on concentration, proximity, and liquidity
  • Performance-Based Rewards: Two-tier reward system tied to both subnet and individual performance metrics
  • Automatic Operation: Continuous operation with configurable 20-minute intervals
  • Comprehensive Logging: Detailed operation logs and weight history stored in weights/weights_history.json
  • Error Resilience: Graceful handling of network issues and automatic reconnection capabilities

The system uses a typed configuration system through config/environment.ts that validates environment variables at runtime and supports multiple deployment scenarios:

ComponentConfiguration Variables
SubtensorSUBTENSOR_WS_URL, VALIDATOR_HOTKEY_URI, NETUID
SolanaSOLANA_RPC_ENDPOINT, SN106_SVM_PROGRAM_ID, RAYDIUM_CLMM_PROGRAM_ID
Burn MechanismBURN_PERCENTAGE

Sources: README.md:104-131 , README.md:161-169

The validator system is designed for production use with specific hardware and software requirements:

Minimum Specifications:

  • CPU: 4 cores
  • RAM: 8GB
  • Storage: 50GB+ SSD
  • Network: Stable internet (50+ Mbps)
  • OS: Linux (Ubuntu 20.04+), macOS, or Windows

Required Software:

  • Node.js v18.0.0+
  • npm v8.0.0+
  • Access to Solana, Ethereum, Base, and Subtensor RPC endpoints

Sources: README.md:53-81

This overview provides the foundation for understanding the SN106 system architecture and operation. For detailed setup instructions, see Configuration and Docker Deployment. For user-specific guidance, refer to For Miners and For Validators.