> 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/launch/token-clone.md).

# Solana Token Clone: Copy an Existing Token

[Token Clone](https://j.tools/en/tools/token-clone) reads any existing Solana SPL or Pump.fun token's public metadata from its mint address and pre-fills the creation form so you can mint a brand-new, independent token that looks the same. You edit whatever you want first, then sign one transaction. The result is always a separate mint with its own contract address, never a copy of the source token's liquidity, holders, or authority over it.

## What it is

Token Clone is the Token Creator flow opened in clone mode. Instead of starting from a blank form, you paste a source mint address and the tool fetches that token's visible on-chain metadata, then drops it into the fields for you: name, symbol, description, image, socials, decimals, and supply, plus the authority state when it can be resolved.

From that point it is an ordinary token mint. Once you confirm, the on-chain creation mechanics are identical to [Token Creator](/tools/launch/token-creator.md). You get a fresh, independent token that you fully control. The word "clone" describes the look, not the ownership. None of the source token's authority, supply ownership, or liquidity transfers to you. If a term here is new, the [Glossary](/getting-started/glossary.md) covers mint, metadata, and authority in one place.

## Why use this tool

Retyping a full token setup by hand is slow and error-prone. Decimals, supply, the metadata JSON fields, the socials, the authority toggles: a single typo in any of them ships a token you then have to redo. Token Clone removes that step. It reads a known-good token's public configuration and fills the form, so you start from a working baseline and only change what you mean to change.

It is for a few concrete situations. You are reissuing a token because the original mint was lost or misconfigured and you want the same branding under a fresh, clean contract you control. You want a sister mint that matches an existing one but with different authority or supply settings. You are using a Pump.fun token's public branding as a template for a new launch. Or you simply want a faster start than a blank form, with the same fields already populated.

## How it works (under the hood)

There are two distinct phases, and only the second one ever touches your wallet.

**Phase 1: Load (read-only).** When you paste a source mint address and Load runs, the app makes read-only RPC calls against Solana mainnet. It looks up the SPL Token mint account to read the decimals and supply, and it derives the token's Metaplex metadata account to read the on-chain name, symbol, and the off-chain JSON URI. It then fetches that JSON URI to pull the description, image, and social links. It also reads the mint's current authority state (mint, freeze, update) when those can be resolved. This phase signs nothing. It reads public data that any explorer can see and writes the result into the form.

**Phase 2: Create (you sign).** When you confirm, the tool builds a brand-new token exactly the way Token Creator does. The build assembles a single Solana transaction that does several things in order: it allocates and initializes a new mint account under the SPL Token program with your chosen decimals, creates the associated token account that will hold the initial supply, mints the total supply to your wallet, and creates the Metaplex metadata account that carries the name, symbol, and metadata URI. If you enabled any revoke toggle, the matching authority is set to none in the same flow so the token ships with that authority revoked. The platform fee (base plus any option surcharges) is attached as an explicit transfer instruction inside that same transaction, so you see and approve the full picture before anything is signed.

The new mint keypair is generated client-side and is a fresh address, unrelated to the source. If you chose a custom or vanity contract pattern, that generation also happens before signing so the address is fixed in the transaction you approve. After you sign in your wallet, the app broadcasts and waits for confirmation.

## When to use it (and when not to)

Use it when you want a head start from an existing token's public configuration: reissuing lost branding under a fresh contract, building a sister mint with tweaked settings, or templating from a Pump.fun token.

Skip it when you are starting from scratch with no reference token. Use [Token Creator](/tools/launch/token-creator.md) for a blank form. Skip it if you think cloning gives you control of the source token, because it does not. And if you only need to change an existing token's name or image, you do not need a new mint at all. Use [Update Metadata](/tools/token/update-metadata.md) on the token you already own.

## Before you start

* A connected wallet ([how to connect](/getting-started/quick-start.md)).
* The mint address (CA) of an existing SPL or Pump.fun token you want to clone.
* Enough SOL for the platform fee, the network fee, and the rent for the new mint and metadata accounts.
* An active RPC connection. Without one, Load fails with a "connection not available" error.

{% hint style="info" %}
Cloning copies **public metadata only**: name, symbol, description, image, socials, decimals, supply, and authority state. It does **not** copy liquidity, holders, or any bonding-curve state from the source token, and it never changes the source token itself. Whether the source is a classic SPL or a Token-2022 mint, only its visible metadata comes across (see [SPL vs Token-2022](/concepts/spl-vs-token2022.md) for the difference).
{% endhint %}

## Step by step

{% stepper %}
{% step %}

### Open Token Clone and connect

Connect your wallet through the standard wallet source selector. The creation form is the same one Token Creator uses, opened in clone mode.
{% endstep %}

{% step %}

### Paste the source mint and Load

Drop the source token's mint address into the **Source Token Mint (CA)** field and click **Load**. It also auto-loads shortly after you stop typing. The address has to be a valid Solana pubkey (32 to 44 characters).
{% endstep %}

{% step %}

### Let the form fill in

Token Clone reads the on-chain Metaplex metadata and the token's JSON URI, then fills the form with the name, symbol, description, image, website, socials, decimals, supply, and authority state. This step is read-only and never touches private keys.
{% endstep %}

{% step %}

### Edit and set authorities

Change any prefilled field. Set the revoke toggles for mint, freeze, and update authority. If you want a custom or vanity contract address for the new token, enable that option here.
{% endstep %}

{% step %}

### Review and confirm

Check the fee summary, then sign the transaction in your wallet. A brand-new token mints on-chain with its own unique address, separate from the source.
{% endstep %}
{% endstepper %}

[**Open Token Clone in the app →**](https://j.tools/en/tools/token-clone)

{% hint style="info" %}
**About wallet warnings.** Some tools bundle several instructions into one transaction, for example creating a token and its metadata together. Phantom can show a caution banner for these transactions. The banner is expected here and does not mean something is wrong. Read what you are signing, then approve.
{% endhint %}

## The options, explained

* **Source Token Mint (CA):** The mint address to copy public info from. Paste it and click Load, or wait for the auto-load after you stop typing. Reads on-chain metadata and the JSON URI only.
* **Name:** Prefilled from the source token's metadata. Fully editable before minting.
* **Symbol:** Prefilled from the source. Editable.
* **Description:** Prefilled from the source JSON if present. Editable.
* **Image:** Prefilled from the source token image. Editable.
* **Website / Twitter / Telegram / Discord:** Pulled from source metadata when available. Editable.
* **Decimals:** Prefilled from the source mint when it can be resolved. Editable.
* **Total supply:** Prefilled from the source. Editable.
* **Revoke mint / freeze / update authority:** Prefilled to match the source token's resolved authority state when available. Set them yourself if the source authorities cannot be resolved.
* **Custom / vanity address:** Optional. Pick a custom mint pattern (+0.05 SOL) or a vanity address (+0.1 SOL) for the new token's contract during creation.

{% hint style="warning" %}
If the source token's on-chain authorities cannot be resolved, the toggles are not auto-filled and a warning appears. Set the revoke options yourself before you mint.
{% endhint %}

## Fees and costs

{% hint style="warning" %}
**About fees.** Every action has two costs: the Solana **network fee** paid to validators, and the **J Tools platform fee**. The platform fee always shows in the app before you confirm, and nothing is charged until you sign. Fees can change over time, so trust the in-app summary rather than a number you saw once.
{% endhint %}

**Current platform fee: 0.1 SOL base.** Each revoke toggle you enable adds 0.05 SOL. The custom mint address option adds 0.05 SOL, and a vanity address adds 0.1 SOL. Loading a source token can switch the revoke toggles on to match it, which raises the shown fee.

| Cost                                                   | Amount                                                                     |
| ------------------------------------------------------ | -------------------------------------------------------------------------- |
| J Tools platform fee (base)                            | 0.1 SOL                                                                    |
| Revoke authority toggle (mint / freeze / update, each) | +0.05 SOL                                                                  |
| Custom mint address                                    | +0.05 SOL                                                                  |
| Vanity address                                         | +0.1 SOL                                                                   |
| Solana network fee                                     | a small amount paid to validators, plus rent for any new on-chain accounts |

You pay three things when you mint, and you see the total before you sign.

The first is the Solana **network fee**, a tiny per-signature cost charged by the chain itself. The second is **account rent**: Solana requires the new mint account, the token account, and the metadata account to hold a minimum balance to stay alive on-chain. That rent funds your own accounts, so it is refundable if you ever close those accounts later. The third is the **platform fee** that J Tools shows in the fee summary before you sign: the base amount listed on the [Fee schedule](/reference/fee-schedule.md) plus any option surcharges.

The Load step is free: you pay when you mint, and nothing if you load a source and walk away.

## Common mistakes and troubleshooting

* **Connection not available.** Load needs an active RPC connection. Reconnect and try again.
* **Invalid address.** The mint has to be a valid Solana pubkey, 32 to 44 characters. Double-check what you pasted.
* **Authorities not filled.** The source authority state could not be resolved. The toggles stay blank on purpose. Set them manually before you mint.
* **Expecting the source's holders or liquidity.** They never come across. Only public metadata is copied. Your new mint starts empty and needs its own pool.

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

## Advanced tips

* Treat the loaded form as a starting point, not a final answer. Change the symbol or supply so your new token is clearly distinct from the source and not mistaken for it.
* If you want a memorable contract address while you are at it, enable the custom or vanity option during clone instead of cloning first and regretting the random address. The vanity flow is the same one [Vanity Token](/tools/launch/vanity-token.md) uses.
* Decide authorities at mint time when you can. Shipping with mint and freeze revoked signals a locked-down token from block one. If you would rather revoke them after launch, leave them on and use [Make Immutable](/tools/secure/make-immutable.md) later. The toggles map to the three authorities explained in [Authorities](/concepts/authorities.md).

## Related tools

{% content-ref url="/pages/9r2rW9r83CsCoJpYE8gL" %}
[Solana Token Creator](/tools/launch/token-creator.md)
{% endcontent-ref %}

{% content-ref url="/pages/SZW5Dy4404uBRAQWvGqI" %}
[Vanity Token Creator](/tools/launch/vanity-token.md)
{% endcontent-ref %}

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

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

{% content-ref url="/pages/QT0nYfDbGpJo4Cm5Tbs6" %}
[Create a Solana Liquidity Pool](/tools/liquidity/create-lp.md)
{% endcontent-ref %}

{% hint style="success" %}
**J Tools is non-custodial.** We never store or transmit your private keys and never ask for your seed phrase. Every transaction is signed in your own browser, and nothing about a key ever reaches our servers. A few multi-wallet tools do let you paste private keys for throwaway hot wallets, which stay in your browser tab and are used only to sign locally. Never paste a key tied to long-term holdings, and if a page ever asks for your seed phrase, stop and close it.
{% 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/launch/token-clone.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.
