> 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/secure/revoke-mint.md).

# Revoke Mint

Last updated: June 2026 · Solana mainnet

Revoke Mint permanently removes the mint authority on your Solana SPL token in one transaction, so no one can ever create new supply again. It runs from your own browser wallet on Solana mainnet, and you keep custody the whole time. A flat platform fee is shown before you sign. [Revoke Mint](https://j.tools/en/tools/revoke-mint) is non-custodial, and the change is final once it confirms.

Teams use it as a trust signal before listing, since a locked mint means there is no path to silent dilution. It pairs naturally with [Revoke Freeze](/tools/secure/revoke-freeze.md) and [Make Immutable](/tools/secure/make-immutable.md) when you want a fully locked-down token. For the bigger picture on what each authority controls, see [Token authorities](/concepts/authorities.md).

{% 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 %}

## What is the mint authority?

The mint authority is the wallet allowed to create new units of an SPL token. As long as it exists, that wallet can increase total supply at any time. Revoking it sets the authority to null, which freezes the maximum supply for good. If "mint authority" or "CA" are new terms, the [Glossary](/getting-started/glossary.md) has short definitions, and [Token authorities](/concepts/authorities.md) explains how mint, freeze, and update fit together.

## When to use this

* You want to lock total supply before listing as a trust signal for buyers.
* You hold the mint authority and want to guarantee no future issuance or dilution.
* You are preparing a token for an LP or launch and want to revoke mint alongside [Revoke Freeze](/tools/secure/revoke-freeze.md) and [Make Immutable](/tools/secure/make-immutable.md).

If you want to remove all three authorities at once (mint, freeze, and update), use [Make Immutable](/tools/secure/make-immutable.md) instead. Following a launch checklist? The [Rug-proof token guide](/guides/rug-proof-token.md) walks through revoking mint and freeze in order.

## Before you start

* A connected wallet ([how to connect](/getting-started/quick-start.md)) that currently holds the token's mint authority. This is the wallet that signs.
* The token's mint address (CA). Pick it with the built-in token selector.
* Enough SOL in that wallet for the network fee and a flat platform fee shown before you sign (see the [Fee schedule](/getting-started/fees-explained.md)).

{% hint style="warning" %}
You must be the current mint authority. If the connected wallet is not the wallet that controls the mint, the action is blocked and you will see "Connected Wallet Is Not The Current Mint Authority." Connect the wallet that holds it, or check whether the authority was already revoked.
{% endhint %}

## Step by step

{% stepper %}
{% step %}

### Connect and paste the mint

Connect your wallet (the header wallet or an imported private key through the Wallet Source selector). Paste the token mint address into the selector.
{% endstep %}

{% step %}

### Check the authority status

J Tools reads the mint on-chain and shows a status badge: **Authority Active**, **Not Yours / Revoked**, or **Loading**, along with the current mint authority address. Confirm the badge says the authority is active and held by your connected wallet.
{% endstep %}

{% step %}

### Revoke and sign

Click **Revoke Mint Authority**. J Tools builds the transaction that sets the mint authority to null, adds the platform fee to the same transaction, and asks you to sign. Approve it in your wallet.
{% endstep %}

{% step %}

### Confirm and copy the signature

The page tracks the transaction and waits for confirmation. On success it shows the signature with **Copy Signature** and **View On Solscan** so you can verify the change on-chain.
{% endstep %}
{% endstepper %}

[**Open Revoke Mint in the app →**](https://j.tools/en/tools/revoke-mint)

{% 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 %}

## Why use J Tools instead of doing it manually?

You can revoke a mint authority by hand with the Solana CLI or a custom script, but it means setting up tooling, building the instruction, and getting the authority field exactly right. J Tools does the same on-chain action with no code, straight from your wallet.

|                 | Revoke Mint (J Tools)                            | Manual (CLI / script)             |
| --------------- | ------------------------------------------------ | --------------------------------- |
| Setup           | None, runs in your browser                       | Install CLI, configure keypair    |
| Custody         | You sign in your own wallet, keys never leave it | You manage raw keypairs yourself  |
| Authority check | Live on-chain status badge before you sign       | You verify the authority yourself |
| Cost            | Network fee + a flat platform fee shown upfront  | Network fee, plus your time       |
| Speed           | Usually under a minute                           | Depends on your setup             |

## The options, explained

| Field                   | What it does                                                                                                                                              |
| ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Token Mint Address (CA) | The SPL token whose mint authority will be revoked. Entered through the built-in token selector; J Tools reads its on-chain authority status as you type. |
| Connected wallet        | The wallet that signs. It must be the current mint authority on-chain. There is no separate owner field; the connected wallet is used directly.           |

## If something goes wrong

* **Connected wallet is not the current mint authority.** The wallet you are signing with does not control the mint. Connect the wallet that holds the authority, or confirm it was not already revoked.
* **Authority already revoked.** If the mint authority was set to null earlier, there is nothing left to change. The status badge shows this.
* **Not enough SOL.** Revoking needs SOL for the network fee plus the platform fee. Top up the wallet and try again.

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

## FAQ

<details>

<summary>Can I undo this?</summary>

No. Once the transaction confirms, the mint authority is set to null and can never be restored. No new tokens of this mint can ever be created.

</details>

<details>

<summary>Does revoking mint burn tokens or touch holder balances?</summary>

No. It only removes the mint authority. Existing balances stay exactly where they are, and nothing is burned. If you want to reduce supply, that is a different action; see [Burn Tokens](/tools/token/burn-tokens.md).

</details>

<details>

<summary>What about the freeze and update authorities?</summary>

This tool touches the mint authority only. To lock who can freeze accounts, use [Revoke Freeze](/tools/secure/revoke-freeze.md). To lock the name, symbol, and image, use [Revoke Update Authority](/tools/secure/revoke-update-authority.md). To do all three in one go, use [Make Immutable](/tools/secure/make-immutable.md).

</details>

<details>

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

No. You sign the transaction in your own wallet, and the change happens directly on-chain. J Tools never holds or requests your private keys.

</details>

## Related tools

{% content-ref url="/pages/3mfyP8upN3tiDTB59aRi" %}
[Revoke Freeze](/tools/secure/revoke-freeze.md)
{% endcontent-ref %}

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

{% content-ref url="/pages/z1CV4bXSoyMhrzsOjmUy" %}
[Revoke Update Authority](/tools/secure/revoke-update-authority.md)
{% endcontent-ref %}

{% content-ref url="/pages/gclVFAjMJFchUipqQNOZ" %}
[Update Metadata](/tools/token/update-metadata.md)
{% endcontent-ref %}

{% hint style="success" %}
**J Tools is non-custodial.** We never hold your private keys and never ask for them. Every transaction is built in your browser and signed by your own wallet. If any page ever asks you to paste a private key, stop, close it, and let us know.
{% 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/secure/revoke-mint.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.
