# Bittensor - [Bittensor Documentation](/docs): Do anything on the Bittensor chain with the Bittensor SDK and CLI — designed for agents and humans alike. - [Quickstart](/docs/quickstart): Install, connect, read chain state, and submit your first transaction. - [For agents](/docs/agents): How an agent discovers, previews, and safely executes any Bittensor operation. - [The CLI](/docs/cli): Configuration, global options, generated commands, and non-interactive use. - Concepts - [The network](/docs/concepts/network): Subnets, miners, validators, stakers, TAO and alpha, emissions, and epochs. - [Emissions](/docs/concepts/emissions): TAO and alpha issuance, halvings, subnet emission shares, the per-tempo split, and Yuma Consensus. - [Wallets and keys](/docs/concepts/wallets): Coldkeys, hotkeys, key material and backups, security tiers, key rotation, and how address arguments resolve. - [Money](/docs/concepts/money): The Balance type, TAO vs alpha, rao, and valuing stake without lying to yourself. - [The client](/docs/concepts/client): Connecting, the three levels of reading chain state, blocks and waiting, and snapshots. - [The transaction model](/docs/concepts/transactions): Intents, plan and execute, Policy guardrails, and typed results. - [Advanced submission](/docs/concepts/advanced): Proxies, atomic batches, MEV-shielded submission, multisig, and raw calls. - Guides - [Staking](/docs/guides/staking): Back validators with TAO, manage positions across subnets, and claim root dividends. - [Conviction locks](/docs/guides/conviction): Lock alpha on a subnet, accrue conviction toward a hotkey, and understand the path to subnet ownership — with a worked example on Subnet 7. - [Mining](/docs/guides/mining): Register a hotkey on a subnet, publish your axon, and keep your UID. - [Validating](/docs/guides/validating): Register, attract stake, score miners with weights, and manage take and childkeys. - [Running a subnet](/docs/guides/subnets): Create a subnet, activate it, tune hyperparameters, and manage its identity and economics. - [Governance](/docs/guides/governance): The root network, sudo and the Triumvirate, and the planned collective system. - [EVM](/docs/guides/evm): Use the Bittensor EVM from the terminal — keys, funding, MetaMask, precompiles, and the ss58 ↔ h160 seam. - [Local development](/docs/guides/local-development): Run a local subtensor chain and test wallets, subnets, and neurons against it. - [Timelock](/docs/guides/timelock): Seal data anyone can open at a known future time — nobody, including you, can open it early. - **Reference** - Transactions - [Transactions](/docs/tx): Every state-changing operation: one page per intent, generated from the SDK. - **AdminUtils** - [set-hyperparameter](/docs/tx/set-hyperparameter): Set an owner-settable subnet hyperparameter (btcli `sudo set`). - [set-mechanism-count](/docs/tx/set-mechanism-count): Set the number of mechanisms on a subnet. - [set-mechanism-emission-split](/docs/tx/set-mechanism-emission-split): Set emission split between mechanisms on a subnet. - [trim-subnet](/docs/tx/trim-subnet): Trim a subnet to at most `max_n` UIDs (subnet owner). - **Balances** - [fund-evm-key](/docs/tx/fund-evm-key): Fund an EVM (h160) address with TAO from the signing coldkey. - [transfer](/docs/tx/transfer): Transfer TAO from the coldkey to a destination address. - [transfer-all](/docs/tx/transfer-all): Transfer the entire transferable balance to a destination address. - **Crowdloan** - [contribute-crowdloan](/docs/tx/contribute-crowdloan): Contribute TAO to an active crowdloan. - [create-crowdloan](/docs/tx/create-crowdloan): Open a crowdloan raising up to `cap_tao` by `end` block. - [dissolve-crowdloan](/docs/tx/dissolve-crowdloan): Dissolve a fully-refunded crowdloan (creator only). - [finalize-crowdloan](/docs/tx/finalize-crowdloan): Finalize a crowdloan that reached its cap (creator only). - [refund-crowdloan](/docs/tx/refund-crowdloan): Refund contributors of a non-finalized crowdloan (creator only). - [set-crowdloan-max-contribution](/docs/tx/set-crowdloan-max-contribution): Set or clear the per-contributor max for a non-finalized crowdloan (creator only). - [update-crowdloan-cap](/docs/tx/update-crowdloan-cap): Update the cap of a non-finalized crowdloan (creator only). - [update-crowdloan-end](/docs/tx/update-crowdloan-end): Update the end block of a non-finalized crowdloan (creator only). - [update-crowdloan-min-contribution](/docs/tx/update-crowdloan-min-contribution): Update the minimum contribution of a non-finalized crowdloan (creator only). - [withdraw-crowdloan](/docs/tx/withdraw-crowdloan): Withdraw the signer's contribution from a non-finalized crowdloan. - **EVM** - [evm-withdraw](/docs/tx/evm-withdraw): Claim TAO deposited to the coldkey's truncated EVM mirror. - **Multisig** - [multisig-approve](/docs/tx/multisig-approve): Register approval for a multisig call (non-final approvals). - [multisig-cancel](/docs/tx/multisig-cancel): Cancel an ongoing multisig operation (only the original depositor may). - [multisig-execute](/docs/tx/multisig-execute): Approve and, if the threshold is met, execute a multisig call (final approval). - [multisig-threshold-1](/docs/tx/multisig-threshold-1): Dispatch a 1-of-N multisig call immediately (single approval). - **Proxy** - [add-proxy](/docs/tx/add-proxy): Authorize a delegate key to sign calls on this account's behalf. - [create-pure-proxy](/docs/tx/create-pure-proxy): Create a pure proxy: a fresh keyless account controlled via delegation. - [execute-proxy-announced](/docs/tx/execute-proxy-announced): Execute a proxy call that was announced and has passed its delay. - [kill-pure-proxy](/docs/tx/kill-pure-proxy): Close a pure proxy account and return its reserved deposit. - [remove-proxies](/docs/tx/remove-proxies): Revoke every proxy delegation for the signing account at once. - [remove-proxy](/docs/tx/remove-proxy): Revoke one proxy delegation. - **SubtensorModule** - [add-stake](/docs/tx/add-stake): Stake TAO from the coldkey onto a hotkey. - [add-stake-limit](/docs/tx/add-stake-limit): Stake TAO with a limit price (slippage protection). - [announce-coldkey-swap](/docs/tx/announce-coldkey-swap): Announce (commit to) a coldkey swap; executable after the chain's delay. - [associate-evm-key](/docs/tx/associate-evm-key): Associate an EVM key with a hotkey on a subnet. - [associate-hotkey](/docs/tx/associate-hotkey): Associate a hotkey with the signing coldkey. - [burned-register](/docs/tx/burned-register): Register a hotkey on a subnet by recycling TAO. - [claim-root](/docs/tx/claim-root): Claim accumulated root dividends from one or more subnets. - [clear-coldkey-swap-announcement](/docs/tx/clear-coldkey-swap-announcement): Cancel a pending coldkey swap announcement (after the reannouncement delay). - [commit-weights](/docs/tx/commit-weights): Timelock-encrypt and commit weights, forcing the commit-reveal path. - [decrease-take](/docs/tx/decrease-take): Decrease the delegate take of a hotkey. - [dispute-coldkey-swap](/docs/tx/dispute-coldkey-swap): Freeze this coldkey entirely until root resolves the dispute. - [increase-take](/docs/tx/increase-take): Increase the delegate take of a hotkey. - [lock-stake](/docs/tx/lock-stake): Lock alpha stake on a subnet, building conviction toward a hotkey. - [move-lock](/docs/tx/move-lock): Move an existing lock from one hotkey to another on a subnet. - [move-stake](/docs/tx/move-stake): Move alpha between hotkeys and/or subnets. - [register-leased-network](/docs/tx/register-leased-network): Register a new crowdloan-funded leased subnet. - [register-subnet](/docs/tx/register-subnet): Create a new subnet owned by the signing coldkey. - [remove-stake](/docs/tx/remove-stake): Unstake alpha from a hotkey back to the coldkey. - [remove-stake-limit](/docs/tx/remove-stake-limit): Unstake alpha with a limit price (slippage protection). - [reset-axon](/docs/tx/reset-axon): Reset (stop serving) this hotkey's axon endpoint on a subnet. - [reveal-weights](/docs/tx/reveal-weights): Reveal previously committed weights (legacy salt-based commit-reveal). - [root-register](/docs/tx/root-register): Register a hotkey on the root network (netuid 0). - [serve-axon](/docs/tx/serve-axon): Publish this hotkey's axon endpoint (ip:port) for a subnet. - [serve-axon-tls](/docs/tx/serve-axon-tls): Publish this hotkey's axon endpoint with a neuron certificate. - [serve-prometheus](/docs/tx/serve-prometheus): Publish this hotkey's prometheus metrics endpoint (ip:port) for a subnet. - [set-auto-stake](/docs/tx/set-auto-stake): Auto-stake future mining rewards on a subnet to a chosen hotkey. - [set-childkey-take](/docs/tx/set-childkey-take): Set the childkey take for a hotkey on a subnet. - [set-children](/docs/tx/set-children): Assign child hotkeys with stake-weight proportions on a subnet. - [set-identity](/docs/tx/set-identity): Publish an on-chain identity (name, links, description) for the coldkey. - [set-perpetual-lock](/docs/tx/set-perpetual-lock): Enable or disable perpetual lock mode for a coldkey on a subnet. - [set-root-claim-type](/docs/tx/set-root-claim-type): Set how a coldkey's root alpha emission is claimed. - [set-subnet-identity](/docs/tx/set-subnet-identity): Publish identity metadata for a subnet (signer must be the subnet owner). - [set-take](/docs/tx/set-take): Set the delegate take to an absolute value. - [set-weights](/docs/tx/set-weights): Set validator weights, auto-selecting plaintext or commit-reveal. - [stake-burn](/docs/tx/stake-burn): Buy back / burn stake via the stake-burn extrinsic. - [start-call](/docs/tx/start-call): Activate a subnet (subtoken trading, epochs) as its owner. - [swap-coldkey-announced](/docs/tx/swap-coldkey-announced): Execute a previously announced coldkey swap (after the delay has passed). - [swap-hotkey](/docs/tx/swap-hotkey): Swap a hotkey for a new one (all subnets, or one netuid). - [swap-stake](/docs/tx/swap-stake): Swap stake on one hotkey between two subnets. - [terminate-lease](/docs/tx/terminate-lease): Terminate an ended lease and take subnet ownership (beneficiary only). - [transfer-stake](/docs/tx/transfer-stake): Transfer stake ownership to another coldkey. - [unstake-all](/docs/tx/unstake-all): Unstake everything from a hotkey across all subnets. - [unstake-all-alpha](/docs/tx/unstake-all-alpha): Unstake all alpha from a hotkey across subnets (moves it to root). - [update-symbol](/docs/tx/update-symbol): Update a subnet's symbol (from the chain's fixed catalog). - **Utility** - [batch](/docs/tx/batch): Execute several intents atomically in one extrinsic (all-or-nothing). - Queries - [Queries](/docs/query): Every chain read: one page per query, generated from the SDK. - **Accounts & keys** - [balance](/docs/query/balance): Free TAO balance of a coldkey address. - [balances](/docs/query/balances): Free TAO balance for several coldkey addresses in one batched request. - [coldkey-swap-announcement](/docs/query/coldkey-swap-announcement): A coldkey's pending swap announcement (execute block, new-key hash, disputed), or None. - [existential-deposit](/docs/query/existential-deposit): Minimum balance an account must keep to stay alive. - [multisig](/docs/query/multisig): A pending multisig operation (opening timepoint, approvals, depositor), or None. - [proxies](/docs/query/proxies): Proxy delegations of an account: who may sign on its behalf, and the reserved deposit. - **Chain** - [block-info](/docs/query/block-info): A block's hash, timestamp, and extrinsics (as module.function summaries). - [block-time](/docs/query/block-time): Seconds per block, detected from the chain (12.0 mainnet, 0.25 fast-blocks). - [is-fast-blocks](/docs/query/is-fast-blocks): Whether the chain runs fast blocks (0.25s slots, local/e2e testing mode). - [mev-shield-next-key](/docs/query/mev-shield-next-key): The MEV Shield ML-KEM-768 public key (0x-hex) used to encrypt shielded txs, or None. - [timestamp](/docs/query/timestamp): Current chain time (from the Timestamp pallet) and the block it was read at. - [tx-rate-limit](/docs/query/tx-rate-limit): Global transaction rate limit in blocks. - **Delegation** - [children](/docs/query/children): Child hotkeys of a parent on a subnet, as (proportion, child_ss58) pairs. - [delegate](/docs/query/delegate): Delegate info for one hotkey, or None if it is not a delegate. - [delegate-take](/docs/query/delegate-take): A hotkey's delegate take (emission fraction it keeps) with the allowed min/max. - [delegated](/docs/query/delegated): Every nomination a coldkey holds: (delegate, netuid, stake) per position. - [delegates](/docs/query/delegates): Every delegate hotkey on the network, with take and registrations. - [is-delegate](/docs/query/is-delegate): Whether a hotkey is a delegate. - [parents](/docs/query/parents): Parent hotkeys of a child on a subnet, as (proportion, parent_ss58) pairs. - [pending-children](/docs/query/pending-children): Proposed child hotkeys of a parent still in cooldown, and when they apply. - **Epochs & timing** - [blocks-since-last-step](/docs/query/blocks-since-last-step): Blocks since the subnet's last epoch step ran. - [blocks-since-last-update](/docs/query/blocks-since-last-update): Blocks since a neuron last set or committed weights on a subnet - [blocks-until-next-epoch](/docs/query/blocks-until-next-epoch): Blocks until the subnet's next epoch fires, or None if tempo is 0. - [epoch-status](/docs/query/epoch-status): Where a subnet is in its epoch cycle, in one block-pinned read. - [next-epoch-start-block](/docs/query/next-epoch-start-block): Block at which the subnet's next epoch is expected to fire, or None if tempo is 0. - **Hyperparameters** - [difficulty](/docs/query/difficulty): Current PoW registration difficulty for a subnet. - [immunity-period](/docs/query/immunity-period): Blocks a newly registered neuron is immune from deregistration. - [max-weight-limit](/docs/query/max-weight-limit): Normalized-fraction cap on any single weight: after the chain normalizes the submitted vector, no weight may exceed max_weight_limit/65535 of the total. Not a raw u16 ceiling per weight. - [min-allowed-weights](/docs/query/min-allowed-weights): Minimum number of weights a validator must set on a subnet. A pure self-weight (a single entry pointing at the caller's own uid) bypasses the minimum, and the subnet owner bypasses validator-permit rules. - [reveal-period](/docs/query/reveal-period): Commit-reveal reveal window, in epochs, for a subnet. - [weights-rate-limit](/docs/query/weights-rate-limit): Blocks a hotkey must wait between weight sets on a subnet. - **Identity & commitments** - [commitment](/docs/query/commitment): The commitment a hotkey has published on a subnet, or None. - [commitments](/docs/query/commitments): Every commitment on a subnet, newest first: hotkey, uid, content, block, age, reveal state. - [hotkey-identities](/docs/query/hotkey-identities): On-chain identities for hotkeys (via each hotkey's owner coldkey), keyed by hotkey. - [identity](/docs/query/identity): The on-chain identity of a coldkey (name, links, description), or None. - [revealed-commitment](/docs/query/revealed-commitment): The revealed (timelock-decrypted) commitment for a hotkey on a subnet, or None. - **Leases & crowdloans** - [crowdloan](/docs/query/crowdloan): A crowdloan's state (creator, deposit, raised, cap, end, target/call), or None. - [crowdloan-contributors](/docs/query/crowdloan-contributors): Contributors and amounts for a crowdloan, with amounts in TAO. - [crowdloans](/docs/query/crowdloans): All crowdloans on chain (id and summary fields). - [lease](/docs/query/lease): A subnet lease by id (beneficiary, emissions share, end block, netuid, cost), or None. - [leases](/docs/query/leases): Every subnet lease on the network. - **Locks & conviction** - [coldkey-lock](/docs/query/coldkey-lock): Lock state for a coldkey on a subnet, or None if no lock exists. - [hotkey-conviction](/docs/query/hotkey-conviction): Conviction metrics for a hotkey on a subnet. - [locks-for-coldkey](/docs/query/locks-for-coldkey): Every lock a coldkey holds (one per subnet), rolled forward to now. - [most-convicted-hotkey](/docs/query/most-convicted-hotkey): Hotkey with the highest conviction on a subnet, if any. - [subnet-convictions](/docs/query/subnet-convictions): Every hotkey with locked stake on a subnet, rolled forward to now. - **Neurons & registration** - [associated-evm-key](/docs/query/associated-evm-key): The EVM address associated with a neuron (by netuid + uid) and the block it was set. - [hotkey-owner](/docs/query/hotkey-owner): The coldkey that owns a hotkey, or None if unowned. - [netuids-for-hotkey](/docs/query/netuids-for-hotkey): Every subnet a hotkey is registered on, as a sorted list of netuids. - [neurons](/docs/query/neurons): Every neuron on a subnet in ONE runtime-API call (the metagraph fast path). - [owned-hotkeys](/docs/query/owned-hotkeys): Every hotkey owned by a coldkey (the reverse of `hotkey_owner`). - [uid](/docs/query/uid): UID of a hotkey on a subnet, or None if not registered there. - **Prices & swaps** - [alpha-price](/docs/query/alpha-price): Current spot alpha price for a subnet, as TAO per alpha. - [alpha-prices](/docs/query/alpha-prices): Spot alpha price for every subnet, as TAO per alpha keyed by netuid. - [quote-stake](/docs/query/quote-stake): Simulate staking `amount_tao` TAO into a subnet: alpha out, fee, and slippage. - [quote-unstake](/docs/query/quote-unstake): Simulate unstaking `amount_alpha` alpha from a subnet: TAO out, fee, and slippage. - **Staking** - [auto-stake](/docs/query/auto-stake): The hotkey a coldkey auto-stakes its rewards to on a subnet, or None if unset. - [auto-stake-all](/docs/query/auto-stake-all): Every auto-stake destination configured for a coldkey. - [root-claim-type](/docs/query/root-claim-type): How a coldkey claims root alpha emission: Swap, Keep, or KeepSubnets(+subnets). - [stake](/docs/query/stake): Alpha staked by a coldkey to a hotkey on a subnet (TAO when netuid is 0). - [stake-for-coldkey](/docs/query/stake-for-coldkey): Every stake position held by a coldkey, across all hotkeys and subnets. - [stake-for-coldkeys](/docs/query/stake-for-coldkeys): Every stake position for several coldkeys at once, in one runtime call. - [stake-value-for-coldkey](/docs/query/stake-value-for-coldkey): A coldkey's stake marked to TAO at spot prices (excludes slippage/fees), block-pinned. - [stake-value-for-coldkeys](/docs/query/stake-value-for-coldkeys): Spot-price stake valuation for several coldkeys at once, at one block. - [staking-hotkeys](/docs/query/staking-hotkeys): Every hotkey a coldkey has stake with, owned or nominated. - **Subnets** - [burn](/docs/query/burn): Current burn (recycle) cost to register on a subnet. - [commit-reveal-enabled](/docs/query/commit-reveal-enabled): Whether commit-reveal weights are enabled on a subnet. - [mechanism-count](/docs/query/mechanism-count): Current mechanism count configured for a subnet. - [mechanism-emission-split](/docs/query/mechanism-emission-split): Emission split between mechanisms on a subnet. - [metagraph](/docs/query/metagraph): The full metagraph for a subnet in one call (stakes, ranks, emissions, axons, ...). - [subnet](/docs/query/subnet): Tempo, burn, and neuron count for one subnet (the three reads run concurrently). - [subnet-hyperparameters](/docs/query/subnet-hyperparameters): All hyperparameters for a subnet (named fields; version-dependent set). - [subnet-identity](/docs/query/subnet-identity): The identity metadata of a subnet, or None. - [subnet-names](/docs/query/subnet-names): Registered name of every subnet that published an identity, keyed by netuid. - [subnet-registration-cost](/docs/query/subnet-registration-cost): Current cost to register a new subnet. - [subnet-start-schedule](/docs/query/subnet-start-schedule): When a registered subnet can call `start_call`. - [subnets](/docs/query/subnets): Info for every subnet, fetched in four batched map queries rather than - [token-symbols](/docs/query/token-symbols): Chain-registered token symbol of every subnet, keyed by netuid. - **Weights & bonds** - [bonds](/docs/query/bonds): Validator bond rows as `{validator_uid: {miner_uid: bond}}`, scaled to 0..1. - [timelocked-weight-commits](/docs/query/timelocked-weight-commits): Pending (still-encrypted) commit-reveal weight commits, grouped by epoch. - [weights](/docs/query/weights): Validator weight rows as `{validator_uid: {miner_uid: fraction}}`, each row summing to 1. - [Errors](/docs/errors): Every failure carries a machine-readable code and a remediation hint. - **Contributing** - Internals: Runtime internals and contributor documentation - [Contributing](/docs/internals/contributing): PR lifecycle, review requirements, labels, and how a merge rides the release train to devnet, testnet, and mainnet. - [Repository layout](/docs/internals/repo-layout): What lives where — a map of the subtensor monorepo for new contributors. - [Release process](/docs/internals/release-process): How a merge to main becomes a runtime upgrade on devnet, testnet, and mainnet, and how the release train's artifacts are published. - [Yuma Consensus](/docs/internals/consensus): The consensus mechanism, its game-theoretic framework, Monte Carlo simulations, and consensus guarantees. - [Transaction priority](/docs/internals/transaction-priority): How custom transaction extensions determine extrinsic priority in subtensor. - [Benchmarks and weights](/docs/internals/benchmarks-and-weights): How extrinsic weights are benchmarked, generated, and validated in CI. - [Testing](/docs/internals/testing): How to run every test suite in the repo — Rust unit tests, TypeScript integration tests, and migration checks. - [Mainnet clone testing](/docs/internals/mainnet-clone): How CI sudo-upgrades a clone of live mainnet with your runtime, and how to reproduce it locally when it fails. - [Python SDK tests](/docs/internals/sdk-tests): The SDK test layers, the fake-substrate harness, and how to regenerate codegen bindings and golden fixtures after a runtime change. - [Eco-tests (indexer contract)](/docs/internals/eco-tests): What the eco-tests pin, why they run on every PR, and what to do when one fails. - [WASM smart contracts](/docs/internals/wasm-contracts): Deploy ink! smart contracts on subtensor via pallet-contracts and the custom chain extension. - [Rust setup](/docs/internals/rust-setup): Prepare a computer for Substrate development. - [Repository scripts](/docs/internals/scripts): What each script in scripts/ does, what depends on it, and when to run the manual tools.