Burn

Storage Map v101 → v472 · 1 shape change

Burn amount for registration .

Explore chain
Queried by: minersvalidatorsdevelopersanalyticswallets

The Big Picture

Burn registration is the alternative to POW - pay TAO instead of compute. The burn amount adjusts based on registration demand, similar to difficulty. High demand = higher burn cost. It's an economic barrier that ensures registration slots go to those who value them enough to pay.

Why This Matters

How much TAO to register? Burn tells you. This is the price tag for network access on each subnet. Compare to your expected earnings to decide if registration is economically viable.

Example Scenario

Query Burn(netuid=1) returns 1000000000 (1 TAO in RAO). You must pay 1 TAO to register via burn registration on subnet 1. This TAO goes into the subnet's liquidity pool.

Common Questions

How does burn adjust?
Like difficulty, based on TargetRegistrationsPerInterval. More demand = higher burn. Less demand = burn decreases toward MinBurn.
Is the TAO actually burned?
Despite the name, TAO isn't destroyed. It's swapped into the subnet's liquidity pool (SubnetTAO), and the Alpha received is burned. The TAO stays in the ecosystem - it becomes available for others to swap out of the pool.
Should I burn or POW?
If you have idle compute, POW might be cheaper. If you value time and have TAO, burn is instant. Do the math: (electricity cost for POW) vs (burn TAO × TAO price).
Are there limits on burn?
Yes, check MinBurn and MaxBurn. Burn cost stays within these bounds regardless of demand.

Use Cases

  • Check registration cost before registering
  • Compare burn vs POW registration economics
  • Build registration cost displays and estimators
  • Track subnet demand through burn price
  • Plan registration budget across multiple subnets

From Chain Metadata

MAP ( netuid ) --> Burn

Purpose & Usage

Purpose

Control registration TAO cost - how much TAO must be burned to register on a subnet.

Common Query Patterns

  • Query by netuid before burn registration
  • Monitor burn cost trends over time
  • Compare burn costs across subnets
Part of: Neuron Registration

Migration Notes

v424 v432 Breaking

key type changed from u16 to NetUid; value type changed from u64 to TaoBalance

Update decoders: SCALE encoding is positional, so any signature change (added, removed, or type-changed fields, or storage shape changes) shifts byte offsets and existing decoders will misparse this item. Re-derive types from the new metadata.

Query Keys

#NameTypeDescription
1
netuid
NetUid u16netuid (NetUid, hashed key component)

Stored Value

Burn (TaoBalance)

Default Value

100000000 0x00e1f50500000000

Absent keys read as this value — querying a key that has never been written returns this default, not an error or empty result.

Default changed

  • v101 → 1000000000
  • v290 → 100000000 Current

Relationships

Modified By

Related Events

Code Examples

import { createClient, Binary } from "polkadot-api";
import { getWsProvider } from "polkadot-api/ws";
import { sub } from "@polkadot-api/descriptors"; // generated by: npx papi add sub -w wss://entrypoint-finney.opentensor.ai:443

const client = createClient(getWsProvider("wss://entrypoint-finney.opentensor.ai:443"));
const api = client.getTypedApi(sub);

// Query Burn storage
const netuid = 1;

const result = await api.query.SubtensorModule.Burn.getValue(netuid);
console.log("Burn:", result);

Version History

v101 block 1 Added
v425–v431 · runtime versions skipped on chain (never deployed)
v432 block 8,636,190 Shape changed Current
  • key : u16 → NetUid
  • value : u64 → TaoBalance

Runtime Info

View Source
Pallet
SubtensorModule
Storage Kind
Map
First Version
v101
Current Version
v472