Concentration
Is a wallet 90% one memecoin or spread across majors? The rose window makes over-concentration obvious at once.
Read-only · keyless · no wallet connect
Paste a public Solana address and Walletglass refracts it into its parts: SOL and every token valued in US dollars, an allocation rose window, and honest flags for frozen, unpriced and thin-liquidity holdings.
I · The window
Everything below is fetched live from Jupiter in your browser. Nothing is stored, nothing is signed.
Wallet
| Token | Amount | Price | Value | Share | Flags |
|---|
II · How it works
A public key is checked in your browser: base58 characters only, 32–44 long. It goes in the page hash so you can bookmark it — never in a query string.
Jupiter’s holdings endpoint returns the native SOL balance and every token account the wallet owns, including empty ones and their rent.
Non-zero mints are looked up in batches of 100 for name, icon, verification, liquidity and a USD price. Unknown mints stay labelled as unknown.
Values are summed and leaded into a rose window: each pane is a share of priced value, with flags for anything you should look at twice.
III · What you can learn
Is a wallet 90% one memecoin or spread across majors? The rose window makes over-concentration obvious at once.
Hundreds of unpriced, unverified mints usually mean unsolicited airdrops. Don’t interact with them — just know they’re there.
Empty token accounts quietly hold ~0.002 SOL each. See how much is locked before you tidy up from your own wallet.
A $50k “value” in a token with $3k of liquidity is not $50k you can sell. Thin-liquidity flags call this out.
Some issuers can freeze token accounts. A frozen flag means that balance cannot move until the issuer thaws it.
Look at a treasury, a project’s publicly stated wallet or your own cold wallet without connecting anything.
IV · Field guide
On Solana a “wallet” is a public key whose system account holds native SOL, measured in lamports (1 SOL = 1,000,000,000 lamports). Tokens do not sit inside that account. Each token you hold lives in a separate token account that records three things: which mint it belongs to, who owns it, and how many base units it holds. The wallet address is simply the owner written into those accounts.
To keep things predictable, wallets normally use the associated token account (ATA): an address derived deterministically from the owner, the token program and the mint. Anyone can compute it, which is why someone can send you a token you never asked for — they create your ATA and pay its rent. A wallet can also own extra, non-associated token accounts; Walletglass shows the count of both.
Because creating an ATA for someone else is cheap and permissionless, scammers airdrop worthless mints to thousands of wallets, often with names that look like a reward or a link. They rarely have liquidity or a verified listing, so here they show as unpriced or unverified. The safe move is to ignore them: interacting with a lure token’s website is how drainers get signatures.
Every account must hold enough lamports to be rent-exempt. A classic SPL token account is 165 bytes and needs about 0.00204 SOL; Token-2022 accounts with extensions can need more. When you sell a token to zero the account usually stays open with its deposit. Closing it with your own wallet returns that SOL.
Solana has two token programs. The original SPL Token program and Token-2022, which adds optional extensions such as transfer fees, transfer hooks, interest-bearing balances, metadata pointers and non-transferable tokens. A Token-2022 badge is not a warning on its own, but extensions can change what happens when you move a token, so it is worth checking the mint. Separately, any mint that kept a freeze authority can freeze individual token accounts. Regulated stablecoins use this for compliance; a random memecoin keeping it is a red flag.
There is no single on-chain “price” for a token. Aggregators such as Jupiter derive a USD price from recent swaps and pool reserves across many DEXes, and report the pooled liquidity behind it. A price backed by millions in liquidity is robust; a price backed by a few hundred dollars can be set by a single trade.
Value here is amount × current price. That is a mark, not a quote. Selling a large position pushes the price down as you walk through the pool (price impact), fees apply, and some tokens carry transfer taxes or cannot be sold at all. When a position is larger than a meaningful fraction of the token’s liquidity, Walletglass flags it as thin; treat that number as optimistic.
| Flag | Meaning |
|---|---|
| Verified | Listed as verified by Jupiter’s token list |
| T-2022 | Owned by the Token-2022 program |
| Frozen | This token account is frozen by the mint’s freeze authority |
| Unpriced | No USD price was found — value counted as $0 |
| Thin | Liquidity under $10k, or position > 10% of liquidity |
V · Questions
Yes. A wallet address is public information already visible on every block explorer. Walletglass never asks you to connect a wallet, sign anything, or reveal a private key or seed phrase. If any site asks for those to “view” a wallet, leave.
Tokens without a Jupiter price are counted as $0, and very large wallets are only valued for the first 400 non-zero mints. Your wallet app may also use a different price source or include staked SOL, which lives in separate stake accounts that this view does not read.
Jupiter returned no USD price for that mint, usually because it has no tradable pool. Most unpriced tokens in large wallets are unsolicited airdrops. You can open a lookup on DexScreener from the row to double-check.
No. Walletglass is strictly read-only and sends no transactions. Most wallet apps offer a way to close empty token accounts and return the rent to you; do it there, and only for tokens you recognise.
Only what appears as a native SOL balance or a token account is shown. Native stake accounts, LP positions held inside protocols, and compressed NFTs are not included. Standard NFTs may appear as unpriced tokens with an amount of 1.
Each lookup fetches fresh data; nothing is cached on a server because there is no server. Press Illuminate again to refresh. Requests are kept small to stay polite to the free public APIs.
Verification reflects Jupiter’s list at the time of the request. New or niche tokens can be legitimate yet unverified, and impostors can copy a famous name. Always compare the mint address, not just the symbol.