How to find gem tokens on Solana — a practical guide
7 min read
A "gem" in the pump.fun context means a token that reaches Raydium graduation — the moment the bonding curve fills to 100% and real liquidity is created. Graduation is where early buyers get a proper exit and where tokens sometimes run much further. The problem: only about 1–2% of pump.fun launches ever graduate. You are looking for signal in noise.
This guide is a practical framework, not a formula. No checklist predicts gems with certainty. The goal is to efficiently eliminate the worst bets and give yourself better odds on the remaining ones.
Step 1: Apply the negative filter first
Before looking for positive signals, eliminate obvious losses. The negative filter is fast and cheap.
Exit immediately on:
- Extreme or High deployer rug risk — especially if a rug factory funder is detected
- Bundled launch with sniper count ≥5 (team controls too much early supply)
- Top-10 holder concentration above 60% at launch
These aren't signals to weigh against other factors — they're exits. A rug factory funder doesn't get offset by smart money entry. Move on.
Step 2: Look for positive signals
Once a token clears the negative filter, check for signals that raise the probability of graduation:
- Clean deployer with track record — a deployer who has launched 5+ tokens with zero or one rug, especially if any past tokens graduated. This is the strongest positive signal.
- Smart money wallet in early holders — a wallet Soliscope has identified as consistently finding winners early. Not definitive, but raises the prior.
- Low holder concentration — top 10 wallets hold less than 15% of supply. Organic distribution means fewer concentrated exit points.
- Rising bonding curve momentum — the bonding curve progress percentage is climbing. A token at 40% and gaining fast has real buying pressure behind it.
The best bets combine several positive signals. A clean deployer with smart money entry and low concentration is a genuinely interesting setup. One positive signal alone is not enough.
The bonding curve as momentum signal
Bonding curve progress is the most real-time signal available. Because price is set by SOL deposited, a rising progress percentage means real money is entering the token right now — not just early sniper accumulation.
What to look for:
- Progress above 20% within the first hour — genuine early momentum
- Steady climb (not a spike-and-stall from a single large buy)
- Progress above 50% with low concentration — the token is absorbing organic buyers and distributing supply
A token stalled at 5% for two hours has lost momentum. The buyers who entered early are waiting for new demand that isn't arriving. Stalled curves rarely recover.
Position sizing for a 1–2% base rate
If only 1–2% of launches graduate, you should expect to be wrong most of the time. That is not a failure of your analysis — it is the nature of the base rate. Position sizing has to reflect this.
A practical approach:
- Size each position small enough that you can be wrong 10 times in a row without material damage
- Accept that most positions go to zero or near-zero — you're looking for asymmetric returns from the minority that work
- Don't add to losing positions hoping for a recovery — stalled bonding curves almost never reverse
- Take partial profits when a token is gaining fast — don't wait for graduation if you have a meaningful gain
The math works if the winners return 5–20× and the losers return 0. It doesn't work if you size large on every trade expecting each one to work.
Putting it together
The practical workflow on Soliscope:
- Open the feed sorted by most recent launches
- Skip any token with Extreme or High risk immediately
- For Medium or Low risk tokens, check deployer history — look for clean track record
- Check for smart money or insider signals in the holders section
- Check concentration — exit if top 10 above 50%
- Check bonding curve progress and whether it's climbing
- If multiple positives line up: small position, watch the curve
This loop takes under a minute per token once you're familiar with the signals. The goal isn't to catch every gem — it's to avoid the obvious losses and be present for the ones that run.
Apply this framework live → Open the Soliscope feed