Burning permanently destroys tokens from the issuer wallet. When called, tokens are automatically removed from circulation and the network state.
Burn
const [tokenIdentifier] = await wallet.getIssuerTokenIdentifiers();
if (!tokenIdentifier) throw new Error("No token identifiers found for this issuer");
await wallet.burnTokens({
tokenIdentifier,
tokenAmount: 5_000_000000n // 5,000 tokens (6 decimals)
});
Burning is irreversible. Burned tokens are gone forever.
When to Burn
Common use cases:
- Stablecoin redemption: user redeems tokens for fiat, you burn the equivalent
- Deflationary mechanics: periodic burns to reduce supply
- Token buyback: repurchase tokens from the market and burn them
Verify the Burn
const [tokenIdentifier] = await wallet.getIssuerTokenIdentifiers();
if (!tokenIdentifier) throw new Error("No token identifiers found for this issuer");
const before = await wallet.getBalance();
console.log("Before:", before.tokenBalances.get(tokenIdentifier)?.ownedBalance);
await wallet.burnTokens({
tokenIdentifier,
tokenAmount: 1000_000000n
});
const after = await wallet.getBalance();
console.log("After:", after.tokenBalances.get(tokenIdentifier)?.ownedBalance);
Proof-of-Burn Address
Anyone can also burn tokens by sending them to the network’s proof-of-burn address:
spark1pgssyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqszykl0d2
Tokens sent to this address are permanently removed from circulation and cannot be recovered.