method
01
the four numbers
Displayed value = quantity × spot price. The spot price is Jupiter Price API v3 usdPrice, the source most Solana wallets use. Tokens Jupiter cannot price are excluded on both sides and counted.
Real exit = the aggregator's quote for selling 100 % of the balance to SOL, converted at the same SOL price, plus the rent held by the token account (returned when the account closes), minus an estimated network fee of 0.0003 SOL. Token-2022 transfer fees are already inside the aggregator's output and are only flagged.
Gap = 1 − real exit / displayed value, per position and for the wallet.
Not sellable = the aggregator returns NO_ROUTES_FOUND or TOKEN_NOT_TRADABLE for the full amount. Because a missing route for 100 % sometimes hides a route for a fraction, we then try 50 %, 10 % and 1 %. If one works, the position is "partially sellable" and its real exit stays at 0 in the total, which is the conservative reading.
02
sources
- Positions: Solana JSON-RPC
getTokenAccountsByOwneron the Token and Token-2022 programs. Account lamports give the rent. - Prices:
lite-api.jup.ag/price/v3. - Quotes:
api.jup.ag/swap/v1/quoteandlite-api.jup.ag/swap/v1/quote,swapMode=ExactIn. - Transfer fees:
getMultipleAccountson Token-2022 mints, extensiontransferFeeConfig.
03
freshness
Pools move every block. Every number carries the time it was quoted. After 30 seconds it is struck through and marked stale; recompute before deciding anything. Positions under $1 are counted in bulk and not quoted.
04
what we measured before building this
On 500 real wallets active on pump.fun and PumpSwap (2026-10-02), the median wallet-level gap was 0.56 %. Wallets do not lie by half; they lie by a few positions. 12.8 % of positions over $1 could not be sold in one shot, 18.8 % of wallets held at least one, and the median such position was worth $4.36 on paper. On the median position, the rent in the account (~0.002 SOL) exceeds the price impact of selling it.
A selling ladder ("sell in 20 slices over a day") was planned and is not offered: only 26 of 2 952 sellable positions had a price impact above 25 %, and simulating it honestly requires pool-level maths we chose not to ship unverified. The full measurement, its biases and its raw data are published in VERIFICATION.md and data/g4/ in the repository.
05
reproduce any number
From the repository root, with Node 24 and no API key:
node scripts/scan-wallet.mjs <address>
It performs exactly the calls above and prints the same table. If its figure disagrees with this page by more than the drift of a few blocks, this page is wrong.
06
what this site will not do
It holds no funds, asks for no signature, and has no key that could move a token. It shows no trending tokens, no signals and no buy button. It does not tell you what to buy. It tells you what you have.
