How XTrack works
XTrack answers one question: who is behind this launch, and what else have they done? Paste an X username and you get every pump.fun, stonkfun and launchlab token whose metadata points at that account β across every dev wallet it has ever used. This page explains where that comes from, what each number means, and where the edges are.
Quick start
Paste something
An X username (elonmusk), an @handle, a full
x.com/β¦ link, or a dev wallet address. All four work in the
same box. Press / anywhere to jump to it.
Read the table
Every launch tied to that account, newest first. Click any column header to sort. Use the filters in the left rail to narrow it down.
Follow the thread
Click a dev address in any row β or any wallet in the Dev wallets roll-up β to open that wallet's own full history. Browser Back returns.
Switch to charts
charts in the toolbar turns the table into one candle chart per launch. Wheel zooms time, shift-wheel zooms price, drag pans, double-click resets.
Every page is a real URL β /x/elonmusk,
/d/<wallet>. Link them, refresh them, bookmark them.
The core idea
When a token is created its metadata carries a link to the project's X account. That one field is the join. XTrack indexes it, so instead of looking at a launch in isolation you can ask what else the same account has put out.
This matters because an X account is not a wallet. A serial launcher rotates dev wallets constantly β a fresh wallet per token is normal β so following one wallet tells you almost nothing. The X account is the durable identity; the wallets are disposable. XTrack rolls every wallet that has ever launched under an account into one view, which is how a pattern becomes visible.
It works in both directions. Open a dev wallet and each of its launches shows the X account it was published under, so you can jump from a wallet you are watching back to the account behind it, and from there to every other wallet it uses.
Reading a target page
A target page has three regions.
The header
Identity, and a readout of the account at a glance: total launches, how many distinct dev wallets, how many migrated, the best ATH any launch reached, and the counts per launchpad. Track adds it to your watchlist; the β button opens a rename-and-notes drawer.
The rail
- Dev wallets β every wallet that has launched under this account, newest activity first, with its own launch count, migration count, median multiple and best ATH. Click one to open it.
- Stats β totals and the average / median multiple across the account.
- Optimal entry β see below.
- Token filters β narrow the table by ATH, multiple, dev buy size, launch hour (UTC), or age. The presets US / EU / Asia set the hour window in one click.
The table
One row per launch. The rail sticks as you scroll, and so do the column headers, so you always know which column you are reading a thousand rows down.
What every number means
This is the part worth reading carefully β two of these are easy to misread.
| Column | What it is |
|---|---|
| Time | When the token was created, UTC. |
| Token | Its symbol. A tag appears for launches that are not pump.fun, carrying the quote token when the curve is not priced in SOL. |
| Dev | The wallet that created it. Click to open that wallet's history. |
| Dev buy | How much the creator bought of their own launch, at creation. A big dev buy means the creator holds a large share from block zero. |
| ATH | The highest market cap the token ever reached, in USD. |
| X | ATH Γ· snipe MC. What a buy at the snipe price would have been worth at the peak. It is not a return you could have taken β it assumes a perfect exit at the exact top. Treat it as ceiling, not outcome. |
| Snipe MC | The market cap at the reference entry β the price a fast buyer would realistically have got in at. It is the denominator of X, which is why a token can have a huge ATH and an unremarkable multiple: it opened high. |
| Migr | Whether the token completed its bonding curve and migrated to a DEX. The honest success marker: most launches never get here. |
| Rug | Whether the launch was flagged as a rug. |
The Min ATH re-base
Type a value into Min ATH and two things happen: rows below it disappear,
and every X is recalculated as ATH Γ· your value. So setting it
to 10000 answers "what if I had only ever entered at $10K?". The
toolbar shows a banner while this is active so you never misread a re-based number
as the original. Nothing is written anywhere β clear the field and the stored
multiples come back.
One guard: an entry cheaper than the recorded fill is not a real entry, so the calculation floors your value at the snipe MC of each token.
Optimal entry
The rail's Optimal entry block asks a specific question: across this account's launches, which single entry price would have produced the best typical outcome?
- Take the launches in scope (last 30 launches, 1D, 7D, 30D or all) and drop the rugs.
- For every threshold from $5K to $20K in $1K steps, keep the launches that ever reached it β those are the ones you would actually have been filled on.
- For each, compute
ATH Γ· max(threshold, snipe MC)and take the median. - Rank by that median. Ties go to the cheaper entry, because it is the easier fill.
The card shows the winning threshold, its median multiple, how many of the filled launches did at least 2Γ, and how many launches were analysed. Open all thresholds to see the whole curve β that shape tells you more than the winner does. Click any threshold to apply it as Min ATH and re-base the table around it.
Why median, not average
One launch that did 400Γ would drag an average somewhere no strategy could reach. The median asks what a typical launch did, which is the number a repeated strategy actually lives on.
The charts
The charts view draws one candle chart per launch. Two things about how they are built are worth knowing, because they make the charts read differently from everywhere else.
One candle per traded slot
Candles are not spaced by clock time β they are spaced by slot, and a slot with no trade in it produces no candle at all. A token that traded in 462 slots spread over a 14,000-slot span draws as 462 candles rather than as 3% activity and 97% flat line. You see the shape of what happened instead of the shape of the gaps.
What is drawn on them
- Green line β the snipe market cap, the reference entry.
- Gold line β the ATH, labelled with the multiple between the two.
- Dots β the dev's own buys and sells, on the slot they landed in. Watching where a creator sold against their own chart is usually the fastest read on an account.
Wheel zooms time Β· shift-wheel zooms price Β· drag pans Β· shift-click measures Β· double-click returns to autoscale.
Three launchpads, one feed
pump.fun, stonkfun and launchlab are one ecosystem, so XTrack treats them as one list. There is no venue filter and no grouping: launches are interleaved by time, and sorting any column reorders all of them together. The only difference is a small tag on rows that are not pump.fun.
stonkfun is a front end on Raydium LaunchLab, not a launchpad of its own, so it is detected first β otherwise every stonkfun launch would read as plain launchlab.
Launchlab curves can be quoted in something other than SOL β USDC, PUMP, xStocks like NVDAx or SPYx. When that is the case the tag carries the quote token, because every figure on that row is denominated in it.
Why older history is all pump.fun
The launchpad field has only been recorded since β. Everything before that is pump.fun β not "unknown" β because nothing else was being tracked yet. So the further back you scroll on any account, the more of the list is pump.fun. That is a property of the record, not of the account.
Coverage & limits
Stated plainly, because knowing where the data stops is part of using it.
| What | How far it goes |
|---|---|
| Launches, ATHs, multiples, dev buys, migrations, rugs |
Full history β over a million tokens across roughly 44,000 X accounts. |
| Candle charts | The individual trades behind them are kept on a rolling window, currently reaching back to β. Charts older than that are empty and say so β the card reads "no trades kept before <date>" rather than looking broken. |
| Launchpad tags | Recorded since β; earlier launches are pump.fun. |
| Very large accounts | A page loads the newest 2,000 launches. The header always shows the real total beside it, so you know when you are looking at a slice. |
A card that says "no bars" is different from one that says "no trades kept beforeβ¦". "No bars" means the launch is inside the window but no priced trades were recorded for it β usually a token that never really traded at all.
Your watchlist
Track pins an account or wallet to the front page. The β drawer lets you give it a name and keep notes on it.
All of that is stored in your browser and nowhere else. It is never sent to the server, nobody else can see it, and nobody else can change it. That is a deliberate trade: XTrack has no accounts and no logins, so a shared watchlist would mean the first visitor to rename an account renames it for everyone.
The cost is that it does not follow you between browsers or devices β which is why Export and Import sit next to it on the front page. Your watchlist is a small JSON file you own. Import merges rather than replaces, so pulling a file onto a device that already has entries will not wipe them.
Privacy & read-only
XTrack cannot write
The database account it uses holds read permission and nothing else. Nothing you do here can alter any record β not by design convention, but because the database itself refuses.
No accounts, no tracking
There is nothing to sign up for. Your watchlist and your rows/charts preference live in your own browser storage.
Nothing here is advice
Every number is a description of what already happened. Past launches are not a forecast, and X in particular is a ceiling that assumed a perfect exit.
FAQ
Why does an account show launches that clearly are not theirs?
Because the link is the X account in the token's metadata, and anyone can
put any account in there. Impersonation is common β a launch pointing at
@solana is usually not from Solana. That is a feature of the view, not a
bug: it shows you everything trading on a name, which is exactly what you want to see.
The Dev wallets roll-up is how you separate a genuine account's own wallets from
the crowd riding its name.
An account has a huge ATH but a 1.00Γ multiple. How?
Its ATH was at or near its opening price β the token never went up from where a buyer would have got in. Big ATH plus low multiple means it launched expensive.
Why is a chart empty when the row has an ATH?
The ATH comes from the launch record, which is kept forever. The candles come from individual trades, which are kept on a rolling window. If the launch predates the window, the chart says so explicitly. See Coverage.
Are the multiples returns I could have made?
No. X is ATH Γ· entry β it assumes selling at the exact peak. Nobody does that. It is useful for comparing launches against each other, not for estimating a result.
Why is the same token listed twice?
Different mints can share a symbol β symbols are not unique and copycats reuse them constantly. Check the dev wallet and the mint: they are the identity.
Can I get an account added to the front page?
The two curated groups are hand-picked. Ask @TekDevPF.
What do the numbers update from?
A live index of on-chain bonding-curve activity. Pages are cached briefly, so a launch from seconds ago may take a moment to appear.
Questions, corrections or an account worth adding β @TekDevPF.