> For the complete documentation index, see [llms.txt](https://docs.j.tools/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.j.tools/tools/token/burn-tokens.md).

# Burn Tokens

[Burn Tokens](https://j.tools/en/tools/burn-tokens) destroys token balances on-chain in batch. Scan a connected wallet or paste several private keys against a single mint, pick how much to burn per row, and run the whole list from one terminal. It works on classic [SPL tokens and Token-2022](/concepts/spl-vs-token2022.md), so LP tokens and newer mints are covered too.

{% hint style="danger" %}
**This cannot be undone.** Once this transaction confirms on-chain, there is no way to reverse it. Check every field before you sign.
{% endhint %}

## When to use this

* You run a deflationary token and want a supply cut recorded on-chain.
* You are clearing dust or inactive balances across one wallet or many.
* You are burning LP tokens after closing out a position with [Liquidity](/tools/liquidity/liquidity-add-remove.md). The terminal can filter to LP tokens only.
* You hold Token-2022 tokens, not just classic SPL, and need a burn tool that handles both.

## Before you start

* A connected wallet for Wallet Scan mode, or the private keys for the wallets you want to burn from in Multi Wallet mode.
* Token balances to burn. Burning is permanent, so double-check the mint before you run.
* Enough SOL in each signing wallet for the network and a flat platform fee shown before you sign. See the [Fee schedule](/reference/fee-schedule.md) for the current amount.

{% hint style="danger" %}
Burning is final. It removes existing balances and lowers circulating and total supply. There is no recovery, no reversal, and no support ticket that brings the tokens back.
{% endhint %}

## How sourcing works

You pick one of two modes:

* **Wallet Scan** reads the wallet connected in the top bar. Set an optional Target Mint to narrow the scan to a single token, or leave it open to load everything the wallet holds.
* **Multi Wallet + Single CA** takes private keys pasted one per line, all targeting the same mint. A Target Mint is required here, and each pasted key's owner must actually hold that token. This mode is capped at 16 wallets, and duplicate or invalid key lines are flagged and block the scan until you fix them.

{% hint style="warning" %}
Multi Wallet mode asks you to paste raw private keys into the page. Keys are validated and signed locally in your browser, but pasting raw keys is still a sensitive action. Only do this with wallets you control and treat as disposable. Never paste keys you cannot afford to expose.
{% endhint %}

## Step by step

{% stepper %}
{% step %}

### Pick a mode

Choose Wallet Scan to burn from the connected wallet, or Multi Wallet + Single CA to burn from several wallets against one mint. In Multi Wallet mode, set the Target Mint with the token selector first.
{% endstep %}

{% step %}

### Choose a burn mode

Select Full Burn to clear the whole balance per row, Partial Burn to set a percentage, or Specific Burn to set a fixed token amount. A specific amount is capped to each row's available balance.
{% endstep %}

{% step %}

### Scan wallet tokens

Optionally set a Target Mint to filter, then run the scan. Both classic SPL and Token-2022 accounts are loaded. Each row shows the wallet, the token, its available balance with a USD estimate, and the planned burn.
{% endstep %}

{% step %}

### Select the rows

Review the list and tick the rows you want. Use Only LP Tokens to filter, plus Select All and Clear Selection for bulk control. Only selected rows with a planned burn above zero will run.
{% endstep %}

{% step %}

### Execute the burn

Click Execute Burn. Rows run one by one. If any selected row is worth more than the high-value threshold shown in the tool, a confirmation dialog asks you to type the word "burn" before it proceeds.
{% endstep %}

{% step %}

### Confirm in your wallet

Each burn is signed by its source, the connected wallet in Scan mode or the row's key in Multi Wallet mode, then confirmed on-chain. Watch the per-row status as it works. Use Retry Failed to re-run only the rows that did not go through.
{% endstep %}
{% endstepper %}

[**Open Burn Tokens in the app →**](https://j.tools/en/tools/burn-tokens)

{% hint style="info" %}
**About wallet warnings.** Some tools sign more than one thing in a single step, for example creating a token and its metadata together. Phantom can show a caution banner for these multi-step transactions. The banner is expected here and does not mean something is wrong. Read what you are signing, then approve.
{% endhint %}

## The options, explained

| Field            | What it does                                                                                                                    |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| Mode             | Wallet Scan reads the connected wallet. Multi Wallet + Single CA burns from pasted keys against one mint, capped at 16 wallets. |
| Burn mode        | Full burns the whole balance, Partial burns a percentage, Specific burns a fixed amount capped to each row's balance.           |
| Target Mint (CA) | Optional in Wallet Scan to filter the scan. Required in Multi Wallet mode. Picked with the token selector.                      |
| Partial percent  | The percentage applied to each row's balance when burn mode is Partial.                                                         |
| Specific amount  | The fixed token amount applied to every selected row when burn mode is Specific.                                                |
| Only LP Tokens   | Filters the list to rows detected as LP tokens, based on their name and symbol.                                                 |
| Row checkbox     | Selects a row for the run. Only selected rows with a planned burn above zero are executed.                                      |

{% hint style="info" %}
You can deep-link a mint into this tool. The [My Pools](/tools/liquidity/my-pools.md) view's "Burn LP" button opens Burn Tokens with the LP mint already filled in, so the row is ready to scan and select.
{% endhint %}

## If something goes wrong

* **Nothing loaded after a scan.** The wallet holds no balance for that mint, or your Target Mint filter excluded everything. Clear the filter and scan again.
* **Invalid private key line.** A pasted key is malformed or duplicated. The flagged lines block the scan. Fix or remove them, then rescan.
* **Confirmation keyword required.** A high-value row needs you to type "burn" before it runs. This guard, triggered by the high-value threshold shown in the tool, protects against burning something worth more than you meant to.
* **A row failed.** The transaction was rejected, expired, or the wallet ran out of SOL. Top up if needed and use Retry Failed to re-run only the failed rows.

For the full list, see the [Error codes reference](/reference/error-codes.md).

## FAQ

<details>

<summary>Can I get burned tokens back?</summary>

No. [Burning](/getting-started/glossary.md) is permanent and irreversible. It destroys the balance and lowers the token's circulating and total supply. There is no way to restore burned tokens.

</details>

<details>

<summary>Does it support Token-2022, or only classic SPL?</summary>

Both. The tool detects each account's token program and burns accordingly, so newer Token-2022 mints work alongside classic SPL tokens.

</details>

<details>

<summary>How is burning different from revoking the mint or closing the account?</summary>

Burning destroys tokens that already exist. [Revoke Mint](/tools/secure/revoke-mint.md) stops new tokens from ever being minted but leaves the current supply alone. [Close Account](/tools/utilities/close-account.md) reclaims rent from an emptied token account. They solve different problems, and you often use them together.

</details>

<details>

<summary>Why does it ask me to type "burn" for some rows?</summary>

That is the high-value guard. When a planned burn is worth more than the high-value threshold shown in the tool, it asks for a one-word confirmation so a costly burn is never one stray click away.

</details>

<details>

<summary>Does J Tools hold my tokens or keys?</summary>

No. Burns are signed in your browser, by the connected wallet or by the key you paste, and broadcast straight to the network. J Tools never custodies your tokens.

</details>

## Related tools

{% content-ref url="/pages/dDKMIJDsaV6TyBZPgRLH" %}
[Revoke Mint](/tools/secure/revoke-mint.md)
{% endcontent-ref %}

{% content-ref url="/pages/gbx1RbByQOVKZzt0PQkP" %}
[Make Immutable](/tools/secure/make-immutable.md)
{% endcontent-ref %}

{% content-ref url="/pages/tcfZtvMT2fZ8MMKcMlpF" %}
[Close Account](/tools/utilities/close-account.md)
{% endcontent-ref %}

{% content-ref url="/pages/ABVX2mBQDoCv7DEdVmKp" %}
[Multi Sender](/tools/wallets/multi-sender.md)
{% endcontent-ref %}

{% hint style="warning" %}
**About multi-wallet mode.** This mode works with private keys you import into the page. Only use wallets you can treat as disposable, and rotate them after you are done. For everything else, J Tools stays non-custodial: you sign in your own wallet, and we never ask for its key.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.j.tools/tools/token/burn-tokens.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
