Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Interact with the Bittensor blockchain to manage wallets, stake TAO, register neurons, query subnets/metagraphs, track emissions, and set neuron weights.
Interact with the Bittensor blockchain to manage wallets, stake TAO, register neurons, query subnets/metagraphs, track emissions, and set neuron weights.
This item is timing out or returning errors right now. Review the source page and try again later.
Use the source page and any available docs to guide the install because the item is currently unstable or timing out.
I tried to install a skill package from Yavira, but the item is currently unstable or timing out. Inspect the source page and any extracted docs, then tell me what you can confirm and any manual steps still required.
I tried to upgrade a skill package from Yavira, but the item is currently unstable or timing out. Compare the source page and any extracted docs with my current installation, then summarize what changed and what manual follow-up I still need.
Comprehensive Bittensor blockchain interaction skill for agents. Enables seamless interaction with the Bittensor decentralized AI network through the Python SDK.
Bittensor is a decentralized machine learning network where independent subnets compete for TAO token emissions. This skill provides agents with full access to: Wallet Management: Coldkey/hotkey operations, proxy relationships Staking Operations: Stake/unstake TAO, auto-staking, safe staking Subnet Management: Query subnet info, hyperparameters, registration Neuron Operations: Register neurons, query metagraphs, weight management Emissions & Rewards: Track emissions, claim root dividends, reward distribution
Coldkey: User's main wallet key for transfers and overall wallet management Hotkey: Key used for neuron operations (mining/validation) Netuid: Unique identifier for a subnet (0 = Root Subnet) UID: Unique identifier for a neuron on a specific subnet Metagraph: Complete state of a subnet at a given block TAO: Base network token (1 TAO = 1e9 Rao) Alpha: Subnet-specific token representing staked TAO Rao: Smallest unit of TAO
finney: Bittensor mainnet test: Bittensor test network local: Locally deployed blockchain
pip install bittensor>=8.0.0
cp -r skills/bittensor-sdk ~/.opencode/skills/
The skill initializes the Subtensor interface for blockchain interaction: import bittensor as bt # Connect to mainnet subtensor = bt.Subtensor(network="finney") # Connect to testnet subtensor = bt.Subtensor(network="test") # Custom network with fallback endpoints subtensor = bt.Subtensor( network="finney", fallback_endpoints=["wss://entrypoint-finney.opentensor.ai:443"], retry_forever=True )
from bittensor import wallet # Load existing wallet wallet = bt.Wallet() # Create new wallet wallet = bt.Wallet(name="my_wallet", hotkey="miner1") # Check balances coldkey_balance = wallet.coldkey_balance print(f"Coldkey balance: {coldkey_balance}")
Query Subnet Information # Get all subnet netuids netuids = subtensor.get_all_subnets_netuid() print(f"Available subnets: {netuids}") # Get detailed subnet info subnet_info = subtensor.get_subnet_info(netuid=1) print(f"Subnet 1 info: {subnet_info}") Stake TAO from bittensor import Balance # Stake TAO to a hotkey amount = Balance.from_tao(10.0) # 10 TAO result = subtensor.add_stake( wallet=wallet, netuid=1, hotkey_ss58="5Hx...", # Hotkey SS58 address amount=amount, safe_staking=True, # Enable price protection allow_partial_stake=True ) print(f"Stake result: {result}") Register Neuron # Burned registration (recycle TAO) result = subtensor.burned_register( wallet=wallet, netuid=1 ) # POW registration (computational proof) result = subtensor.register( wallet=wallet, netuid=1 ) Query Metagraph # Get metagraph for a subnet metagraph = subtensor.metagraph(netuid=1) print(f"Number of neurons: {metagraph.n}") print(f"Stake per neuron: {metagraph.S}") print(f"Rewards: {metagraph.R}") print(f"Hotkeys: {metagraph.hotkeys}") Set Weights import numpy as np # Validator sets weights for miners uids = np.array([0, 1, 2, 3, 4]) # Miner UIDs weights = np.array([0.2, 0.3, 0.2, 0.15, 0.15]) # Normalized weights result = subtensor.set_weights( wallet=validator_wallet, netuid=1, uids=uids, weights=weights, wait_for_inclusion=True, wait_for_finalization=True )
import bittensor as bt from bittensor import Balance import numpy as np # Initialize subtensor = bt.Subtensor(network="finney") wallet = bt.Wallet(name="miner_wallet", hotkey="miner1") # Check balance balance = subtensor.get_balance(wallet.coldkey.ss58_address) print(f"Balance: {balance.tao} TAO") # Register on subnet 1 print("Registering neuron...") result = subtensor.register( wallet=wallet, netuid=1, wait_for_inclusion=True ) # Get metagraph info metagraph = subtensor.metagraph(netuid=1) print(f"Neurons on subnet 1: {metagraph.n}") # Check my neuron my_uid = metagraph.hotkeys.index(wallet.hotkey.ss58_address) my_neuron = metagraph.neurons[my_uid] print(f"My UID: {my_uid}") print(f"My stake: {my_neuron.stake}") print(f"My emission: {my_neuron.emission}")
import bittensor as bt from bittensor import Balance import numpy as np # Initialize subtensor = bt.Subtensor(network="finney") validator_wallet = bt.Wallet(name="validator", hotkey="val1") # Get metagraph metagraph = subtensor.metagraph(netuid=1) print(f"Total miners: {metagraph.n}") # Calculate weights based on performance weights = np.zeros(metagraph.n) for i in range(metagraph.n): weights[i] = metagraph.R[i] * 0.7 + metagraph.S[i] * 0.3 # Normalize weights weights = weights / weights.sum() # Set weights result = subtensor.set_weights( wallet=validator_wallet, netuid=1, uids=np.arange(metagraph.n), weights=weights, wait_for_inclusion=True, wait_for_finalization=True ) print(f"Weights set: {result.success}")
Problem: Unable to connect to network Solution: # Use fallback endpoints subtensor = bt.Subtensor( network="finney", fallback_endpoints=[ "wss://entrypoint-finney.opentensor.ai:443", "wss://finney.opentensor.io:443" ], retry_forever=True )
Problem: Too many requests error Solution: import time time.sleep(1) # Rate limit delays
Problem: Registration fails repeatedly Solutions: Check balance (need > 1 TAO for burn registration) Verify POW solution is correct Check network connectivity Try different registration method
Problem: Wallet not found Solution: # Create new wallet wallet = bt.Wallet(name="new_wallet", hotkey="new_hotkey") wallet.create_if_non_existing()
Always close connections: Use subtensor.close() when done Handle errors gracefully: Use try-except blocks Implement rate limiting: Don't exceed network limits Use MEV protection: Enable for large transactions Monitor emissions: Track network health Use safe staking: Enable price protection Keep keys secure: Never expose private keys
Private keys: Never expose or log private keys Seed phrases: Store securely, never share Transaction signing: Always verify before signing MEV protection: Enable for large transactions Proxy permissions: Understand proxy types before delegating Rate limiting: Prevent DoS by respecting limits
When presenting Bittensor SDK results to users: Format TAO amounts clearly: Show both TAO and Rao when relevant Explain network concepts: Clarify coldkey/hotkey, netuid, UID for non-technical users Highlight key metrics: Emphasize important values like stake, emission, registration costs Include relevant links: Link to documentation for deeper exploration Note risks: Highlight potential issues like deregistration risk, rate limits Example output format: === Subnet 1 Status === Neurons: 256 registered Total Stake: 125,450.5 TAO Emission: 0.123 TAO/block Registration Cost: 5.2 TAO Validator Take: 18% βββββββββββββββββββββββββββββββββββ
Bittensor Documentation Bittensor SDK Reference Learn Bittensor Taostats API Bittensor GitHub
For complete API reference, extended examples, and comprehensive troubleshooting, see: API Reference - Complete method documentation Extended Examples - Advanced usage patterns Quick Reference - Common operations summary
Agent frameworks, memory systems, reasoning layers, and model-native orchestration.
Largest current source with strong distribution and engagement signals.