What is a pump.fun graduation, and why does it matter?
A pump.fun graduation is the moment a token fills its bonding curve and migrates to a live PumpSwap pool. Classic graduations seed roughly 85 SOL of liquidity; Mayhem-mode ones can seed single digits.
A pump.fun graduation is the moment a token fills its bonding curve and migrates into a live PumpSwap pool. It ends the launch phase and opens real market trading. Classic graduations seed roughly 85 SOL of liquidity; Mayhem-mode graduations can seed single digits, which is why the amount matters as much as the event.
What is a pump.fun graduation?
Every pump.fun token launches onto a bonding curve: a formula that sets price purely as a function of how much of the supply has been bought. There is no order book and no counterparty. Buying pushes the price up the curve, selling slides it back down, and the curve itself holds the SOL.
That arrangement is deliberately temporary. The curve exists to bootstrap a token from zero without anyone having to seed a pool. Once enough of the supply has been bought - once the curve fills - the token has accumulated enough SOL to stand on its own, and pump.fun migrates it.
That migration is the graduation. The accumulated SOL and the remaining token supply are deposited into a PumpSwap liquidity pool, and the token starts trading on an automated market maker like any other Solana asset.
So graduation is not a price target being hit, and not a listing being granted by anyone. It is a mechanical consequence of the curve completing.
What actually happens at the moment of graduation?
Three things, effectively at once:
- The bonding curve retires. It is complete; no further curve trading occurs.
- A PumpSwap pool is created and seeded with the SOL the curve accumulated plus the token side of the pair.
- Price discovery changes hands. Price stops being a curve formula and starts being whatever the pool's ratio says, moved by real two-sided flow.
The clearest way to see it is to put the two bookends of a token's life side by side - the event when it was created, and the event when it graduated:
created - the token joins the curve
Emitted at launch. There is no pool yet, no liquidity, and no market price - only a curve.
{
"type": "created",
"source": "pump_fun",
"mint": "2ajrYELtYtvtJd8fQAGXpfQbgXXZe3YjPtNJ9K3bpump",
"name": "Pepe",
"symbol": "PEPE",
"creator": "7BvK3nF2HxR8mP5qW9tL4sY6jC1dA8eU3gN2fM5A1zXY",
"mayhemMode": false,
"slot": 309812345,
"timestamp": 1751004768000
}graduated - the token gets a market
Emitted 75 minutes later. Two fields exist here that could not exist before: how deep the pool is, and how long the curve took to fill.
{
"type": "graduated",
"source": "pump_fun",
"mint": "2ajrYELtYtvtJd8fQAGXpfQbgXXZe3YjPtNJ9K3bpump",
"name": "Pepe",
"symbol": "PEPE",
"creator": "7BvK3nF2HxR8mP5qW9tL4sY6jC1dA8eU3gN2fM5A1zXY",
"mayhemMode": false,
"liquiditySol": 85.005,
"timeToGraduateSeconds": 4523,
"slot": 309845102,
"timestamp": 1751009291000
}Note what is not in between: there is no per-tick curve-progress feed. A token is on the curve, and then it is graduated. The transition is the event.
Why does graduation matter?
Because it is the cheapest high-quality filter in the ecosystem.
Anyone can create a pump.fun token in seconds for almost nothing, which is exactly why a creation event tells you very little on its own. Graduation is different: it cannot be faked cheaply, because filling a curve requires other people to commit actual SOL. The token has passed a capital-weighted vote.
That makes the moment useful in a few concrete ways:
- It is the first tradable moment on the open market. Before graduation there is no pool to route through. Sniper bots and market makers that want to be early to a PumpSwap pair are, by definition, waiting on this event.
- It is a quality signal for discovery. Filtering a firehose of new launches down to graduations removes the overwhelming majority of noise without any modelling at all.
- It is the anchor for measuring a launchpad. Graduation rate, time-to-graduate, and seeded liquidity are the three metrics that describe whether a launchpad is actually producing viable tokens or just producing tokens.
Catching it late is expensive, which is the practical reason it is usually consumed as a stream rather than a periodic query. If you need the implementation - subscribing, filtering, backfilling after a disconnect - that is covered in how to detect pump.fun graduations the moment they happen. This post is about reading the event, not receiving it.
How many pump.fun tokens actually graduate?
A small fraction - and the exact fraction moves constantly with market conditions, so any hardcoded number in a blog post is wrong within a week. Query it instead:
curl "https://api.anaxer.com/v1/launchpads/stats?windowHours=24" \
-H "Authorization: Bearer YOUR_KEY"{
"windowHours": 24,
"window": { "from": 1750922469000, "to": 1751008869000 },
"sources": [
{
"source": "pump_fun",
"creations": 738,
"graduations": 25,
"graduationRate": 0.0339
}
]
}In that particular 24-hour window, 738 launches produced 25 graduations - a rate of about 3.4%. Treat that as one sample, not a constant. The endpoint covers pump_fun, raydium_launchlab, and bonkfun, so the same call also tells you how the launchpads compare to each other on the only metric that matters. See the launchpad stats endpoint for parameters and the full response shape.
The useful reflex here is to stop treating the graduation rate as trivia and start treating it as a market-condition indicator. A rate that halves week-over-week is telling you something about risk appetite across the whole launchpad, not about any individual token.
Are all graduations equal? No - and this is the part that catches people
The word "graduation" implies a uniform standard. It is not one.
A classic pump.fun graduation seeds roughly 85 SOL into the PumpSwap pool. That is a meaningful amount of depth: the pool can absorb ordinary trade sizes without the price moving violently.
Mayhem-mode tokens use a different curve and can graduate with dramatically less - sometimes single-digit SOL. The event looks identical in shape. It says "type": "graduated". But a pool with a few SOL in it behaves nothing like a pool with 85: slippage is severe, the price is trivially pushed around, and an exit can be much harder than the entry.
'Graduated' is a state, not a quality score
If your bot or alert treats every graduated event as equivalent, Mayhem grads will dominate your signal count while being the least tradable tokens in the set. Read liquiditySol and mayhemMode on every event before acting - and note that liquiditySol can be null when the seeded amount is unknown, which you should treat as "unverified", not as "zero".
This is why the two enrichment fields matter more than the event itself:
| Field | What it tells you | How to use it |
|---|---|---|
liquiditySol | How much SOL actually entered the pool | Depth check. A floor here is the single most effective quality filter available |
timeToGraduateSeconds | How long the curve took to fill | Velocity signal. A curve that filled in minutes had very different demand from one that took three days |
mayhemMode | Which curve the token launched on | Context for interpreting the other two - an 8 SOL grad is not an anomaly if it was Mayhem |
Together they turn a binary event into something you can actually rank. "A token graduated" is a notification. "A non-Mayhem token graduated with 90 SOL of liquidity after filling its curve in 11 minutes" is a decision.
What can you build once you can read graduations properly?
- Quality-filtered alerting. Telegram or Discord notifications that fire only above a liquidity floor, instead of firing on everything and training you to ignore them.
- Entry automation. Bots that act at pool creation, where being early is the entire edge.
- Launchpad analytics. Graduation rate and time-to-graduate tracked over time, across pump.fun, LaunchLab, and bonkfun.
- Creator reputation. Graduation events carry
creator, so you can measure which wallets repeatedly ship tokens that actually finish the curve - and which ship hundreds that never do.
Next steps
Now that the concept is clear, the implementation is short: detect graduations in real time walks through the stream, the excludeMayhem and minLiquiditySol filters, and backfilling after a disconnect. To follow a token across its whole life rather than just the finish line, pair it with tracking launches in real time. The pump.fun API covers the full picture - launches, graduations, PumpSwap trades, and prices - and graduations are included on the free plan, so you can measure all of this before spending anything. Grab a key in the console.
Frequently asked questions
How much SOL does a pump.fun token need to graduate?
A classic pump.fun graduation seeds roughly 85 SOL into the PumpSwap pool when the bonding curve completes. Mayhem-mode tokens use a different curve and can graduate with far less - sometimes single-digit SOL. Because the figure varies, every Anaxer graduation event carries the actual liquiditySol for that specific token rather than an assumed constant.
How long does a pump.fun token take to graduate?
There is no fixed duration. A token graduates whenever its bonding curve fills, which can take minutes or days, and most tokens never fill at all. Anaxer attaches timeToGraduateSeconds to every graduation event so you can measure the real distribution instead of guessing at it.
What percentage of pump.fun tokens graduate?
Only a small fraction. The rate moves constantly with market conditions, so rather than quoting a stale number, query GET /v1/launchpads/stats?windowHours=24 - it returns creations, graduations, and graduationRate per launchpad for a live window.
What happens to the bonding curve after a token graduates?
The curve is complete and retires. Liquidity moves into a PumpSwap AMM pool, and from that point the token trades on the open market at a price set by the pool rather than by the curve formula. Buying and selling no longer move along a predetermined curve.
Is every pump.fun graduation worth trading?
No. Graduation proves a curve filled, not that a token is healthy. A thin Mayhem graduation can enter the open market with very little pool depth, which makes the price fragile. Filter on liquiditySol and mayhemMode before treating a graduation as a signal.
Where do pump.fun tokens trade after graduating?
On PumpSwap, the AMM that pump.fun tokens migrate into. Once the pool exists, the token also becomes visible to the wider Solana DEX ecosystem - aggregators, routers, and analytics tools that index PumpSwap pools.
Start streaming Solana data
Anaxer gives you real-time pump.fun and PumpSwap streams and REST APIs on a flat plan. The free tier needs no card.
Written by Anton Gilborn · Senior Platform Engineer, Anaxer
Anton is a senior platform engineer at Anaxer, where he builds the real-time streaming infrastructure behind its Solana data API - token launches, graduations, DEX trades, prices, and transfers. He writes about low-latency streaming architecture and building fast on-chain apps.
Keep reading
How to track pump.fun token launches in real time
Subscribe to the creations stream and get a clean JSON event the instant any pump.fun token is minted - here is the complete guide, from your first connection to production-grade gap recovery.
How to detect pump.fun graduations the moment they happen
A token graduating from pump.fun to PumpSwap is one of the highest-signal events in the ecosystem. Here is how to catch every graduation instantly, with time-to-graduate and pool liquidity attached.
How to build a Solana trading agent with Claude and Cursor (MCP guide)
A trading agent is only as good as its data layer. Here is the full architecture - live Solana data in through MCP, reasoning in Claude or Cursor, execution through a separate signer - and how to stand up the data half in minutes.