Loading
Loading
bittensor.ai API
One API for subnets, validators, staking pools, markets and wallets, built for developers and AI agents.
Net TAO flowing into each subnet over 7 and 30 days (from the chain's own counter, emissions excluded), realised staker yield, and entry and exit cost at a reference stake.
Holder total return for root stakers, fund NAV per share, validator take, stakers per pool and root daily return.
Holdings, activity, per-wallet returns and claimable amounts for any public address.
Blocks, decoded extrinsics, events and call trees, and subnet identity history.
Alpha prices, candles and pool state.
A standard OpenAPI document that gives the unit of every numeric field, ready to hand to an AI assistant, an agent framework or an OpenAPI-to-MCP bridge.
Every plan gets the same data. Plans differ in how many requests a key can make, and in support.
| Feature | ||||
|---|---|---|---|---|
| Requests per minute | 30 | 120 | 600 | Custom, up to unlimited |
| Requests per day | 5,000 | 50,000 | 300,000 | Custom |
| Full data API (subnets, validators, explorer, markets, wallets) | Included | Included | Included | Included |
| Validator and fund analytics | Included | Included | Included | Included |
| Support | Community | Priority email | Direct | |
| Custom limits and terms | Not included | Not included | Not included | Included |
Exploring the network, personal projects, trying the API.
Individual builders and bots that call the API every day.
Heavier apps, AI agents and research workloads.
Teams and businesses that need dedicated capacity.
X-API-Key header on every request.Need more than a plan offers? Contact [email protected] for higher limits.
The API is served at https://bittensor.ai/api/v1 and returns JSON.
Send your key in the X-API-Key header. Requests without a key are challenged at the edge; the OpenAPI spec is the one thing that can be fetched without one.
curl https://bittensor.ai/api/v1/system/status \
-H "X-API-Key: YOUR_API_KEY"The public specification at https://bittensor.ai/api/v1/openapi.json lists every public endpoint, parameter and response schema. Numeric fields carry their unit (x-unit) and conversion (x-convert). Token amounts are integer strings in rao, null means unknown (never zero), and timestamps are UTC.
Because it is a standard OpenAPI document, you can hand it to an AI assistant, an agent framework or an OpenAPI-to-MCP bridge and let it build the calls.
Each key has request limits per minute, hour and day; the plan table shows the per-minute and per-day limits. Successful responses carry X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset for the window with the least room left, so a client can pace itself.
429 with the error code RATE_LIMITED. Retry-After and X-RateLimit-Reset say when it reopens.429 with CONCURRENCY_LIMIT and Retry-After: 1. Lower your parallelism.429 with Retry-After: 60.Wait for the time in Retry-After rather than retrying in a loop.
One version, /api/v1, and changes are additive. A retired field or parameter is deprecated at least 90 days before removal, an endpoint at least 6 months, with Deprecation and Sunset headers on the response.
Real-time WebSocket feeds: coming soon. The API is REST only for now.