Getting started
What is Express Launch?
The default Forge launch path: token mint + Safety Lock + Lock metadata + Raydium pool + LP disposition (burn or lock), all in one form. You fill the form once, click Launch & Trade, then approve 3–4 wallet signatures in sequence — and your token is tradeable on Raydium / Jupiter within minutes.
Why it exists: most Solana launchpads make you mint the token, switch tabs to create the pool, switch tabs again to burn or lock LP, then switch back to revoke authorities. Four steps, four chances to forget one. Express collapses the whole sequence into a single form with the right defaults baked in.
Mainnet cost: ~0.7 SOL total in service fees + Raydium rent, plus your initial liquidity (the SOL, USD1, or USDC you pair against the token). Free end-to-end on devnet for testing.
When NOT to use Express: if you want to mint the token first and add liquidity later (governance tokens, airdrop-first projects), pick Standard Launch instead. If you need Token-2022 extensions (transfer fee, hooks, etc.), pick Pro Launch.
What's the difference between Express, Standard, and Pro Launch?
Express Launch bundles mint + Raydium pool + LP burn/lock into one form. Best for memecoin launches where you want immediate trading.
Standard Launch just mints the token — no pool, no liquidity. Best for governance tokens, airdrop-first projects, or any launch where you want to decide on liquidity later.
Pro Launch creates a Token-2022 mint with optional extensions (transfer fee, transfer hook, interest-bearing, non-transferable, permanent delegate). Required only if your token genuinely needs one of those features. Compatibility with older Solana tooling is partial — most aggregators support Token-2022, but verify the ones you intend to use.
What is Forge?
A self-service tool for creating and managing Solana tokens. You connect a wallet (Phantom, Solflare, or any wallet-adapter compatible app), fill out a form, sign a transaction, and end up with a real SPL or Token-2022 token on chain — with metadata, initial supply, and a Raydium liquidity pool if you want one.
Forge doesn't custody anything. Every transaction is built in your browser and signed by your wallet. We never see your private keys.
Which networks are supported?
Solana mainnet, devnet, and testnet. Switch networks in the header. Devnet is free and gives you disposable SOL from faucet.solana.com — use it to learn the flows before touching mainnet.
Which wallets work?
Anything that implements the Solana wallet adapter standard: Phantom, Solflare, Backpack, Glow, Coin98, Trust, Ledger via Phantom/Solflare, and most others. If your wallet shows up in the "Connect Wallet" dialog, it works.
How much SOL do I need to start?
Service-fee + network-fee budget by flow (mainnet; devnet is free):
- Express Launch (SPL + pool) — ~0.7 SOL total in service fees + Raydium rent, plus your initial liquidity
- Standard Launch (SPL only) — ~0.065 SOL total (0.05 fee + 0.015 rent)
- Pro Launch (Token-2022) — ~0.175 SOL total (0.15 fee + 0.025 rent)
- Pool creation (manual via Liquidity tab) — ~0.6 SOL total (0.20 fee + 0.4 Raydium rent) plus your initial liquidity
- Airdrops — tiered from free (single send) to 0.30 SOL (501–2,000 recipients) plus per-tx network fees
Devnet versions are all free.
Tokens
What is the Custom Address Generator and how much does it cost?
The Custom Address Generator (the panel labeled “Custom Address Generator” on the Create flow) lets you grind a vanity prefix and/or suffix into your mint address — for example, a token starting with BONK or ending with moon. Pure marketing, no security implications: mint addresses are public on-chain anyway. The grinder runs in a Web Worker inside your browser, so the keypair search never leaves your device.
Cost: +0.05 SOL on mainnet, bundled into your token-creation transaction. Failed mint, no charge. Free on devnet. If you skip the generator and let Forge pick a random mint, there is no add-on.
Limits: up to 4 characters per side (prefix and/or suffix). Each side is limited to base58 characters (no 0, O, I, l) since those characters never appear in Solana addresses. Combining 4 + 4 is technically supported but expect the grind to take hours on a typical laptop — shorten one side or enable case-insensitive matching to speed up.
Difficulty: each base58 character contributes ~5.86 bits of entropy. A 4-character prefix is ~10⁷ attempts (seconds to a minute on most CPUs); a 4+4 combined is ~10¹⁴ attempts (impractical in-browser). The ETA banner updates live as you type so you can pick a length that matches your patience.
What does "CA" mean?
Contract Address — the on-chain mint address of your token. It's a base58 string ~44 characters long. Anyone holding your token in their wallet sees this address. Share it on Twitter / Telegram so people can buy, add to wallet trackers, or look up on Solscan.
Why should I revoke mint and freeze authorities?
Two reasons, both about trust:
- Revoke mint authority: guarantees no one (including you) can ever mint additional supply. Without this, holders worry the creator might inflate the supply and dump.
- Revoke freeze authority: guarantees no one can freeze any holder's tokens, blocking them from selling. Without this, holders worry the creator could freeze sells while dumping their own bag.
Most listing aggregators (DexScreener, Birdeye, etc.) require both authorities revoked before they'll display certain trust indicators. The "Safety Lock" panel on every Forge launch (Express, Standard, and Pro) revokes both authorities for you, right after the mint.
What does the "Lock metadata" toggle do, and should I leave it on?
The toggle controls the Metaplex metadata account's isMutable flag. With it ON (the default), the flag is set to false at mint time — name, symbol, and logo are permanently frozen. With it OFF, the metadata stays editable through the Manage tab.
Aggregators (DexScreener, Birdeye, RugCheck) flag tokens with mutable metadata as a risk vector — a creator could swap the logo to something offensive, change the symbol to impersonate another project, or amend the description after liquidity is seeded. Locking removes that vector and is treated as a positive trust signal.
When to leave it on: 99% of launches. If you do not have a concrete plan to edit metadata after launch, lock it.
When to turn it off: if you genuinely intend to refine branding after launch — fix typos, polish the logo, update the description after community feedback. Each metadata edit costs 0.05 SOL on mainnet (atomic with the update — a failed transaction never charges you), and you can always lock the metadata later from the Manage tab once you’re happy with it.
One-way at the program level. Going mutable → locked is allowed (any time, via Manage). Going locked → mutable is not. Once you lock metadata, the only way to change it would be to relaunch the token with a new mint address.
How much does it cost to update a token's metadata?
0.05 SOL on mainnet, free on devnet. The fee is bundled atomically into the same transaction as the metadata write — if the on-chain update fails for any reason (network error, wallet rejection, insufficient SOL), the fee reverts automatically and you are not charged.
The fee covers a fresh IPFS upload (your new metadata JSON is pinned via Pinata) plus the on-chain Metaplex updateV1 instruction. Network rent is on top (negligible for an update — typically under 0.000005 SOL).
Where to find it: open the Manage tab, paste your mint address (or pick from the auto-detected list), scroll to the Update Metadata card. You can edit:
- Name and symbol (on-chain Metaplex fields)
- Description (off-chain JSON, re-pinned to IPFS)
- Logo (replace the image — the new file uploads to IPFS, the metadata JSON re-pins, the on-chain account points at the new JSON URI)
- Social links (Twitter, Telegram, Website — stored under
extensionsin the JSON)
Click Update Metadata and sign in your wallet. The button greys out as “No changes to save” if you haven’t actually edited anything, so you don’t accidentally pay for a no-op.
The card is hidden entirely for tokens minted with isMutable: false — there’s nothing to update on a locked token, and we don’t want to take a wallet signature on a transaction the program will reject.
Why is my token logo not loading?
Logos are pinned to IPFS via Pinata and served through a public gateway. If the public gateway is slow or rate-limited, the image may take 5–30 seconds to load on the first view. Refresh and try again. If a logo never loads, your IPFS pin may have expired (rare with Pinata) — re-upload via the Manage tab to re-pin.
Liquidity & locking
What's the difference between burning and locking LP?
Burn LP permanently destroys your LP tokens. The underlying liquidity in the pool stays there forever, but no one can withdraw it — including you. Cheapest, most common "rugpull-proof" signal.
Lock LP escrows your LP under Raydium's lock program and gives you back an NFT. The liquidity is also un-withdrawable forever, but the NFT lets you claim ongoing trading fees from swaps in the pool.
If you want to capture trading fees long-term, lock. If you just want a clean "rugproof" signal and don't care about fees, burn (it's simpler and one less NFT to babysit).
I created a pool with 1,000,000 tokens and 1 SOL — why does my LP balance show ~999?
That's correct, not a bug. Raydium's CPMM uses a constant-product formula and mints LP tokens equal to the geometric mean of the two deposits:
LP = √(amount_A × amount_B) = √(1,000,000 × 1) ≈ 1,000
The 0.0001 difference comes from Raydium burning a tiny amount (100 raw units, called MINIMUM_LIQUIDITY) forever — a standard AMM mechanism that prevents precision attacks. Your LP balance is the geometric mean of your deposits, not the count of either token.
How do I claim trading fees from a locked pool?
Open the Liquidity tab (or Profile → expand the pool), find the "Locked LP — claim trading fees" panel, enter the LP-equivalent amount of fees you want to harvest, and click Claim fees. The fees land in your wallet as the underlying token pair (not as LP tokens).
On mainnet, you can find the exact unclaimed amount on raydium.io/portfolio under your locked positions. Under-estimates always succeed; over-estimates revert the transaction (you keep your fees).
Note: trading fees only accrue from actual swaps in your pool. A freshly-created pool with no trading activity has nothing to claim. On devnet, swap activity is essentially zero, so the feature is mostly cosmetic outside of mainnet.
I locked my LP but the claim panel doesn't show — what happened?
Forge shows the claim panel when it has the lock NFT mint stored for that pool. If you locked through an older version of the app, through Raydium's UI directly, or after clearing browser storage, we don't have it.
Click the "Already locked this pool? Attach the NFT mint" prompt at the bottom of the LP actions card, then click Detect from wallet. We'll scan your wallet's NFTs, identify which Raydium lock NFT corresponds to this pool, and auto-attach it. You can also paste the mint manually.
Can I get my locked liquidity back?
No. Raydium's LOCK_CPMM program has no unlock function — that's the point. The lock is permanent by design. You retain only the right to claim trading fees while you hold the lock NFT. If you need a recoverable time-lock, lock LP is the wrong tool; consider Squads vesting or another time-bound vault instead.
Airdrops
What's the difference between Single Send, Equal Split, and Custom List?
- Single Send — one recipient, one amount. Always free (no service fee). Use for paying a contributor or testing.
- Equal Split — paste a list of addresses, choose one amount; everyone receives the same. Best for snapshot-style drops (e.g. NFT holders).
- Custom List — paste
address,amountlines. Each recipient gets a different amount. Best for tiered campaigns.
Equal Split and Custom List share the tiered pricing in the fee table.
What if my CSV has duplicates or invalid addresses?
The validation panel surfaces them before you confirm. Duplicates are merged (the count is shown), self-sends to your own wallet are removed, and invalid addresses are listed so you can fix them. The airdrop only proceeds with the valid entries; the rejected rows appear in your downloadable CSV report afterward.
Fees & refunds
Are service fees refundable?
Successful transactions are non-refundable — Solana doesn't support reversal. Service fees are bundled into the same transaction as the action, so a failed transaction automatically refunds the fee (because the whole transaction reverts).
The pool-creation fee is the one exception: it's sent as a follow-up transaction after the Raydium pool succeeds, so a failed pool never charges you.
Where do my fees go?
To the treasury wallet configured by whoever runs Forge — the NEXT_PUBLIC_FEE_RECIPIENT address shown in the network banner. Forge is open about this: the fee instruction in every paid transaction shows you exactly where the SOL is going before you sign.
Will fees change?
Possibly. Memecoin tools live and die by gas economics. If SOL price moves materially, the operator may tune the rates so they cover infra without being painful for users. The rate shown in the confirmation dialog at sign time is the rate you pay — anything else is just informational.
Troubleshooting
Sync from chain timed out — what now?
The public Solana RPC times out scanning large indexes (Metaplex metadata, in this case). Forge automatically falls back to a cheaper owner-tokens scan that works on free RPCs, but if even that times out, you're likely seeing rate limits. Switch to a paid RPC (Helius, QuickNode, Triton) by setting NEXT_PUBLIC_SOLANA_DEVNET_RPC (or NEXT_PUBLIC_SOLANA_MAINNET_RPC) in your environment.
My token list / pool list shows "X total" but the cards are blank.
That was an animation bug in earlier builds where the cards rendered at opacity: 0 and never animated to visible. Fixed in the current build. If you still see it, hard-refresh (Cmd-Shift-R / Ctrl-Shift-R) to bypass the CSS cache.
My transaction failed with "blockhash not found" or "transaction expired."
Solana transactions are valid for ~60 seconds from the blockhash. If your wallet sat on the signing prompt for more than a minute, the blockhash expired before submission. Sign faster, or close and re-open the action so a fresh blockhash is fetched.
Transaction confirmed but the UI didn't update.
RPC propagation can lag the chain by a few seconds. Click any "Refresh" button to re-poll. Most tabs also auto-refresh every 15 seconds. If the action genuinely succeeded on-chain, the UI will catch up.
Phantom keeps asking me to approve "set authority" — is that normal?
For revoking mint or freeze authority? Yes — that's the actual on-chain action you're taking. For anything else, be cautious; unexpected authority-set prompts are a common scam vector. Reject and re-read what you're actually doing.
Security
Is Forge audited?
The Forge frontend itself is open source and constructs standard transactions against well-known programs (SPL Token, Token-2022, Metaplex Token Metadata, Raydium CPMM). It does not deploy custom on-chain programs. The on-chain programs Forge composes are audited independently — but those audits are the authors' work, not ours. We rely on the same programs every Solana frontend uses.
Can Forge see my private keys?
No. Transactions are constructed in your browser and presented to your wallet. Your wallet signs locally and returns the signed transaction, which is broadcast directly to an RPC. Forge has no backend that handles signing, no logging of seed phrases, and no mechanism to recover a wallet if you lose it.
I sent my lock NFT to a wallet I don't control. What now?
The new wallet's holder now controls the right to claim trading fees from your locked liquidity. There is no recovery path. If the recipient is willing to send the NFT back, they can — otherwise it's gone. Treat lock NFTs like cash; never send one to an address you can't fully control.
What if Forge's domain expires or the project shuts down?
Every token, pool, and lock you create lives on the Solana blockchain — independent of Forge. If Forge disappears tomorrow, your tokens still exist, your pools still trade on Raydium, and your lock NFT still claims fees through Raydium's UI directly. The frontend is convenience; the on-chain state is the real product.