Overview
brim is a Solana launchpad built on Raydium LaunchLab. Every coin launches on one shared LaunchLab config that charges no platform fee and no creator tax, and takes no share of the supply.
Coins start at a higher market cap than a typical bonding curve: 200 SOL. Each launch is one transaction, the creator's own first buy is capped, and every launch block is checked on chain and labelled for everyone to see.
brim is non-custodial. Your wallet signs every transaction, and brim never holds your SOL or your tokens.
In one line: 0% to brim, 0% to the creator, a higher start, no bundles. The only trading fee on the curve is Raydium's own 0.25%.
Fees
This is every cost there is, and who receives it.
| What | How much | Who gets it |
|---|---|---|
| brim's cut of every buy and sell | 0% | Nobody |
| Creator tax on every buy and sell | 0% | Nobody |
| Share of each coin's supply taken by the platform | 0% | Nobody |
| Raydium protocol fee on curve trades | 0.25% of each trade | Raydium |
| Launch fee (once, when you create a coin) | 0.02 SOL | brim's treasury, paid inside the launch transaction |
| Network rent and transaction fee for a launch | about 0.033 SOL | The Solana network (rent for the coin's accounts, plus the transaction fee) |
| Solana transaction fee on each trade | A small network fee plus a priority fee | Solana validators |
| After graduation: Raydium pool fee | 0.25% of each trade | Raydium's pool (most of it stays in the pool's liquidity, see Graduation) |
| After graduation: Raydium creator share | 0.05% of each trade | The coin's creator, paid by Raydium |
The launch fee is the only money brim receives. You see the exact amount before you sign. It is charged only when the launch succeeds, because it sits in the same transaction as the coin's creation. If no treasury wallet is set, no launch fee is charged at all.
The 0.25% curve fee is set by Raydium for every LaunchLab coin, on every launchpad. No launchpad can remove it. After graduation, every LaunchLab coin moves into a Raydium pool with a creator share. brim uses the lowest-fee pool type Raydium offers: 0.25% pool fee plus 0.05% to the creator, 0.30% in total.
Worked example
You buy for 1 SOL while the coin is on its curve.
- Raydium's fee: 1 × 0.25% = 0.0025 SOL.
- brim: 0 SOL. The creator: 0 SOL.
- The other 0.9975 SOL buys tokens on the curve. You also pay Solana's normal transaction fee.
Why zero fees
Fee vamps
A launchpad config can quietly take a platform fee and a creator fee from every single trade. Some configs are set up mainly for that: the coin is the bait, and the fee is the business. Traders often don't notice, because the fee is built into the price they get.
brim's config has no platform fee and no creator fee. The values are stored on chain, and anyone can read them (see Trust and safety).
Taxes
Some coins charge a buy or sell tax, or a tax on every transfer. brim coins are plain SPL tokens with no transfer tax, no sell tax and no switches that add one later.
Fees add up
A fee is taken on every trade, so it grows with volume, not with the coin's value. Take a coin that trades 1,000 SOL of volume:
| Total fee per trade | SOL taken out of 1,000 SOL of volume |
|---|---|
| 2% | 20 SOL |
| 1% | 10 SOL |
| brim on the curve: 0.25% (all to Raydium) | 2.5 SOL |
Every SOL that leaves as a fee is a SOL that isn't buying the coin.
No tax means more buying
When a round trip costs 0.5% instead of 2–4%, a small move is enough to be worth trading. Traders can scale in and out, and arbitrage keeps the price closer to other markets. More of every buy goes into the coin itself.
Higher starting market cap
Every coin on brim starts at a market cap of 200 SOL. It graduates to Raydium at 1,500 SOL. A typical bonding curve starts far lower, at around 28 SOL.
What it changes
- A deeper start. The curve starts with more virtual liquidity, so each buy moves the price less.
- A smaller first-block jump. The earliest buyers can't take a huge slice of the supply for a few SOL. At brim's default settings, 1 SOL buys about 0.50% of the supply. On a 28 SOL start curve, the same 1 SOL buys about 3.45%.
- A creator first buy that costs real money. At the default settings, 5% of the supply costs the creator about 10.5 SOL, against about 1.5 SOL on a 28 SOL start curve. The first buy is also capped at 5% of the supply.
- A flatter curve. The price rises from 200 to 1,500 SOL of market cap on the curve. That is 7.5× at today's settings, against about 15× on a 28 SOL start curve. Late buyers aren't paying a huge multiple of what the first block paid.
The trade-off
A higher start needs more SOL to graduate. With today's settings the curve has to raise about 401.2 SOL before the coin moves to Raydium. A 28 SOL start curve needs about 85 SOL.
The math
LaunchLab uses a constant-product curve with virtual reserves. It has a virtual token reserve A and a virtual SOL reserve B, and the price of one token is B ÷ A. As people buy, real SOL is added and real tokens leave, so the live price is:
price = (virtual SOL + SOL raised) ÷ (virtual tokens − tokens sold)
A share s of the supply is sold on the curve to raise R SOL. The rest goes into the Raydium pool at the curve's final price. With S the starting market cap and m the graduation multiple:
graduation market cap = R ÷ (1 − s)
graduation ÷ start = (s ÷ (1 − s))²
share sold on the curve s = √m ÷ (1 + √m)
SOL to graduate R = S · m ÷ (1 + √m)
brim picks s and R from the starting market cap and the multiple. Raydium then computes the exact virtual reserves on chain.
Example settings
| Start market cap | Multiple | Graduation market cap | SOL to graduate | Sold on the curve |
|---|---|---|---|---|
| 200 SOL (brim today) | 7.5× | 1,500 SOL | 401.2 SOL | 73.25% |
| 100 SOL | 5× | 500 SOL | 154.5 SOL | 69.10% |
| 150 SOL | 10× | 1,500 SOL | 360.4 SOL | 75.97% |
| 300 SOL | 6× | 1,800 SOL | 521.8 SOL | 71.01% |
| 28 SOL (Raydium's default curve) | 14.69× | 411 SOL | 85 SOL | 79.31% |
Fixed rules
- Supply: always 1,000,000,000 tokens, 6 decimals.
- Raydium's limits: the share sold on the curve must be over 50% and at most 85%, and the curve must raise at least 24 SOL.
- Changes to these settings apply only to coins launched afterwards. A coin's curve is written on chain when it launches and never changes.
Launching a coin
What you fill in
- Image: PNG, JPG, GIF or WEBP, up to 4 MB. The file must really be that kind of image.
- Name: up to 32 characters.
- Ticker: 1 to 10 letters or digits. It is saved in capitals, without a leading $.
- Description (optional): up to 500 characters.
- X and Telegram (optional): a link or a handle.
- First buy (optional): SOL you spend on your own coin in the launch transaction. It can take at most 5% of the supply.
Your wallet needs enough SOL for the launch fee, the network rent, your first buy and a small margin. brim checks this before uploading anything.
Your coin's website
Every coin gets its own page on brim, and that page is set as the coin's website: https://brim/token/<contract address>. Wallets, explorers and trading sites show it as the coin's website. It is written into the coin's metadata at launch and can't be changed later.
What happens when you press Launch
- brim checks your form, your wallet balance and the first-buy cap.
- brim creates a new key for your coin's address (the contract address) and keeps it on the server.
- Your image and the metadata are uploaded to IPFS through Pinata. The metadata holds the name, ticker, description, image, website and socials.
- brim builds one transaction and sends it to your wallet. Nothing has happened on chain yet.
- Your wallet signs it. brim checks the signed transaction, adds the coin address key's signature last, and sends it to Solana.
- When it lands, your coin is live and tradable, and you are taken to its page.
A prepared launch is valid for 3 minutes and can be sent once. If it expires, press Launch again.
What is in the launch transaction
- Compute budget: a compute limit and a priority fee based on recent network fees.
initialize_v2on Raydium LaunchLab. It creates the coin, its curve, its vaults and its metadata on brim's config, with you as the creator.- A SOL transfer of the launch fee to brim's treasury, if a launch fee is set.
- If you chose a first buy: open your token account, wrap your SOL,
buy_exact_inon the curve, then unwrap any SOL left over.
The creation and the first buy are in the same transaction, so nobody can buy between them. Your first buy gets the starting price. It accepts at most 0.5% fewer tokens than quoted, which only covers rounding.
What brim refuses to send
Before adding the coin's signature, the server checks the transaction your wallet signed. It refuses to send it if:
- the paying wallet isn't the one the launch was prepared for, or your signature is missing or invalid;
- any signer other than you and the coin's address key was added;
- any instruction was removed or changed, or anything was added other than compute-budget settings and a wallet's own safety checks (Lighthouse).
What the coin is
- A standard SPL token with 6 decimals and a fixed supply of 1,000,000,000.
- LaunchLab mints the full supply into the curve's vault when the coin is created. There is no mint authority left, so no more can ever be minted, and there is no freeze authority.
- The metadata's update authority is Raydium's LaunchLab authority, not you and not brim. Name, ticker, image and links can't be edited after launch.
No bundles
Bundling is when a creator launches a coin and buys it from many wallets in the same instant, often in one Jito bundle with the launch. The wallets look like separate buyers but belong to one person, who can sell on everyone who comes later.
What brim does
- One launch transaction. It holds the creation, the launch fee and at most one first buy, from your own wallet. brim has no multi-wallet or bundle tools.
- The coin's key stays on the server. The coin's address key is created on brim's server and never leaves it. Your wallet signs first and the server signs last, right before sending. You never hold a finished launch transaction, so you can't wrap it in a bundle with buys from other wallets.
- Nothing extra gets signed. The server refuses a signed launch that has other signers or extra instructions (see Launching a coin).
- A capped first buy. At most 5% of the supply, shown on the coin's page.
- A public launch check. Every coin's first blocks are checked on chain, and the result is shown on its page.
- Bundled coins are pulled from the front page. Coins with a "Bundled" result are left out of brim's lists. Their page still exists, with the warning on it.
What brim can't do: Raydium LaunchLab lets anyone buy a coin the moment it exists. No launchpad on LaunchLab can stop an outside bot, or a creator running their own bot, from buying in the launch block. brim checks for it and labels it. It doesn't claim to prevent it.
How the launch check works
The check runs about 25 seconds after a launch and again about 3 minutes after, when the early blocks are long settled.
- Block 0 is the slot the coin was created in. Your first buy is part of the creation transaction. It is shown separately and never counts against you.
- Early means block 0 and the next 2 slots.
- brim reads every successful transaction on the coin's curve in those slots. It lists each wallet whose balance of the coin went up, with its share of the supply.
Next, brim traces where each early buyer's SOL came from. A buyer's first funder is the wallet that paid for the transaction that first gave it SOL. An early buyer counts as linked to the creator if:
- it is the creator's own wallet; or
- the creator paid the transaction fee for its buy; or
- its first funder is the creator; or
- its first funder is the same wallet that first funded the creator, unless that wallet is a busy hub (1,000 or more transactions, such as an exchange); or
- its first funder was itself first funded by the creator (two hops); or
- one wallet paid the fees for buys by several different wallets in the early blocks. All of those wallets count as linked.
Results
| Result | Meaning |
|---|---|
| Clean | Nobody bought in block 0 except the creator's own first buy, and no early buyer is linked to the creator. |
| Sniped | Wallets with no link to the creator bought in block 0, usually bots. |
| Bundled | At least one early buyer is linked to the creator. The coin is left out of brim's lists. |
The coin's page shows every early buyer, the block they bought in, their share of the supply and, for linked wallets, why they count as linked.
Known blind spots
The check is a heuristic. A creator who works hard to hide can get past it. Treat "Clean" as "nothing found", not as a guarantee.
- Wallets funded through an exchange, a bridge or a mixer look unrelated. Hubs with 1,000 or more transactions are ignored as shared funders.
- Funding chains longer than two hops aren't followed.
- A wallet with 1,000 or more transactions has no known first funder, so it can't be linked through funding.
- Only the first 12 early wallets are traced for funding. All early buyers are still listed, and the shared-fee-payer rule applies to all of them.
- Buys after the early window (block 0 and the next 2 slots) aren't checked. Neither is funding that arrives after a wallet's first SOL.
Trading
On the curve
- Buy with SOL or sell your tokens from the coin's page. brim builds the transaction, and your wallet signs and sends it.
- Slippage: the most the price may move against you before the trade is cancelled. The default is 3%, and you can set 0.1% to 50%. If the price moves further, the trade fails on chain and nothing is traded.
- A buy needs the amount plus about 0.003 SOL for fees and a token account. You can only sell tokens you hold.
- If a buy is bigger than what is left on the curve, the quote shows only the tokens still left. The buy can take at most those.
- The only trading fee on the curve is Raydium's 0.25%.
While the coin is moving
Once the curve is full, Raydium moves the coin to its pool. Curve trading stops while that happens, usually for a moment.
After graduation
A graduated coin trades in its Raydium pool. Use Jupiter or Raydium, both linked on the coin's page. brim shows its market data from DexScreener.
Graduation
A coin graduates when its curve has raised 401.2 SOL. That happens when its market cap reaches about 1,500 SOL.
- Raydium moves the coin into a Raydium CPMM pool. The pool holds the raised SOL and the 267,479,000 tokens that were never sold on the curve. Raydium's migration fee is 0 today.
- 100% of the pool's LP tokens are burned. Nobody, including the creator and brim, can ever withdraw the liquidity.
- The pool uses Raydium's fee tier
D4FPEruKEHrG5TenZ2mpDGEfu1iUvTiqBxvpU8HLBvC2: a 0.25% pool fee plus 0.05% that Raydium pays the coin's creator. Every coin that graduates from LaunchLab gets a creator share. This tier has the lowest total of Raydium's standard tiers. - Raydium keeps part of the 0.25% pool fee. The rest is the liquidity providers' share. Because the LP tokens are burned, that share stays in the pool and deepens the coin's liquidity.
Trust and safety
Non-custodial
- brim never holds your SOL or your tokens. Every launch and trade is signed by your own wallet.
- The only key brim's server holds is each new coin's address key. It lives in memory for at most 3 minutes and is used once, to sign that coin's launch. It is never saved.
- brim never asks for your seed phrase or private key.
What the brim admin can do
- Set the launch fee and the treasury wallet that receives it.
- Change the curve (starting market cap and multiple) and the first-buy cap for coins launched afterwards.
- Hide a coin from brim's own site, for example for illegal content or impersonation.
- Choose whether bundled coins are left out of the lists, and pause new launches.
What the brim admin can't do
- Touch your coins, your tokens or your SOL.
- Change a launched coin's curve, supply or metadata.
- Mint more tokens or freeze anyone's tokens. There is no mint or freeze authority.
- Pull a graduated coin's liquidity. Its LP tokens are burned.
- Remove a coin from the blockchain. Hiding it on brim doesn't affect trading anywhere else.
Check it yourself
brim's LaunchLab config is not set up yet. Its fee settings are stored on chain, and anyone can read them with any Solana explorer or the Raydium SDK: platform fee 0, creator fee 0, platform vesting share 0, and LP tokens 0% kept by the platform, 0% kept by the creator, 100% burned.
Raydium LaunchLab lets a config's owner wallet change some settings later: the platform fee rate, the share of supply, the split of pool tokens at graduation and the graduation pool tier. brim's software has no option for any of that, and every change would be public on chain the moment it happened. You can check the live values yourself at any time by reading the config address below.
Technical reference
Addresses
| What | Address |
|---|---|
| Raydium LaunchLab program | LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj |
| LaunchLab global config (SOL, constant-product curve) | 6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX |
| brim's LaunchLab config (platform) | not set up yet |
| Raydium CPMM program (graduated pools) | CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C |
| CPMM fee tier for graduated pools | D4FPEruKEHrG5TenZ2mpDGEfu1iUvTiqBxvpU8HLBvC2 |
| Address lookup table used by the launch transaction | AcL1Vo8oy1ULiavEcjSUcwfBSForXMudcZvDZy5nzJkU |
Config values
| Field | Value |
|---|---|
Platform fee (fee_rate) | 0 |
Creator fee (creator_fee_rate) | 0 |
Platform vesting share (platform_vesting_scale) | 0 |
| LP at graduation: platform / creator / burn | 0% / 0% / 100% |
Graduated pool fee tier (cp_config_id) | D4FPEruKEHrG5TenZ2mpDGEfu1iUvTiqBxvpU8HLBvC2 |
| Token-2022 transfer-fee authority | none (coins are plain SPL tokens) |
Coin and pool accounts
- Each coin's pool (its curve) is a program-derived address of the LaunchLab program, made from the coin's mint and wrapped SOL. In the Raydium SDK it is
getPdaLaunchpadPoolId(LAUNCHPAD_PROGRAM, mint, NATIVE_MINT). - The pool account stores the supply, the share sold on the curve (
totalSellA), the SOL to raise (totalFundRaisingB), the virtual reserves (virtualA,virtualB), what has been bought so far (realA,realB) and its status: 0 on the curve, 1 curve full (moving), 2 graduated. - Coins launch with no vesting and nothing locked (
total_locked_amount = 0). Raydium pays the post-graduation creator share in SOL.
Launch transaction anatomy
A version-0 transaction that uses the lookup table above, so it fits Solana's 1,232-byte limit. It has two signers: the creator (fee payer) and the new mint.
1. ComputeBudget set_compute_unit_limit (140,000; 320,000 with a first buy)
2. ComputeBudget set_compute_unit_price (recent priority fee)
3. LaunchLab initialize_v2 payer = creator = you, platform = brim's config,
curve = constant product, migrate = CPMM,
supply 1,000,000,000 (6 decimals), totalSellA, totalFundRaisingB
4. System transfer launch fee → treasury (only if set)
5. ATA create_idempotent your token account (first buy only)
6. ATA create_idempotent your wrapped-SOL account (first buy only)
7. System transfer SOL → wrapped-SOL account (first buy only)
8. Token sync_native (first buy only)
9. LaunchLab buy_exact_in min tokens out = quote − 0.5% (first buy only)
10. Token close_account unwrap leftover SOL (first buy only)
Your wallet may add its own compute-budget settings and Lighthouse safety checks. brim accepts those and nothing else.
Public read API
All endpoints return JSON. Reads are limited to 600 requests a minute per visitor.
| Endpoint | Returns |
|---|---|
GET /api/info | The launchpad's live settings: config address, launch fee, first-buy cap, curve summary (curve.startMcapSol, gradMcapSol, raiseSol, sellPct, curveTokens, poolTokens), Raydium's curve fee, graduated-pool fees, SOL price in USD. |
GET /api/coins?tab=new|trending|top|graduating|graduated&q=&limit=&offset= | A list of coins ({ "coins": [...] }). new: newest first. trending: coins on the curve, by SOL raised in the last hour. top: by market cap. graduating: coins on the curve that are at least 40% of the way to graduation. graduated: coins in their Raydium pool. q matches the name, the ticker or an exact contract address. limit is at most 100 (default 48). |
GET /api/coins/<mint> | One coin with its full launch check. Coins hidden by the admin return 404. |
Coins with a "Bundled" result are left out of the lists while the "hide bundled coins" setting is on, but /api/coins/<mint> still returns them. Curve numbers are read from chain about every 15 seconds. Graduated coins' prices come from DexScreener about every 2 minutes.
Coin fields
{
"mint": "<contract address>",
"pool": "<LaunchLab pool address>",
"creator": "<creator wallet>",
"name": "Example", "symbol": "EXMPL", "description": "…",
"image": "https://…/ipfs/…",
"website": "https://brim/token/<contract address>",
"twitter": "https://x.com/…", "telegram": "https://t.me/…",
"signature": "<launch transaction>", "createdAt": 1762200000000,
"status": 0, "graduated": false,
"priceSol": 0.0000002, "mcapSol": 200, "mcapUsd": 18650,
"raisedSol": 0, "goalSol": 401.218, "progress": 0,
"startMcapSol": 200, "gradMcapSol": 1500,
"devBuyPct": 0.497, "devBuySol": 1,
"verdict": "clean",
"check": {
"createSlot": 465000000, "earlySlots": 2, "complete": true,
"devBuyPct": 0.497, "block0Count": 0, "block0Pct": 0,
"earlyCount": 0, "linkedCount": 0, "linkedPct": 0,
"buyers": [ { "wallet": "…", "tokens": 0, "pct": 0, "block": 0, "signature": "…", "linked": null } ],
"tracedWallets": 0, "verdict": "clean"
}
}
verdict is null until the first check has run. In lists, check holds only block0Count, linkedCount and complete.
FAQ
Is it really zero fees?
brim takes 0% of trades and the creator takes 0%. Raydium charges its own 0.25% on curve trades, and 0.25% + 0.05% after graduation. The only money brim receives is the flat launch fee when a coin is created.
How does brim make money?
Only from the launch fee (0.02 SOL per coin). There is nothing hidden in the trades.
Does the creator earn anything from trades?
Not on the curve. After graduation, Raydium pays every LaunchLab coin's creator 0.05% of pool trades. That is Raydium's rule, not brim's.
Why can't I edit my coin after launch?
The metadata is written at launch and is controlled by Raydium's LaunchLab authority, not by you or brim. Check everything before you sign.
Can the creator mint more tokens or freeze my tokens?
No. LaunchLab mints the full 1,000,000,000 at creation, and there is no mint or freeze authority.
Can the liquidity be pulled after graduation?
No. 100% of the pool's LP tokens are burned at graduation.
Does "Clean" mean nobody sniped?
It means nobody bought in the launch block except the creator's own first buy, and no early buyer was found linked to the creator. Read Known blind spots for what the check can miss.
Why is my coin not on the front page?
Either its launch check found buyers linked to the creator ("Bundled"), or the admin hid it. A bundled coin's page still works by its link.
Can I launch on brim's config without the brim site?
LaunchLab configs are public, so someone could. brim only lists coins launched through brim, with its checks and its cap on the first buy.
Why does my launch say "expired"?
A prepared launch is valid for 3 minutes, and Solana transactions expire about a minute after they're built. Press Launch again. Nothing is charged for a launch that didn't land.
How long does graduation take?
Raydium moves the coin to its pool once the curve is full, usually within moments. Trading continues on Jupiter and Raydium after that.
Risks
- Memecoins are extremely risky. Prices can fall to zero within minutes, and you can lose everything you put in.
- Anyone can launch a coin on brim. Creators aren't vetted, and a coin's name or image means nothing about who made it.
- Before buying, read the coin's launch check and look at its holders. A few wallets holding most of the supply is a warning sign.
- Transactions on Solana are final. A mistaken trade can't be reversed.
- brim will never message you first, and will never ask for your seed phrase or private key. Anyone who does is not brim.