Getting started
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?
~0.05 SOL covers a basic SPL token creation including network rent. Other actions:
- Quick Launch (SPL) — ~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 (Raydium CPMM) — ~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's the difference between Quick Launch and Pro Launch?
Quick Launch creates a standard SPL Token (the older, universally-supported standard). Compatible with every wallet, explorer, and DEX. Best for memecoins and most general-purpose tokens.
Pro Launch creates a Token-2022 token with optional extensions (transfer fees, transfer hooks, interest bearing, etc.). More powerful but compatibility with older tooling is still partial. Use this only if you specifically need an extension feature.
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 Quick Launch does both atomically alongside the mint.
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.