{"name":"history","oldName":"get_recent_transactions","title":"Recent transactions","category":"wallets","useWhen":"Run to see a wallet's recent activity, or to get a real transaction ID to look into. Never make up a transaction ID; get one here.","benefit":{"kind":"accuracy","text":"Gives real transaction IDs. Models can make up realistic-looking fake ones, and every lookup after that fails."},"description":"Lists a wallet's latest transactions, newest first, with whether each worked and a plain error name for failures.","price":"$0.01","priceText":"25 free calls a day, then $0.01 USDC per call (x402)","http":{"method":"POST","path":"/api/tools/history","body":"JSON object with the inputs below"},"mcp":{"method":"tools/call","name":"history"},"inputs":[{"name":"wallet","type":"string (base58 address)","required":true,"lookingFor":"The wallet address to read the transactions of.","whereToGet":"The user's wallet address (from their wallet app, or your agent's own public key). Not a .sol name or a ticker."},{"name":"how_many","type":"integer 1-50","required":false,"lookingFor":"How many transactions to return. Default 10.","whereToGet":"Leave it out for 10."},{"name":"network","type":"\"mainnet-beta\" | \"devnet\"","required":false,"lookingFor":"Which Solana network to read. Default \"mainnet-beta\" (real money).","whereToGet":"Leave it out for mainnet. Use \"devnet\" only for test wallets."}],"outputs":[{"field":"wallet","type":"string","is":"The wallet that was read.","howWorkedOut":"Your input, cleaned up."},{"field":"count","type":"number","is":"How many transactions came back.","howWorkedOut":"Length of the list."},{"field":"failed_count","type":"number","is":"How many of them failed (failed transactions still pay fees).","howWorkedOut":"Entries with an error."},{"field":"transactions[].tx_id","type":"string","is":"The transaction's ID. Pass it to explain_tx.","howWorkedOut":"getSignaturesForAddress."},{"field":"transactions[].time","type":"string | null","is":"When it happened (UTC).","howWorkedOut":"Block time in ISO 8601. null if the node doesn't know."},{"field":"transactions[].slot","type":"number","is":"The slot it landed in.","howWorkedOut":"getSignaturesForAddress."},{"field":"transactions[].result","type":"\"success\" | \"failed\"","is":"Whether it worked.","howWorkedOut":"failed when the RPC reports an error."},{"field":"transactions[].error","type":"string | null","is":"The failure's short name, e.g. InsufficientFundsForRent.","howWorkedOut":"why_failed run on the raw error. The raw error text when unknown."},{"field":"transactions[].memo","type":"string | null","is":"Memo text attached to the transaction, if any.","howWorkedOut":"getSignaturesForAddress."}],"notes":[],"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"wallet":{"type":"string"},"how_many":{"default":10,"type":"integer","minimum":1,"maximum":50},"network":{"default":"mainnet-beta","type":"string","enum":["mainnet-beta","devnet"]}},"required":["wallet"]}}