{"name":"whats_this","oldName":"inspect_address","title":"What is this address?","category":"reference","useWhen":"Run when unsure what an address is, before sending to it or passing it on. SOL sent to a token or program address can be lost for good.","benefit":{"kind":"money","text":"Tells a normal wallet from a token, program or token account. SOL sent to a token or program address by mistake is stuck."},"description":"Says what any address is (wallet, token account, token, program, stake account and more) with its key facts.","price":"$0.01","priceText":"25 free calls a day, then $0.01 USDC per call (x402)","http":{"method":"POST","path":"/api/tools/whats_this","body":"JSON object with the inputs below"},"mcp":{"method":"tools/call","name":"whats_this"},"inputs":[{"name":"address","type":"string (base58 address)","required":true,"lookingFor":"Any Solana address.","whereToGet":"The address you're about to use."},{"name":"network","type":"\"mainnet-beta\" | \"devnet\"","required":false,"lookingFor":"Default \"mainnet-beta\" (real money).","whereToGet":"\"devnet\" only for test wallets."}],"outputs":[{"field":"exists","type":"boolean","is":"Whether an account with SOL lives at this address. A wallet with no SOL doesn't, though it can still own tokens (see details.token_accounts).","howWorkedOut":"Looked up on chain."},{"field":"kind","type":"string","is":"wallet, pda (a program-derived address: a program controls it, no one can sign for it), token_account, mint (a token), program, program_data, stake_account, vote_account, lookup_table, program_owned_account or not_found.","howWorkedOut":"From the owner program, whether it's a program, and its data."},{"field":"summary","type":"string","is":"What it is, in plain words, and what's safe to do with it.","howWorkedOut":"Fixed text per kind."},{"field":"lamports / sol","type":"string","is":"SOL held by the account, in lamports and in SOL.","howWorkedOut":"The account's lamports; sol = lamports / 10^9."},{"field":"owner_program","type":"string | null","is":"The program that owns the account.","howWorkedOut":"The account owner."},{"field":"owner_program_name","type":"string | null","is":"That program's name, when we know it.","howWorkedOut":"Our table of program names."},{"field":"is_program","type":"boolean","is":"True for program accounts.","howWorkedOut":"The account's executable flag."},{"field":"can_sign","type":"boolean","is":"True for addresses that have a private key (normal keypairs). False for program-derived addresses, which can't sign.","howWorkedOut":"The address is on the ed25519 curve."},{"field":"details","type":"object","is":"Facts for this kind. Token accounts: token, owner, amount, delegate. Tokens: decimals, supply, who_can_mint, who_can_freeze. No SOL account: token_accounts, how many token accounts it owns, and has_history, whether it has any past transactions (each null if it couldn't be checked).","howWorkedOut":"From the account data; token_accounts from both token programs; has_history from the address's transaction signatures."}],"notes":[],"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","description":"Any Solana address. The address you're about to use."},"network":{"default":"mainnet-beta","description":"Default \"mainnet-beta\" (real money). \"devnet\" only for test wallets.","type":"string","enum":["mainnet-beta","devnet"]}},"required":["address"]}}