For Miners
Purpose and Scope
Section titled “Purpose and Scope”This document provides a comprehensive technical guide for miners participating in the SN106 Bittensor subnet. It covers the complete workflow from bridging Bittensor tokens to Solana, providing concentrated liquidity on Raydium, staking position NFTs, and earning emissions based on position quality and subnet performance.
For information about setting up and operating validators, see For Validators. For system architecture details, see System Architecture.
Miner Workflow Overview
Section titled “Miner Workflow Overview”The SN106 mining process consists of four main stages that convert Bittensor alpha tokens into earning positions on Solana DeFi protocols.
High-Level Miner Process Flow
Section titled “High-Level Miner Process Flow”graph TD
BT["Bittensor Network"] --> BRIDGE["VoidAI Bridge<br/>bridge.voidai.com"]
ALPHA["Alpha Tokens"] --> BRIDGE
TAO["TAO Tokens"] --> BRIDGE
BRIDGE --> WALPHA["wAlpha Tokens<br/>Wrapped Alpha"]
BRIDGE --> WTAO["wTAO Tokens<br/>Wrapped TAO"]
WALPHA --> RAYDIUM["Raydium CLMM<br/>Concentrated Liquidity"]
WTAO --> RAYDIUM
RAYDIUM --> NFT["Position NFT<br/>Liquidity Position"]
NFT --> STAKE["SN106 Smart Contract<br/>NFT Staking"]
STAKE --> EMISSIONS["Emissions Calculation<br/>Based on Position Quality"]
EMISSIONS --> REWARDS["SN106 Token Rewards"]
subgraph "Scoring Factors"
WIDTH["Position Width<br/>Concentration Bonus"]
DISTANCE["Distance from Tick<br/>Market Proximity"]
LIQUIDITY["Liquidity Amount<br/>Capital Contribution"]
end
EMISSIONS --> WIDTH
EMISSIONS --> DISTANCE
EMISSIONS --> LIQUIDITY
Sources: README.md:22-50
Step 1: Token Bridging
Section titled “Step 1: Token Bridging”Bridge Configuration and Process
Section titled “Bridge Configuration and Process”Miners must first bridge their Bittensor tokens to Solana using the VoidAI Bridge infrastructure. This process converts native Bittensor tokens into Solana SPL tokens that can be used in DeFi protocols.
graph LR
subgraph "Bittensor Source"
BT_ALPHA["Alpha Tokens<br/>Various Subnets"]
BT_TAO["TAO Tokens<br/>Native Bittensor"]
end
subgraph "VoidAI Bridge"
BRIDGE_INTERFACE["Bridge Interface<br/>bridge.voidai.com"]
BRIDGE_CONTRACT["Bridge Smart Contract<br/>Token Wrapping Logic"]
end
subgraph "Solana Destination"
SPL_WALPHA["wAlpha SPL Tokens<br/>Mint Authority"]
SPL_WTAO["wTAO SPL Tokens<br/>Mint Authority"]
end
BT_ALPHA --> BRIDGE_INTERFACE
BT_TAO --> BRIDGE_INTERFACE
BRIDGE_INTERFACE --> BRIDGE_CONTRACT
BRIDGE_CONTRACT --> SPL_WALPHA
BRIDGE_CONTRACT --> SPL_WTAO
Required Actions
Section titled “Required Actions”- Connect Bittensor Wallet: Link your Bittensor wallet containing alpha tokens from various subnets
- Connect Solana Wallet: Link your Solana wallet to receive wrapped tokens
- Select Tokens: Choose which alpha tokens and TAO amounts to bridge
- Execute Bridge: Confirm transaction and wait for cross-chain confirmation
- Verify Receipt: Confirm wrapped tokens (
wAlpha,wTAO) appear in Solana wallet
Sources: README.md:24-30
Step 2: Concentrated Liquidity Provision
Section titled “Step 2: Concentrated Liquidity Provision”Raydium CLMM Integration
Section titled “Raydium CLMM Integration”After bridging tokens, miners provide concentrated liquidity to Raydium Concentrated Liquidity Market Maker (CLMM) pools. This creates trading pairs between different subnet alpha tokens and TAO.
graph TD
subgraph "Raydium CLMM System"
RAYDIUM_INTERFACE["Raydium Interface<br/>raydium.io/clmm"]
CLMM_PROGRAM["CLMM Program<br/>RAYDIUM_CLMM_PROGRAM_ID"]
POOL_CREATION["Pool Creation<br/>wAlpha/wTAO Pairs"]
end
subgraph "Position Configuration"
PRICE_RANGE["Price Range Selection<br/>Upper/Lower Ticks"]
LIQUIDITY_AMOUNT["Liquidity Amount<br/>Token Pair Deposits"]
CONCENTRATION["Concentration Level<br/>Range Width"]
end
subgraph "Position NFT Output"
NFT_MINT["Position NFT Mint<br/>Unique Position ID"]
NFT_METADATA["Position Metadata<br/>Range + Liquidity Data"]
OWNERSHIP["NFT Ownership<br/>Transferable Asset"]
end
RAYDIUM_INTERFACE --> CLMM_PROGRAM
CLMM_PROGRAM --> POOL_CREATION
PRICE_RANGE --> NFT_MINT
LIQUIDITY_AMOUNT --> NFT_MINT
CONCENTRATION --> NFT_MINT
NFT_MINT --> NFT_METADATA
NFT_MINT --> OWNERSHIP
Position Strategy Considerations
Section titled “Position Strategy Considerations”| Factor | Impact on Rewards | Optimal Strategy |
|---|---|---|
| Range Width | Narrower ranges = higher concentration bonus | Target 10-20% price range around current market |
| Market Proximity | Closer to current tick = higher score | Monitor market and adjust positions |
| Liquidity Amount | Higher liquidity = higher base rewards | Balance capital allocation across positions |
| Subnet Performance | Better subnet performance = higher pool allocation | Research subnet fundamentals and performance |
Sources: README.md:32-37
Step 3: NFT Position Staking
Section titled “Step 3: NFT Position Staking”SN106 Smart Contract Integration
Section titled “SN106 Smart Contract Integration”The staking process locks position NFTs into the SN106 smart contract, enabling emission calculations and reward distribution.
graph TD
subgraph "NFT Staking Process"
NFT_WALLET["Miner Solana Wallet<br/>Position NFT Holder"]
STAKING_TX["Staking Transaction<br/>transferChecked + stake"]
SN106_CONTRACT["SN106 Smart Contract<br/>SN106_SVM_PROGRAM_ID"]
end
subgraph "Contract State Management"
POSITION_REGISTRY["Position Registry<br/>Staked NFT Database"]
MINER_MAPPING["Miner Mapping<br/>Hotkey to Positions"]
EMISSION_TRACKING["Emission Tracking<br/>Reward Accumulation"]
end
subgraph "Fee Management"
TRADING_FEES["Trading Fees<br/>From LP Position"]
FEE_COLLECTION["Fee Collection<br/>To SN106 Treasury"]
TREASURY["SN106 Treasury<br/>Accumulated Fees"]
end
NFT_WALLET --> STAKING_TX
STAKING_TX --> SN106_CONTRACT
SN106_CONTRACT --> POSITION_REGISTRY
SN106_CONTRACT --> MINER_MAPPING
SN106_CONTRACT --> EMISSION_TRACKING
TRADING_FEES --> FEE_COLLECTION
FEE_COLLECTION --> TREASURY
Staking Requirements
Section titled “Staking Requirements”- Hotkey Registration: Associate Solana wallet with Bittensor hotkey
- NFT Approval: Grant SN106 contract authority over position NFT
- Staking Transaction: Execute stake operation with gas fees
- Position Verification: Confirm successful staking in contract state
Sources: README.md:39-46 , README.md:49
Step 4: Emission Calculation and Rewards
Section titled “Step 4: Emission Calculation and Rewards”Position Scoring Algorithm
Section titled “Position Scoring Algorithm”The SN106 system evaluates staked positions using a multi-factor scoring algorithm that determines emission allocation.
graph TD
subgraph "Data Collection Phase"
POSITION_DATA["Position NFT Data<br/>Tick Range + Liquidity"]
CURRENT_TICK["Current Tick Data<br/>Market Price State"]
SUBNET_ALPHA["Subnet Alpha Prices<br/>Performance Metrics"]
end
subgraph "Scoring Components"
WIDTH_SCORE["Width Score<br/>1 / sqrt(tickUpper - tickLower)"]
DISTANCE_SCORE["Distance Score<br/>Proximity to Current Tick"]
LIQUIDITY_SCORE["Liquidity Score<br/>Normalized Amount"]
end
subgraph "Aggregation Logic"
NFT_SCORE["Individual NFT Score<br/>Combined Components"]
POOL_COMPETITION["Pool-Level Competition<br/>NFTs Within Same Pool"]
MINER_TOTAL["Miner Total Score<br/>Sum of All NFT Scores"]
end
subgraph "Emission Distribution"
POOL_WEIGHTS["Pool Weight Allocation<br/>Based on Subnet Performance"]
MINER_WEIGHTS["Miner Weight Calculation<br/>Score / Pool Total"]
FINAL_EMISSIONS["Final Emission Amount<br/>Pool Weight * Miner Weight"]
end
POSITION_DATA --> WIDTH_SCORE
CURRENT_TICK --> DISTANCE_SCORE
POSITION_DATA --> LIQUIDITY_SCORE
WIDTH_SCORE --> NFT_SCORE
DISTANCE_SCORE --> NFT_SCORE
LIQUIDITY_SCORE --> NFT_SCORE
NFT_SCORE --> POOL_COMPETITION
POOL_COMPETITION --> MINER_TOTAL
SUBNET_ALPHA --> POOL_WEIGHTS
MINER_TOTAL --> MINER_WEIGHTS
POOL_WEIGHTS --> FINAL_EMISSIONS
MINER_WEIGHTS --> FINAL_EMISSIONS
Reward Distribution Mechanics
Section titled “Reward Distribution Mechanics”| Component | Formula | Purpose |
|---|---|---|
| Width Score | 1 / sqrt(tickUpper - tickLower) | Rewards concentrated positions |
| Distance Score | max(0, 1 - distance/maxDistance) | Rewards market proximity |
| Liquidity Score | liquidity / maxLiquidity | Rewards capital contribution |
| Pool Weight | Based on subnet alpha performance | Directs rewards to performing subnets |
Sources: README.md:41-45
Monitoring and Optimization
Section titled “Monitoring and Optimization”Position Performance Tracking
Section titled “Position Performance Tracking”Miners should actively monitor their positions to maximize emission rewards and respond to market changes.
graph LR
subgraph "Monitoring Tools"
RAYDIUM_UI["Raydium Interface<br/>Position Management"]
SN106_ANALYTICS["SN106 Analytics<br/>Emission Tracking"]
MARKET_DATA["Market Data<br/>Price + Volume"]
end
subgraph "Optimization Actions"
REBALANCING["Position Rebalancing<br/>Adjust Price Ranges"]
MIGRATION["Pool Migration<br/>Switch to Better Subnets"]
LIQUIDITY_MGMT["Liquidity Management<br/>Add/Remove Capital"]
end
subgraph "Performance Metrics"
EMISSION_RATE["Emission Rate<br/>SN106/hour"]
TRADING_FEES["Trading Fee APY<br/>LP Fee Income"]
TOTAL_RETURN["Total Return<br/>Emissions + Fees"]
end
RAYDIUM_UI --> REBALANCING
SN106_ANALYTICS --> MIGRATION
MARKET_DATA --> LIQUIDITY_MGMT
REBALANCING --> EMISSION_RATE
MIGRATION --> TRADING_FEES
LIQUIDITY_MGMT --> TOTAL_RETURN
Key Performance Indicators
Section titled “Key Performance Indicators”- Position Score Rank: Relative ranking within pool
- Emission Rate: SN106 tokens earned per time period
- Trading Fee Yield: Income from providing liquidity
- In-Range Time: Percentage of time position is active
- Subnet Alpha Performance: Performance of chosen subnet tokens
Sources: README.md:162-167
Risk Considerations
Section titled “Risk Considerations”Impermanent Loss and Market Risk
Section titled “Impermanent Loss and Market Risk”| Risk Type | Description | Mitigation Strategy |
|---|---|---|
| Impermanent Loss | Loss from price divergence between paired tokens | Use correlated token pairs, monitor rebalancing |
| Range Risk | Position going out of range and earning no fees | Set wider ranges, active management |
| Smart Contract Risk | SN106 contract vulnerabilities | Audit contract code, start with small positions |
| Bridge Risk | VoidAI bridge failures or delays | Diversify across multiple bridge providers |
Sources: README.md:168