Account Inspection / General Dev Education
How to Inspect Any Solana Wallet or Token Account (No Code Required)
What you can actually learn from a wallet or token account address alone, how to tell what kind of account you're looking at, and reading the fields that matter without running a script.
Any Solana address — a wallet, a mint, a token account, a program — can be read by anyone, in full, with nothing more than the address itself. No API key, no code, no special access. Here's what's actually there to find, and how to make sense of it.
Every address is one of a small number of account types
Before reading fields, the first thing to establish is what kind of account you're looking at, since a raw 32-byte address gives no hint on its own:
- A wallet — a regular keypair-controlled address, holding SOL and, indirectly, references to whatever token accounts belong to it.
- A mint — the account representing a token itself: supply, decimals, authorities. Not the same as any individual holder's balance.
- A token account — one specific holder's balance of one specific mint. A wallet has a separate token account for every different token it holds.
- A program — executable code, not a data-holding account in the usual sense; its "owner" field points to the loader that deployed it.
- A PDA (program-derived address) — an address deliberately generated to have no private key, used by programs to own accounts programmatically. Covered in depth in Understanding Solana PDAs.
The account's owner field (which program controls it) and its data layout are what determine which of these it is — a wallet, for instance, is owned by the System Program and holds no custom data at all beyond its SOL balance.
What a wallet address tells you
Its SOL balance, and — indirectly — how many token accounts exist under it, though a plain wallet lookup doesn't automatically show you every token it holds without a broader query across accounts owned by that address. A wallet with a nonzero balance and no transaction history is often a freshly generated address that's never been used; one with extensive history going back years reads very differently as a counterparty.
What a mint address tells you
Supply — the total current amount in existence, in the token's base units. Decimals — how many of those base units make up "1" displayed token. Mint authority and freeze authority — whether either is live or revoked (None), the single most load-bearing trust signal a mint carries; see revoking mint and freeze authority for why. If the mint has on-chain metadata (Metaplex or Token-2022's on-mint format), name, symbol, and logo URI are readable too.
What a token account tells you
Which mint it's for, who the owner (the wallet it belongs to) is, and the current balance — plus whether it's currently frozen, if the mint's freeze authority has used that power on this specific account.
What a program address tells you
Whether it's executable, and which loader deployed it (relevant for upgradeable programs — see the next section on PDAs and program state for how upgrade authority works). A program account itself typically doesn't hold much readable state directly; the interesting data usually lives in separate accounts the program owns and manages, often PDAs derived from the program's own address.
Why "empty" doesn't always mean invalid
A syntactically valid address with no account found on the current cluster is simply unused — it might be freshly generated, or it might exist on a different cluster (devnet vs. mainnet is the single most common cause of a "not found" result — always check which network you're actually looking at before assuming an address is wrong).
Account Inspector classifies any address automatically and shows the relevant fields for whatever kind of account it turns out to be — no need to know in advance whether you're looking at a wallet, mint, or program. Full details in the Account Inspector docs.