Skip to main content
Jettons burning is primarily intended to get rid of unnecessary jettons (those with low liquidity or a zero price) and to influence the market (burning a large number of jettons could increase its liquidity). Here is the code for that:
import { Address, toNano, WalletContractV5R1, TonClient } from "@ton/ton";

import { mnemonicToPrivateKey } from "@ton/crypto";

import {
    AssetsSDK,
    createApi,
} from "@ton-community/assets-sdk";

async function main() {
    const client = new TonClient({
        endpoint: "https://toncenter.com/api/v2/jsonRPC",
    });

    const MNEMONIC = process.env.MNEMONIC;
    if (!MNEMONIC) throw new Error("Set MNEMONIC (space-separated words)");
    const keyPair = await mnemonicToPrivateKey(MNEMONIC.split(" "));

    const wallet = WalletContractV5R1.create({
        workchain: 0,
        publicKey: keyPair.publicKey,
    });

    const provider = client.provider(wallet.address);
    const sender = wallet.sender(provider, keyPair.secretKey);

    const NETWORK = "testnet";
    const api = await createApi(NETWORK);

    const sdk = AssetsSDK.create({
        api,
        sender,
    });

    const JETTON_WALLET_ADDR = Address.parse("JETTON_WALLET_ADDR"); // placeholder
    const jetton = sdk.openJettonWallet(JETTON_WALLET_ADDR);

    const RECEIVER_ADDRESS = Address.parse("RECEIVER_ADDRESS"); // placeholder
    await jetton.sendBurn(sender, 1200000n);
}

void main();
An alternative way to burn tokens is to send them to a “zero” account, see How to transfer page.

Web services

You can also burn tokens without having to write code. Let’s consider TON MINTER as an example.
  • Connect your wallet using TON Connect.
  • Enter the Jetton master contract address into the “Jetton address” field.
  • Click the “Burn” button in your wallet’s balance field and enter the amount you want to burn.
  • Confirm burning in your wallet application.
Burning