How pump.fun works: the bonding curve, migration to PumpSwap, fees and risks
How a pump.fun token is created, where its price comes from on the bonding curve, when it moves to a PumpSwap pool, what every trade costs and how much of that the creator gets. Plus the usual traps and what to check before you buy.

Key takeaways
- Creating a token on pump.fun has no platform fee. You pay only the Solana network fee and a small SOL deposit for the token's accounts
- On the bonding curve every trade costs 1.25% in total: 0.30% to the creator and 0.95% to the protocol
- The curve completes when the whole token allocation meant for it has been bought. Liquidity then moves to a PumpSwap pool, and the LP tokens from the migration are burned
- In the canonical PumpSwap pool the fee falls from 1.25% to 0.30% as market cap, measured in SOL, grows
- The creator earns a share of trading fees in SOL or USDC, not in their own token, so they earn even while the price falls
- Burned LP does not protect you from the creator selling, snipers or bundles. Before buying, compare the full mint address and read the risk report
What pump.fun is and what happens when someone creates a token[1][4]
Pump.fun is a memecoin launchpad on Solana. Anyone can create a token there, and trading starts at once, with no liquidity pool set up beforehand. According to pump.fun's fee page, creating a token has no platform fee for any pairing. The creator pays only the Solana network transaction fee and a small SOL deposit for the token's onchain accounts.
The documentation of the create_v2 instruction describes what is created. The mint is a new Token-2022 account with 6 decimals. The name can have up to 32 characters and the symbol up to 13. The mint authority starts out set to an address of the pump.fun program, not to the creator's wallet. The documentation does not say whether that authority is revoked later, so check the state on the specific token.
SOL is the curve's default quote asset. A token can also be paired with USDC or, as a Custom Pair, with another supported asset. The pump.fun SDK can put token creation and a first buy into one transaction, so the creator can buy their token before anyone else sees it.
The bonding curve: where the price comes from before migration[2][4][7][1]
Until it migrates, a token has no regular pool, only a bonding curve: a program that prices every buy and sell itself. The pump.fun program documentation says the formula is based on Uniswap V2 and uses synthetic x and y reserves so that there is liquidity from the first second. Every buy raises the SOL reserve and lowers the token reserve, so the next unit costs more. A sell works the other way.
New curves take their starting values from the program's global configuration. According to the documentation, the virtual SOL reserve starts at 30 SOL and every token has a total supply of 1 billion. Of that supply, the starting values put 793.1 million tokens on the curve for sale, about 79%. These are protocol parameters, not a promise: the global configuration can change, and what counts for a given token is the state of its own curve account.
Market cap, which the fees depend on, is measured in SOL: the fee program documentation gives a formula based on the curve's virtual reserves, and the fee page defines it as the token price times 1 billion tokens.
Completing the curve and migrating to PumpSwap[2][1][3]
The curve is complete when, at the end of a buy, the reserve of tokens meant for sale reaches zero. The program documentation then sets the complete flag. It gives no threshold in SOL or dollars, only a reference to reaching a certain market cap, so we do not quote an amount here. In practice the threshold follows from how much SOL it takes to buy out the curve's whole token allocation under the current parameters.
Once the curve is complete, anyone can call the migrate instruction. Liquidity from the curve moves into a PumpSwap pool, pump.fun's constant-product AMM, and the LP tokens received from that pool are burned. Migration costs 0.015 SOL. For SOL-paired tokens that amount is deducted from the curve.
The pool created by migration is the canonical pool. Other PumpSwap pools can exist for the same token if someone creates them separately. They carry different fees and do not come from the migration, so check which pool the chart and liquidity you are looking at refer to.
Fees: what a trade costs on the curve and on PumpSwap[1][7]
On the bonding curve of SOL- and USDC-paired tokens the fee is 1.25% in total: 0.30% to the creator, 0.95% to the protocol and 0% to LPs. All fees are collected in the asset the token is paired with, SOL or USDC, never in the token itself.
In the canonical PumpSwap pool the fee depends on the token's market cap in SOL and falls as market cap grows. The fee program documentation describes the mechanism, and the tier table is on the fee page. Non-canonical pools have a flat 0.30% fee: 0% to the creator, 0.05% to the protocol and 0.25% to LPs.
The fee page notes two more things. The pump.fun web app, Advanced and mobile app add nothing on top of the protocol fees, and on a route through several pools they charge the protocol fee once. Other interfaces may charge fees on every pool, so the total can be a multiple of the table's rates. Wallet and network fees are charged separately by third parties.
- Market cap from 0 to 420 SOL: 1.25% in total (creator 0.30%, protocol 0.93%, LP 0.02%)
- From 420 to 1,470 SOL: 1.20% (creator 0.95%, protocol 0.05%, LP 0.20%)
- From 4,420 to 9,820 SOL: 1.00% (creator 0.75%, protocol 0.05%, LP 0.20%)
- From 49,120 to 54,030 SOL: 0.55% (creator 0.30%, protocol 0.05%, LP 0.20%)
- From 98,240 SOL: 0.30% (creator 0.05%, protocol 0.05%, LP 0.20%)
Creator fees, fee sharing and Holder Rewards[1][5][6]
A token's creator receives part of the fee on every trade, both on the curve and in the canonical PumpSwap pool. Pump.fun applies this fee to every token that was on the curve or on PumpSwap from 13 May 2025. If the creator opted in, the creator fee can go to a charity instead.
The fees collect in a creator vault in SOL or USDC. Anyone can trigger the payout to the creator's wallet, because the collection instructions are permissionless. A creator can also switch to fee sharing: up to 10 recipients, with shares in basis points that must add up to 10,000, which is 100%. The configuration's admin can set the final list of recipients only once, after which the admin role is revoked.
When creating a token, the creator can choose Holder Rewards. The creator fee then goes not to them but to a vault split pro rata among holders whose tokens are worth at least about US$20. Distribution costs are deducted from the vault, and pump.fun says plainly that rewards are not guaranteed.
Common risks: snipers, bundles, dev dumps, rugs after migration and copycats[4][10][2]
Pump.fun gives everyone the same curve rules, but not the same odds. The first blocks after a token is created belong to whoever buys fastest: the creator, who can buy in the very transaction that creates the token, and bots known as snipers. On Solana several transactions can also be sent as a Jito bundle: up to 5 transactions executed in order and atomically, all or nothing. That way several wallets owned by one person can buy at the same moment, and the supply looks spread out.
Burning the LP from migration means the canonical pool cannot be withdrawn in the classic way. It does not protect you from a dev dump or from large holders selling: whoever holds many tokens can sell them into the pool at any time, including right after migration, when a new wave of buyers arrives. Such a rug pull after migration looks on the chart like a sharp drop on rising volume.
A token's name and symbol are free text typed in at creation. Nothing stops a second token with the same ticker, so a popular token usually attracts copycats. The only identifier is the full mint address.
- Sniper: a bot that buys in the first blocks after a token is created, to sell to later buyers
- Bundle: several transactions executed together in a fixed order, often from many wallets of one person
- Dev dump: the creator sells the tokens bought at launch
- Rug after migration: large holders sell into the fresh PumpSwap pool, even though the LP is burned
- Copycat ticker: another token with the same name or symbol and a different mint address
How to check a pump.fun token before buying[8][9]
Start with the address. Copy the full mint address from the project's official channel, not from a comment or screenshot, and compare it character by character. Our guides on checking a token address and on copycat tickers go into detail.
Then the authorities. A mint authority can print new tokens, and a freeze authority can freeze a token account. According to the Solana documentation, a frozen account cannot receive, transfer or burn tokens until it is thawed. An authority set to None is removed permanently. On a pump.fun token, check the actual state of both authorities instead of assuming the launchpad handled it for you.
Finally, the supply and the first minutes. Check who bought in the first blocks, how much the creator holds and whether the largest wallets are linked. The bonding curve account and the pool vault are often among the largest holders, but they belong to no one person, so do not mistake them for a whale.
- The full mint address matches the project's official channel
- You know whether the token is still on the bonding curve or already in a PumpSwap pool, and which pool the data refers to
- Mint authority and freeze authority are revoked, or you have an explanation for why not
- The creator and the first buyers do not hold a large share of the supply
- You understand the fee at the current market cap and the cost of getting out
- You checked the red flags: an anonymous team with no track record, time pressure, promises of profit
How to view a pump.fun token on MEMECOINY
Paste the full mint address into MEMECOINY search. The results lead to the token page, whose header shows the chain and market source, with tiles for market cap, liquidity, 24h volume, transaction count and pair age. Under “Key information” you see the DEX and pair the data comes from. Check them before comparing the numbers with what you see on pump.fun or in an explorer.
Below the chart are the “Chart”, “Social”, “Holders” and “Risk report” tabs. For Solana the report has the “Mint authority”, “Freeze authority”, “Token-2022 extensions”, “Holder concentration” and “Liquidity lock (LP)” rows. The LP row is about an AMM pool, so it only means something after migration. Our separate guide to the risk report explains every row.
Fresh tokens appear on the “New launches” page. The “Chain / DEX” column shows the DEX or launchpad identifier reported by the data provider, and a row is flagged when it uses a famous ticker such as PUMP, BONK or WIF, or when the same ticker has more than one contract among the fresh pools.
The token page also has a terminal. Trading there is a closed beta for invited testers, and every swap carries a 0.75% MEMECOINY fee, shown before you sign. You pay the pump.fun fees described above whichever interface you trade through. The “Paper trade” button lets you rehearse a trade on a virtual portfolio, with no real funds.
A worked example on a hypothetical token
The numbers below are hypothetical. They show how to compute pump.fun fees, not how any real token will behave. We leave out price impact, slippage and network fees.
You buy TOKEN on the bonding curve for 1 SOL. The 1.25% fee is 0.0125 SOL: 0.003 SOL to the creator and 0.0095 SOL to the protocol. The curve completes, TOKEN migrates, and the 0.015 SOL migration fee is deducted from the curve, not from your wallet. Later you sell TOKEN in the canonical PumpSwap pool for 1 SOL while market cap is 3,000 SOL. That is the 2,460 to 3,440 SOL tier with a 1.10% fee, or 0.011 SOL: 0.0085 SOL to the creator, 0.0005 SOL to the protocol and 0.002 SOL to LPs. Getting in and out costs 0.0235 SOL in total, 2.35% of the 1 SOL, and the creator received 0.0115 SOL of it, whether or not you made money on TOKEN.
Sources
Primary material used to verify the information. A number beside a section points to the related source. A link is not an endorsement of the asset discussed.
- 01pump.fun: Fees
- 02pump.fun (GitHub, pump-public-docs): Pump Program, bonding curve i migracja [pump.fun (GitHub, pump-public-docs): Pump Program, bonding curve and migration]
- 03pump.fun (GitHub, pump-public-docs): PumpSwap
- 04pump.fun (GitHub, pump-public-docs): Coin creation (create_v2)
- 05pump.fun (GitHub, pump-public-docs): Collect creator fee
- 06pump.fun (GitHub, pump-public-docs): Creator fee sharing
- 07pump.fun (GitHub, pump-public-docs): Pump fee program, opłaty zależne od kapitalizacji [pump.fun (GitHub, pump-public-docs): Pump fee program, market-cap-based fees]
- 08Solana: Set authority
- 09Solana: Freeze account
- 10Jito: Low latency transaction send (bundles)
Spotted an error or something out of date? Write to kontakt@memecoiny.pl. How corrections work
