# Subtensor Reference API > Part of the Bittensor.ai ecosystem - https://bittensor.ai > Complete technical reference for the Bittensor Subtensor blockchain. > Runtime v481, 28 pallets, 1587+ items. Free reference API and MCP access. ## Documentation - [API Reference](/api/docs): REST API with OpenAPI spec - [MCP Server](/mcp): Model Context Protocol for AI agents (7 tools) - [Search](/api/v1/subtensor/search): Full-text search across all items ## Quick Start - [Events](/reference/events): 312 blockchain events - [Calls](/reference/calls): 313 extrinsics/transactions - [Storage](/reference/storage): 407 state items - [Constants](/reference/constants): 136 runtime constants - [Errors](/reference/errors): 419 error types ## Key Pallets - **SubtensorModule**: Core staking, neurons, subnets, emissions - **Balances**: TAO transfers and account balances - **System**: Block info, accounts, runtime version ## API Endpoints All endpoints return JSON. Use Accept: application/json header. - GET /api/v1/subtensor/pallets - List all pallets - GET /api/v1/subtensor/pallets/{name} - Pallet details - GET /api/v1/subtensor/events/{Pallet.Event} - Event details - GET /api/v1/subtensor/calls/{Pallet.call} - Call details - GET /api/v1/subtensor/storage/{Pallet.Storage} - Storage details - GET /api/v1/subtensor/search?q={query} - Search all items ## MCP Server Connect using Model Context Protocol for structured AI access (7 tools). ### Claude Code (recommended) ``` claude mcp add --transport http subtensor https://subtensor.com/mcp ``` ### Manual config (.mcp.json or claude_desktop_config.json) ```json { "mcpServers": { "subtensor": { "type": "http", "url": "https://subtensor.com/mcp" } } } ``` IMPORTANT: "type": "http" is required — without it, clients default to stdio. ### Available Tools (7) - subtensor_search: Search across all Subtensor pallets, events, calls, storage, constants, and errors by keyword. - subtensor_lookup: Get detailed info about a specific pallet, event, call, storage item, constant, error, SCALE type, RPC method, protocol account, or EVM precompile. Accepts URN identifiers with optional #field.path drilling. - subtensor_list: Browse items by category: pallets, events, calls, storage, constants, errors, types, runtime APIs, RPC methods, protocol accounts, EVM precompiles, mechanisms, workflows, hyperparameters, cli_flags, build_features, chain_specs, or env_vars. - subtensor_explore: Explore relationships, version history, removed items, changelogs, and migration guides between runtime versions. - subtensor_explain: Understand Bittensor concepts, workflows, mechanisms, runtime APIs, runtime errors, extrinsic format, or get code examples. - subtensor_preferences: Get or set session preferences for language, node URL, and node type. Language affects field name casing (TypeScript=camelCase, others=snake_case) and code examples. - subtensor_decode: Decode SCALE-encoded hex into labelled fields with RAO→TAO and hex→SS58 conversions applied. Omit pallet and name to identify an event or call from its two-byte (pallet index, item index) prefix — the usual case when you have bytes and want to know what they are. ## Units - Balances are in RAO (1 TAO = 10^9 RAO) - Account addresses display as SS58 with prefix 42 ## Optional: Full Documentation - [/llms-full.txt](/llms-full.txt): Expanded version with all endpoints and examples