TotalIssuance

Storage Plain v101 → current

Total TAO in circulation.

Explore chain
Queried by: analyticswalletsdevelopersstakers

The Big Picture

TotalIssuance is the total TAO supply in existence. It grows from emissions (new TAO minted) and shrinks from burns (registration burns, slashing). This is a fundamental economic number - most ratios and percentages use it as the denominator.

Why This Matters

What's the total TAO supply? TotalIssuance. Combined with TotalStake, you get staking ratio. Combined with price, you get market cap. It's the base for many calculations.

Example Scenario

Query TotalIssuance() returns 21000000000000000000 (21 million TAO in RAO). This is total supply. If TotalStake is 10.5M TAO, staking ratio = 50%.

Common Questions

Does this include locked/staked TAO?
Yes, TotalIssuance is ALL TAO - free, staked, locked, everything. It's the full supply.
How does issuance grow?
Emissions mint new TAO. Every block emits TAO to subnets, increasing TotalIssuance. Burns (registration, slashing) reduce it.
Is there a max supply?
The emission schedule determines total eventual supply. Check protocol parameters for the emission curve and eventual cap.

Use Cases

  • Calculate staking participation rate (TotalStake / TotalIssuance)
  • Track token supply growth from emissions
  • Build economic dashboards and metrics
  • Research tokenomics and inflation
  • Calculate market cap and dilution

Purpose & Usage

Purpose

Track total token supply for economic calculations - the denominator for many metrics.

Common Query Patterns

  • Single value query for supply metrics
  • Calculate staking ratio with TotalStake
  • Track issuance over time
Part of: Block Emission

Stored Value

Value in RAO (÷10⁹ for TAO)

RAO -> TAO (/ 10^9)

Relationships

Code Examples

import { ApiPromise, WsProvider } from "@polkadot/api";
import { stringCamelCase } from "@polkadot/util";

const provider = new WsProvider("wss://entrypoint-finney.opentensor.ai:443");
const api = await ApiPromise.create({ provider });

// Query TotalIssuance storage (no keys - plain value)
const result = await api.query
  [stringCamelCase("SubtensorModule")]
  [stringCamelCase("TotalIssuance")]();
console.log("TotalIssuance:", result.toHuman());

On-Chain Activity

Write Source Runtime Hook

Modified by runtime hooks (e.g., epoch transitions), not directly by user extrinsics

As of block 7,429,232

Runtime Info

View Source
Pallet
SubtensorModule
Storage Kind
Plain
First Version
v101
Current Version
v393