Summary
Bittensor offers multiple RPC endpoints for different network tiers: Finney (mainnet) at wss://entrypoint-finney.opentensor.ai:443, Lite (EVM-compatible) at https://lite.chain.opentensor.ai, and testnet at https://test.chain.opentensor.ai. Developers can also use managed providers like OnFinality for reliable dedicated or public endpoints. This guide lists official URLs, chain IDs, and configuration steps for wallets and dApps.
Bittensor RPC URL Decision Checklist
Before you pick an endpoint, answer these quick questions:
| Criterion | What to check | Why it matters |
|---|---|---|
| Network type | Are you building on mainnet (Finney), Lite (EVM), or testnet? | Each network has a different RPC URL, chain ID, and feature set. |
| Substrate vs EVM | Does your dApp use Substrate SDK or EVM-compatible tools? | Substrate endpoints support native bittensor SDK; Lite endpoints support MetaMask, ethers.js, and Hardhat. |
| Throughput needs | How many requests per second do you expect? | Public endpoints have rate limits; for production, consider a dedicated node or managed RPC service. |
| Data freshness | Do you need real-time data or archive state? | Lite endpoints may have slight delays; Finney endpoints are closest to the chain tip. |
| WebSocket support | Do you need real-time subscriptions? | Only some endpoints offer WSS. Check before integrating. |
Bittensor Network Overview
Bittensor is a decentralized network where subnets produce digital commodities like compute and storage. To interact with the chain, you need an RPC endpoint. There are three primary networks:
- Finney (Mainnet): The original Substrate-based chain. Used by miners, validators, and stakers via the bittensor SDK.
- Lite (EVM): An EVM-compatible sidechain that supports MetaMask, ERC-20 tokens, and Solidity smart contracts.
- Testnet: A testing environment (currently EVM-only) for development without real TAO.
Official RPC Endpoints
Here are the official public endpoints provided by the Bittensor team:
| Network | RPC URL (HTTPS) | WSS URL (WebSocket) | Chain ID |
|---|---|---|---|
| Finney (Mainnet) | https://entrypoint-finney.opentensor.ai:443 | wss://entrypoint-finney.opentensor.ai:443 | - |
| Lite (EVM) | https://lite.chain.opentensor.ai | wss://lite.chain.opentensor.ai | 964 |
| Testnet (EVM) | https://test.chain.opentensor.ai | wss://test.chain.opentensor.ai | 945 |
Note: Finney uses Substrate RPC (not JSON-RPC standard), while Lite and Testnet are Ethereum-compatible.
How to Connect to Bittensor
Using bittensor SDK (Finney)
import bittensor as bt
subtensor = bt.subtensor(
network="finney",
# Or use custom endpoint:
# endpoint="ws://entrypoint-finney.opentensor.ai:443"
)
print(f"Block: {subtensor.block}")
Using MetaMask (Lite / Testnet)
- Open MetaMask → Settings → Networks → Add Network.
- Enter:
- Network Name: Bittensor Lite
- RPC URL:
https://lite.chain.opentensor.ai - Chain ID: 964
- Currency Symbol: TAO
- Save and switch to this network.
Using ethers.js (Browser or Node)
import { ethers } from "ethers";
const provider = new ethers.JsonRpcProvider("https://lite.chain.opentensor.ai");
const blockNumber = await provider.getBlockNumber();
console.log("Current block:", blockNumber);
Curl Example (Finney Substrate RPC)
curl -s -X POST https://entrypoint-finney.opentensor.ai:443 \
-H "Content-Type: application/json" \
-d '{"id":1,"jsonrpc":"2.0","method":"chain_getBlock","params":[]}'
Lite vs Finney: Which Should You Use?
- Finney is the core network. Use it for staking, subnet operations, and any native bittensor functionality. Requires the bittensor SDK or direct Substrate RPC calls.
- Lite is EVM-compatible. Use it if you want to deploy smart contracts, use MetaMask, or integrate with existing Ethereum tooling. The Lite network settles to Finney.
- Testnet is for development. Perfect for testing contracts and dApps without risking real TAO.
Using a Managed RPC Provider
Public endpoints can become unreliable under high load. For production dApps, you may want a managed provider that offers:
- Dedicated nodes with guaranteed throughput
- WebSocket support for real-time subscriptions
- Archive data access
- Global edge caching
OnFinality provides both public and dedicated RPC endpoints for Bittensor. You can find our Bittensor network page here and check RPC pricing for plan details.
Common Configuration Issues
- Wrong Chain ID: Lite is 964, testnet is 945. Using a different ID will cause transaction failures.
- WebSocket vs HTTP: Use WSS for subscriptions; HTTP for request-response only.
- Rate Limiting: Public endpoints may throttle. If you see errors, consider upgrading to a dedicated node.
- Block Inconsistency: Lite nodes may be slightly behind Finney. Verify block height with a Finney endpoint if needed.
Frequently Asked Questions
What is the Bittensor chain ID for Lite? 964. For testnet it is 945.
Is there a Bittensor testnet faucet? Yes, testnet TAO can be obtained from the Bittensor testnet faucet.
Can I use the same RPC URL for WebSocket?
For Lite and testnet, replace https with wss. For Finney, append :443 to the WebSocket URL.
Do I need an API key for public endpoints? No, official public endpoints are free and open.
What happens if the public endpoint goes down? You can switch to another provider. OnFinality offers a reliable alternative with multiple endpoints.
Key Takeaways
- Bittensor has three networks: Finney (Substrate), Lite (EVM), and Testnet (EVM).
- Official RPC URLs are: Finney
https://entrypoint-finney.opentensor.ai:443, Litehttps://lite.chain.opentensor.ai, Testnethttps://test.chain.opentensor.ai. - Use the correct chain ID (964 for Lite, 945 for testnet) to avoid transaction errors.
- For production workloads, consider a managed RPC provider for reliability and scalability.
- Always test with a testnet endpoint before deploying to mainnet.
For a full list of supported networks, visit our networks page. To compare RPC providers, read our guide on choosing an RPC provider.