> 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/pumpfun-create.md).

# Pump.fun Token Create: Launch on the Curve

[Pump.fun Create](https://j.tools/en/tools/pumpfun-create) launches a coin on the Pump.fun bonding curve from a single wallet, in one screen. You fill in the name, ticker, and logo, the app pins your metadata to IPFS and builds the on-chain create instruction, and you sign it in your own browser wallet. You get a clean `pump`-suffix launch with an optional first buy the app fires as soon as the create confirms, without bouncing between the official UI and a separate trading flow.

## What it is / what it does

This is a launchpad for Pump.fun tokens. A Pump.fun coin does not start with a liquidity pool. It starts on a bonding curve: a smart contract that holds the token supply and prices it from a fixed mathematical formula. The more tokens bought out of the curve, the higher the price climbs. The more sold back, the lower it falls. There is no LP for you to seed, no pair to fund, no starting price to set by hand.

The tool does three concrete things. It uploads your logo, optional banner, and a metadata JSON to IPFS so the token has a permanent off-chain record. It pulls a `pump`-suffix mint address from a server pool so the address itself reads as a Pump.fun launch. And it builds the create instruction that registers your new token on the curve with its name, symbol, and metadata URI. If you turn on the first buy, it builds a second transaction that takes your opening bag out of the same curve, sent the moment the create confirms.

## Why use this tool

Launching directly on Pump.fun works, but the manual path scatters the steps. You upload metadata in one place, create in another, then go hunt for your own token to buy the first bag before snipers do. Each of those is a separate action, and the gap between "token is live" and "I own the first bag" is exactly where a sniper bot wants to sit.

Pump.fun Create shrinks that gap to almost nothing. The app sends your opening buy automatically, right after the create confirms on chain, so there is no manual hunt between the two. This is for a solo launcher: one wallet, one launch, one optional first bag. If you need several wallets to take the opening bags together in one block, that is a different shape of launch, covered below.

## How it works (under the hood)

Here is the actual chain of events when you click launch, kept to the on-chain and user-facing mechanics.

First, the app prepares the off-chain pieces. Your logo, optional banner, and a metadata JSON (name, symbol, description, social links) are pinned to IPFS. IPFS returns a content URI, and that URI is what gets written on chain, so the token's identity is permanent and not hosted on any single server.

Next, the app reserves a `pump`-suffix mint keypair from a server pool and reads the live Pump.fun program config accounts, including the current fee-recipient list. The build also uses the official Pump.fun address lookup table, which helps keep wallet warnings to a minimum. Reading these live matters: Pump.fun rotates the accounts that are allowed to receive its protocol fee, and building against a stale list is what triggers wallet caution banners.

Then the app builds the transactions. The core instruction is the Pump.fun program's create, which registers your mint on the bonding curve and links it to the IPFS metadata URI. The bonding curve account is a program-derived address tied to your mint, so the curve and the token are bound together from the first block. If you enabled the first buy, the app builds a second transaction holding the buy. This mirrors how Pump.fun's own site launches: create first, then the buy right behind it, as two separate transactions, because the buy references the mint and curve accounts the create brings to life. The buy takes SOL from your wallet, pushes it into the curve, and sends you the tokens the formula prices at that moment. The app sends it as soon as the create confirms, so your bag is taken at the very start of the curve, a moment after creation rather than in the same block.

The J Tools platform fee is attached as a plain SOL transfer instruction inside the create transaction, to the platform fee wallet. It is a separate, visible instruction, not a hidden cut of your buy. The amount is fixed and shown in the cost breakdown before you ever sign.

You approve in the wallet popup, and the app broadcasts to Solana through the platform RPC and waits for confirmation. The create transaction always carries two signatures under the hood: your wallet's and the reserved mint's. Your wallet signs first, in the popup, while the mint's signature slot is still empty; the app then adds the mint's signature and broadcasts. That order is the Phantom multi-signer rule and is part of why the launch does not trip a red warning. What changes with the buy is the number of wallet approvals: a plain create is one approval, and a create plus buy is two, because the buy is its own transaction sent right after the create confirms.

After the curve fills up, the token graduates. Once enough SOL has been bought into the bonding curve to hit Pump.fun's threshold, the protocol migrates the token to a real AMM pool on a DEX, and from then on it trades like any other paired token. That graduation is handled by Pump.fun itself, not by this tool. What comes after the curve is covered in [DEXes and liquidity](/concepts/dexes-and-liquidity.md).

<figure><img src="/files/Jzl3xOaQ3Br02kHAU9Mv" alt="How a Pump.fun launch works"><figcaption></figcaption></figure>

## When to use it

Use this when:

* You want to launch a coin on Pump.fun from a single wallet, without juggling the official UI.
* You want a `pump`-suffix mint and the option to take your own first bag the moment the create confirms.
* You want to see the full cost, including your buy and the priority fee, checked against your balance before you commit.

Do not use this when you want several wallets to take the opening bags together at launch. That needs a [bundle](/concepts/bundles-and-jito.md) so every buy lands in one block, and it lives in [Pump.fun Create + Bundle Buy](/tools/launch/pumpfun-create-and-bundle-buy.md). This page is the solo version. New to the terms here? The [glossary](/getting-started/glossary.md) covers mint, bonding curve, and ticker in plain language.

## Before you start

* A connected wallet ([how to connect](/getting-started/quick-start.md)) or an imported private key, with enough SOL for the platform fee, any creator buy, the Solana priority fee, and a small network buffer of around 0.01 SOL on top.
* A token logo image, up to 5 MB. PNG, GIF, JPG, JPEG, or WEBP all work. A 1000x1000 square or larger looks best.

{% hint style="info" %}
On top of the J Tools platform fee, you also pay Pump.fun's own creation and curve costs, your optional creator buy amount, and the Solana priority fee. The in-app cost breakdown adds these up against your wallet balance before you sign.
{% endhint %}

## Step by step

{% stepper %}
{% step %}

### Connect your wallet

Connect a wallet in the top bar. The page reads it directly, so the create transaction is signed by the wallet you connect here.
{% endstep %}

{% step %}

### Fill the token basics

Enter the name and ticker, and a short description if you want one. Upload a logo (required) and an optional banner. The name takes up to 32 characters, the ticker up to 10 and must be letters and numbers only.
{% endstep %}

{% step %}

### Add socials and pick your options

Add website, X, Telegram, or Discord links if you have them. Then choose the launch options: buy-on-launch and the amount, and a speed preset. You can also reserve the exact mint address up front.
{% endstep %}

{% step %}

### Review the preview and cost

Check the live preview card and the cost breakdown. It lists the platform fee, your buy, the priority fee, and any address-reservation surcharge, then compares the total to your wallet balance.
{% endstep %}

{% step %}

### Launch

Click Pump launch. The app reserves a `pump`-suffix mint from the server pool, uploads your logo, banner, and metadata JSON to IPFS, reads the live Pump.fun config accounts, and builds the create instruction, plus your buy if you turned that on.
{% endstep %}

{% step %}

### Sign in your wallet

Approve in your wallet. A plain create is one approval, and a create plus buy is two, one right after the other. The app submits the create, waits for it to confirm, sends the buy if you enabled it, and then shows a success card with the token address, the transaction, and share links.
{% endstep %}
{% endstepper %}

[**Open Pump.fun Create in the app →**](https://j.tools/en/tools/pumpfun-create)

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

* **Name:** Token display name. Required, 1 to 32 characters.
* **Symbol:** The ticker. Required, 1 to 10 characters, letters and numbers only. It is uppercased before submit.
* **Description:** Optional blurb stored in the metadata. Up to 500 characters.
* **Image:** The logo. Required, uploaded to IPFS, up to 5 MB. A 1000x1000 square or larger is recommended.
* **Banner:** Optional banner image, uploaded to IPFS, up to 5 MB. 1500x500 (3:1) looks best.
* **Website / X / Telegram / Discord:** Optional social links. Use full `http` or `https` URLs. Saved into the metadata.
* **Buy on launch:** Your wallet buys the first bag in a second transaction the app sends as soon as the create confirms. A SOL buy has to be at least 0.02 SOL, Pump.fun's own program-level floor.
* **Buy amount:** The size of that first buy, in SOL. Must be above zero when the buy is on. You can also switch the quote to USDC, in which case the buy is funded from your USDC balance and the 0.02 SOL floor does not apply.
* **Speed:** The compute-unit price that sets landing speed. Presets are Normal, Fast (default), and Turbo, plus a Custom budget.
* **Pregenerate token address:** Reserves and previews the exact `pump`-suffix mint before you sign, for an extra 0.1 SOL on top of the platform fee. Every launch already gets a `pump` suffix without this.

{% hint style="info" %}
Every launch already lands on a `pump`-suffix mint pulled from a server pool. The Pregenerate option only lets you see and reserve the exact address before signing, for a 0.1 SOL surcharge that goes to the platform fee wallet and shows up in the cost breakdown.
{% 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.05 SOL.**

| Cost                                     | Amount                                                                     |
| ---------------------------------------- | -------------------------------------------------------------------------- |
| J Tools platform fee                     | 0.05 SOL                                                                   |
| Pregenerate address surcharge (optional) | 0.1 SOL, only if you reserve the exact mint address up front               |
| Solana network fee                       | a small amount paid to validators, plus rent for any new on-chain accounts |

A launch is made of a few separate costs, and the in-app breakdown lays them out before you sign.

* **Solana network fee and priority fee.** The base signature fee is a few thousand lamports, a tiny fraction of a cent. The priority fee is set by your Speed preset and is what actually decides how fast the transaction lands when the network is busy. Both go to Solana validators, not to J Tools.
* **Account rent.** Creating a token and its accounts means putting down rent: a small SOL deposit Solana holds while the accounts exist. This is refundable in the sense that rent for accounts you later close comes back to you. The bonding curve and mint accounts stay open for the life of the token.
* **Pump.fun's own costs.** The protocol charges its creation and curve costs, which go to Pump.fun, not to J Tools.
* **Your creator buy.** If you turn on buy-on-launch, that SOL amount is your own opening bag. It is not a fee; it buys you tokens out of the curve.
* **The J Tools platform fee.** A single flat fee, attached as a visible SOL transfer in the create transaction and shown up front. J Tools takes no percentage of your buy. For the current number, see the [fee schedule](/reference/fee-schedule.md).

The cost breakdown totals all of this and compares it to your wallet balance before you can launch, so you never sign a transaction you cannot cover.

## Common mistakes and troubleshooting

* **Initial buy too small.** A SOL buy has to be at least 0.02 SOL. Raise the amount, switch the quote to USDC, or turn the buy off.
* **Address pool empty.** The `pump`-suffix mint comes from a server pool. If it runs dry the launch stops with `VANITY_CA_POOL_EMPTY`. Try again shortly.
* **Ticker rejected.** The symbol must be letters and numbers only, up to 10 characters. Drop spaces, dashes, and symbols.
* **Image too large.** The logo and banner cap at 5 MB each. Compress or resize and re-upload.
* **Transaction did not land.** On a congested network a Normal-speed launch can expire before it confirms. Bump the Speed preset to Fast or Turbo and retry.
* **Phantom caution banner.** Expected on a multi-instruction launch. Read what you are signing, then approve.

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

## Advanced tips

* **Open with a buy to take the first bag.** The app fires your buy the moment the create confirms, so the opening price goes to you rather than to whoever finds the token first. Size it deliberately; a larger opening buy moves the curve more before anyone else can act.
* **Tune speed to the moment.** Turbo earns its priority fee during a busy launch window. On a quiet network, Normal lands fine and costs less.
* **You keep no authorities, by design.** A standard Pump.fun launch revokes the mint authority at creation, so nobody, including you, can ever mint more supply. It does not leave the metadata update authority with your wallet either, which means [Update metadata](/tools/token/update-metadata.md) and [Make immutable](/tools/secure/make-immutable.md) only work on tokens where your wallet actually holds that authority.

## Related tools

{% content-ref url="/pages/OUTARQ7CwmWSmwdYM3f6" %}
[Pump.fun Create and Bundle Buy](/tools/launch/pumpfun-create-and-bundle-buy.md)
{% endcontent-ref %}

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

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

{% content-ref url="/pages/gbx1RbByQOVKZzt0PQkP" %}
[Make a Token Immutable](/tools/secure/make-immutable.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/pumpfun-create.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.
