Your token price is not updating
A frozen price with live trades underneath it is almost always a reading problem rather than a market one. Five specific causes account for nearly all of it, and each leaves a different trace that takes under a minute to check.
You may be watching a pair that stopped trading
This is the first thing to rule out and it explains the majority of reports, because it happens automatically without anybody doing anything wrong.
Screeners index pools. A price on a pair page updates when a trade happens in that specific pool and at no other time. If activity has moved to a different pool for the same token, the page you are watching will keep showing its last recorded price forever, perfectly accurately and completely uselessly.
The most common way this happens is migration. A launchpad token trades on a bonding curve, graduates, and liquidity is seeded into a standard pool at a new address. The curve pair goes quiet at that exact moment. Anyone with the old page bookmarked, including the team, sees a frozen price and a flat chart while the token is trading normally somewhere else. The post-graduation guide covers the full set of things that reset at that handover.
The quote asset problem
A pool trades a pair, not a token. Your token is quoted against something, and what it is quoted against determines whether the displayed price means anything.
Pools quoted against SOL or a major stablecoin are straightforward, because the indexer knows what those are worth and can convert reliably. A pool quoted against an obscure token is a different situation: the pair trades and records normally, but converting that into a dollar or SOL figure requires pricing the other side too, and if that pricing is poor or stale then so is everything derived from it.
The symptom is a price that looks wrong rather than frozen, sometimes wildly so, while the trade history underneath looks completely normal. Checking which asset your pool is quoted against takes a few seconds and resolves it immediately.
Nothing is actually trading
Worth stating plainly because it is easy to skip past when you are convinced there is a display bug.
A price updates on trades. If the last trade was four hours ago, a four-hour-old price is the correct thing to show. Before assuming the data is broken, look at the trade list rather than the chart: if it is empty for the period in question, the display is working and the market is not.
There is a variant of this that catches teams mid-campaign. If a campaign is running and confirming swaps, but the price has not moved, that is usually not a data problem either. Balanced buying and selling produces volume without net pressure, so the bars grow and the line stays flat. That is what two-sided activity looks like, and the price line is the least informative element on the page for exactly this reason.
The pool exists but is not indexed
Every screener supports a specific set of programs. Solana has many more swap programs than any of them decode, and newer or smaller venues can be invisible for a long time.
If your liquidity sits on an unindexed venue, trades happen, real money moves, and the screener shows nothing at all: no volume, no price movement, no trade history. It is not stale data, it is absent data.
The check is to open a successful trade in an explorer and read which program executed the swap. That tells you exactly where your liquidity lives, and whether it is somewhere the tools you are watching can see. This is the same root cause behind the more general missing volume problem, and it is worth ruling out before concluding anything about market conditions.
The reverse case is worth a line too. If the price is moving sharply in both directions on very little volume, that is not a data problem either; it is a depth problem showing up as one. A pool with almost nothing in it gets moved a long way by any trade, so the price jumps between distant values and the chart develops steps. Nothing about the display is wrong, and no screener setting improves it. The fix is depth, and until there is some, every visitor arriving will see the same jagged picture.
Token page versus pair page
These answer different questions and mixing them up produces contradictory readings that look like bugs.
A pair page describes one pool: its price, its volume, its history. A token page aggregates across every pool the indexer has found for that mint, applying its own rules about which ones count and how to weight them. A token trading in three pools has one token-level price and three pair-level prices, and none of them has to agree at any given moment.
For diagnosing a frozen price, the token page is the right starting point because it tells you how many pairs exist and which one is carrying activity. For understanding what is happening in a specific market, the pair page is the right tool. Using the wrong one is behind a good share of the confusion in this category.
One more variant belongs here because it produces a genuinely stale reading rather than a correct one. Some interfaces cache aggressively, and a page left open in a tab for hours can display data from when it loaded rather than from now. Before investigating anything on-chain, reload the page properly and check the timestamp on the most recent trade rather than trusting the chart. It is an embarrassing amount of the time, and it costs nothing to rule out first.
A one-minute check
- Open the token-level page for the mint and count the pairs listed.
- Find which pair carries the recent volume. That is the live market; anything else is history.
- Look at the trade list, not the chart. If it is empty, nothing is wrong with the display.
- Check what the pool is quoted against. An obscure quote asset explains odd numbers.
- Open one successful trade in an explorer and read the program. That tells you whether the venue is indexed at all.
- Update every link you control once you know which pair is live, because pinned posts pointing at a dead pair send visitors to a frozen chart.
That last step is the one with a long tail of damage. A dead pair link does not break loudly; it loads, shows a flat line, and quietly persuades everyone who follows it that the token is finished. If you want to see which pools currently hold liquidity for your mint without doing the explorer work by hand, the campaign console reads them live.
Frequently asked questions
01Why does my token price show as unchanged for hours?
Most often because the pair being viewed has stopped receiving trades while activity moved elsewhere, which happens automatically after a launchpad migration. A price only updates when a trade occurs in that specific pool, so a dead pair displays its last price indefinitely.
02Can a price be wrong rather than stale?
Yes, and this happens when a pool is quoted against an asset the indexer cannot price reliably. The pair still trades and still records, but the converted figure shown to you can be far from what the token is actually worth against SOL or a stablecoin.
03Does low liquidity cause price display problems?
It causes erratic prices rather than frozen ones. A pool with almost nothing in it moves a long way on any trade, so the displayed price jumps between distant values. That is a depth problem showing up as a data problem, and no screener setting fixes it.
04How do I know which pair I should be watching?
Open the token-level page for the mint rather than a bookmarked pair page, and look at how many pairs are listed and which one carries the volume. After a migration the pair carrying activity is a different address from the one before it.
05Why does the price differ between two sites?
Because they may be reading different pools, using different quote assets, or applying different rules about which pairs count toward a token-level figure. None of them is necessarily wrong; they are answering slightly different questions about the same mint.
06My campaign is running but the price has not moved. Is that normal?
Yes, if the flow is balanced. Buying and selling in roughly equal measure produces volume without net pressure, so the volume bars grow while the price line stays flat. That is the expected outcome of two-sided activity rather than a fault.
Keep reading
Find out which pools are actually live
Paste a mint and the console lists every venue holding liquidity for it, which is where the price is coming from.
Open the volume console