burn

Call v205 → current #10

Burns TAO from the caller, permanently reducing total issuance .

View calls on chain

Click items to navigate. Pan and zoom to explore.

Used by: developersvalidators

The Big Picture

Unlike sending to a burn address (which just makes funds inaccessible), this actually reduces TotalIssuance. The tokens are permanently destroyed, not just locked.

Use Cases

  • Deflationary mechanisms
  • Destroying unwanted tokens
  • Token economics experiments

From Chain Metadata

Burn the specified liquid free balance from the origin account. If the origin's account ends up below the existential deposit as a result of the burn and `keep_alive` is false, the account will be reaped. Unlike sending funds to a _burn_ address, which merely makes the funds inaccessible, this `burn` operation will reduce total issuance by the amount _burned_.

Input Parameters

#NameTypeDescription
0
value
Compact<u64> Cpt T::Balancevalue: Balance in chain native currency (RAO for TAO; ÷10⁹) (RAO -> TAO (/ 10^9))
1
keep_alive
bool keep_alive (bool)

Permissions

Origin
Unknown
Required Role

Permission data inferred from metadata. May be incomplete.

Requirements

  • Caller has sufficient free balance
  • If keep_alive is true, caller must retain existential deposit

Effects

Events Emitted

Storage Modified

Postconditions

  • Caller balance decreased by burn amount
  • TotalIssuance decreased by burn amount
  • Burned event emitted

Side Effects

  • May reap caller account if balance falls below ED and keep_alive is false
  • Permanently removes TAO from circulation

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);

// Build burn call (typed, named args)
const value = 0n;
const keep_alive = true;

const tx = api.tx.Balances.burn({
  value,
  keep_alive,
});

Runtime Info

Pallet Index
5
Call Index
10
First Version
v205
Current Version
v411