Bittensor(TAO)
GetBlock provides fast and reliable access to Bittensor nodes via JSON-RPC API. Connect to the Bittensor network without running your own infrastructure.
Bittensor is a decentralized machine intelligence network — a blockchain-coordinated marketplace for AI services where miners produce digital commodities (model inference, embeddings, training contributions), validators evaluate that work, subnet creators define incentive mechanisms, and TAO holders stake to support validators. Launched in 2021, the network runs on its own blockchain, Subtensor, built on the Substrate framework (the same technology that powers Polkadot). As of 2026, the ecosystem has grown to 129+ active subnets spanning AI agents, compute optimization, financial forecasting, and biotech use cases — up from 32 at the start of 2025.
The network underwent two pivotal changes in 2025: the February 2025 Dynamic TAO (dTAO) upgrade introduced market-driven emissions and made subnets directly investable for the first time; and the December 2025 change halved daily TAO issuance from 7,200 to 3,600 TAO per day, modeled on Bitcoin's supply schedule. Together, these shifts have shaped Bittensor into a maturing AI-economic primitive with real institutional adoption.
This is the primary interface: chain_*, state_*, system_*, author_*, payment_*, plus the chain-specific custom namespaces subnetInfo_*, neuronInfo_*, delegateInfo_*, and swap_*. This is the canonical surface for reading subnet state, querying the metagraph, submitting extrinsics, and interacting with the TAO staking layer.
This is the Ethereum compatibility layer: standard eth_*, net_*, web3_* methods, with chain ID 945 (0x3B1 — UTF-8 encoding for "Alpha"). Enables EVM smart contract deployment on Subtensor without code changes; runs Solidity contracts via the Subtensor EVM runtime.
Key Features
Dual RPC Interface: GetBlock exposes both native Substrate JSON-RPC and Subtensor EVM JSON-RPC as separate endpoints — choose interface per endpoint when creating your connection in the GetBlock dashboard
Native Substrate RPC: full access to the standard Substrate method surface (
chain_*,state_*,system_*,author_*,payment_*) for block data, runtime state, transaction submission, and fee queriesBittensor-Specific Custom RPCs: chain-specific namespaces —
subnetInfo_*,neuronInfo_*,delegateInfo_*,swap_*— for reading subnet metadata, neuron registrations, delegate stakes, and dTAO swap simulation. Not available on generic Substrate chainsSubtensor EVM: deploy any Ethereum-compatible smart contract on the Bittensor blockchain without code modification. Use ethers.js, viem, Hardhat, Foundry, MetaMask — all work unmodified
WebSocket Subscriptions: real-time block, finalized head, storage change, and extrinsic notifications via the Substrate subscription protocol (
chain_subscribeNewHeads,state_subscribeStorage, etc.)dTAO Era: post-February 2025, subnets have their own market-driven emissions and Alpha tokens, with TAO ↔ Alpha swap pools that can be simulated via
swap_*methods before submitting extrinsicsBitcoin-Style Issuance: as of December 2025, daily TAO issuance is 3,600 TAO/day (halved from 7,200) — modeled on Bitcoin's supply schedule, providing predictable monetary policy
129+ Active Subnets: from AI agents to biotech, each subnet defines its own incentive mechanism. The metagraph (
neuronInfo_*) gives you the full picture of which miners are scoring well on which subnetsTwo Wallet Systems on One Chain: Bittensor wallets (created via btcli/Bittensor SDK using sr25519/ed25519) sign Substrate extrinsics for TAO transfers and staking; EVM wallets (MetaMask, secp256k1) sign smart contract transactions. The two cannot cross over — your coldkey cannot deploy contracts; your MetaMask cannot transfer TAO
Yuma Consensus: the network's incentive mechanism for ranking validator-miner pairs and distributing emissions — the algorithmic backbone of the subnet marketplace
TECHNICAL DISCLAIMER: AUTHORITATIVE JSON-RPC SPECIFICATIONS
GetBlock's Bittensor API reference documentation is provided exclusively for informational purposes and to optimize the developer experience. The canonical and normative specifications are maintained by:
Standard Substrate methods: the Polkadot.js documentation and the Substrate node JSON-RPC reference
Bittensor-specific methods: the Subtensor source code and Bittensor documentation
Subtensor EVM methods: standard Ethereum JSON-RPC as defined by the Ethereum.org RPC specification
Network Information
Network Name
Bittensor Mainnet (Finney)
Native Token
TAO
Token Decimals
9 (Substrate side) — rao is the smallest unit, 10^9 rao = 1 TAO
EVM Decimals
18 (EVM side) — wei-style representation for EVM tooling compatibility
EVM Chain ID
945 (0x3B1) — UTF-8 encoding for the "Alpha" character
Block Time
~12 seconds
Consensus
Yuma Consensus (validators score miner work; emissions distributed by performance)
Framework
Substrate (Rust)
Daily TAO Issuance
3,600 TAO/day (halved from 7,200 in December 2025)
Block Explorer
Active Subnets (2026)
129+ and growing
Mainnet Genesis
2021
dTAO Upgrade
February 2025
Base URL
GetBlock provides separate endpoints for the Substrate native interface and the Subtensor EVM interface. When creating an endpoint in the GetBlock dashboard, you choose the API interface — Substrate JSON-RPC or EVM-compatible JSON-RPC.
The Substrate and EVM interfaces are exposed as separate endpoints. Create one endpoint for each interface in your GetBlock dashboard. Tokens are not interchangeable between interfaces — calling eth_chainId on a Substrate endpoint will not work, and calling chain_getBlock on an EVM endpoint will not work.
Supported Networks
Bittensor Mainnet
✅
✅
✅
✅
Quickstart
In this section, you will learn how to make your first call against either the Substrate or EVM interface using:
Axios (JavaScript / Node.js)
Python (Requests library)
For Substrate-native interactions, the Polkadot.js API is the canonical typed SDK. For EVM interactions, use ethers.js or viem as you would with any Ethereum chain.
Available API Methods
Bittensor exposes ~129 methods across all namespaces when you query rpc_methods. This documentation covers the 46 most-used methods, organized into three tiers: standard Substrate, Bittensor-specific custom RPCs, and Subtensor EVM. For complete enumeration of all available methods on a given endpoint, call rpc_methods (documented below).
Substrate — rpc Module (1 method)
rpc_methods
List all available RPC methods exposed by the connected Subtensor node
Substrate — system Module (7 methods)
system_chain
Returns the chain name (Bittensor for mainnet)
system_chainType
Returns the chain type (Live, Development, Local, Custom)
system_name
Returns the node implementation name (typically subtensor)
system_version
Returns the node implementation version
system_health
Returns node health — peer count, syncing status, should-have-peers flag
system_properties
Returns chain properties — token decimals (9), ss58Format, tokenSymbol (TAO)
system_accountNextIndex
Returns the next transaction nonce for a given account address
Substrate — chain Module (7 methods)
chain_getBlock
Returns a block by block hash (full block including extrinsics)
chain_getBlockHash
Returns the block hash for a given block number
chain_getHeader
Returns a block header by block hash
chain_getFinalizedHead
Returns the hash of the latest finalized block
chain_subscribeNewHeads
(WSS) Subscribes to new block headers as they're produced
chain_subscribeFinalizedHeads
(WSS) Subscribes to new finalized block headers
chain_unsubscribeAllHeads
Cancels an active heads subscription
Substrate — state Module (5 methods)
state_getStorage
Returns the storage value at a given key (hex-encoded storage key built from pallet + item hash)
state_getMetadata
Returns the runtime metadata (pallet definitions, extrinsic signatures, storage layout)
state_getRuntimeVersion
Returns the current runtime version — spec_name, spec_version, transaction_version
state_call
Executes a runtime API call (the bridge to access runtime APIs like SubnetInfoRuntimeApi)
state_subscribeStorage
(WSS) Subscribes to changes at given storage keys
Substrate — author Module (3 methods)
author_submitExtrinsic
Submits a signed extrinsic — returns the extrinsic hash
author_submitAndWatchExtrinsic
(WSS) Submits and watches an extrinsic through inclusion/finalization
author_pendingExtrinsics
Returns all currently pending extrinsics in the transaction pool
Substrate — payment Module (1 method)
payment_queryInfo
Returns fee, weight, and class information for a given extrinsic
Bittensor-Specific — subnetInfo Module (4 methods)
subnetInfo_getSubnetsInfo
Returns information for all active subnets — netUid, name, owner, params
subnetInfo_getSubnetInfo
Returns information for a single subnet by netUid
subnetInfo_getSubnetHyperparams
Returns the hyperparameters governing a subnet's behavior (rho, kappa, ...)
subnetInfo_getLockCost
Returns the current TAO lock cost required to register a new subnet
Bittensor-Specific — neuronInfo Module (2 methods)
neuronInfo_getNeurons
Returns the full neuron list (metagraph) for a subnet — hotkey, coldkey, stake, rank, etc.
neuronInfo_getNeuron
Returns a single neuron's data by subnet netUid and neuron UID
Bittensor-Specific — delegateInfo Module (3 methods)
delegateInfo_getDelegates
Returns all delegates available for TAO staking — hotkey, total stake, take, etc.
delegateInfo_getDelegate
Returns information for a single delegate by their hotkey
delegateInfo_getDelegated
Returns all delegations made by a given coldkey
Subtensor EVM — web3 Module (1 method)
web3_clientVersion
Returns the EVM client software version (typically Frontier-based)
Subtensor EVM — net Module (1 method)
net_version
Returns the network ID — "945" for Bittensor mainnet Subtensor EVM
Subtensor EVM — eth Module (11 methods)
eth_chainId
Returns the EVM chain ID — 0x3b1 (945) for Bittensor mainnet
eth_blockNumber
Returns the current block number on the Subtensor EVM
eth_getBalance
Returns the TAO balance of an EVM address (18 decimals on EVM side)
eth_getCode
Returns the bytecode at a contract address
eth_getTransactionCount
Returns the transaction count (nonce) for an EVM address
eth_getBlockByNumber
Returns block info by number (or latest, finalized)
eth_getTransactionReceipt
Returns the receipt of a confirmed transaction
eth_call
Executes a read-only contract call
eth_estimateGas
Estimates gas required for a transaction
eth_sendRawTransaction
Submits a signed EVM transaction (EIP-155, chain ID 945)
eth_getLogs
Returns event logs matching filter criteria
Support
For technical support and questions:
Support Email: support@getblock.io
See Also
Polkadot.js Substrate RPC Reference (for the inherited Substrate method surface)
Polkadot.js API Documentation (canonical typed SDK for Substrate chains)
Subtensor EVM Tutorials (deploying Solidity contracts on Bittensor)
Standard Ethereum JSON-RPC Reference (for the EVM-compatible surface)
Bittensor SDK (Python) (canonical Python SDK)
Subtensor Source Code — Custom RPC Implementation (authoritative source for
subnetInfo_*,neuronInfo_*,delegateInfo_*definitions)
Last updated
Was this helpful?