Ask Anon
ask_anonSend the user's request to Anon, the Hey Anon on-chain AI agent (balances, swaps, bridging, lending, staking, CEX, scheduled automations, research). It can execute transactions and returns a Message ID. Anon plans and executes the operation; you only pass the request on: use the user's own words and language, do not build the transaction, look up routes, compute amounts or split it into steps yourself, and add only what Anon cannot know (wallet addresses, details from earlier in the conversation). Asynchronous: the output is only a confirmation with the Message ID; poll anon_message with that ID (every 2-3 s) until status is "done" (or "failed" / "aborted"), then read the answer from reply and show its cards (anon_message also returns them as HTML for clients that can display it). While it is "running", activity shows the current stage. Clients that support the io.modelcontextprotocol/tasks extension get an MCP task instead and poll it with tasks/get. Anon keeps NO conversation context: every message is processed from a clean slate, so each message must be self-contained (repeat the wallet, network, token and amount every time; follow-ups like "and on Base?" will not work). Before sending, the tool checks that Anon is idle: if the previous request is still processing it returns an error, poll anon_message for the previous Message ID until it is done (or call abort) and retry. Anon can execute real transactions from the attached wallets: send an action request (swap, send, bridge, stake, create an automation) only when the user asked for that action, and never add actions the user did not ask for. For general crypto research not tied to the user wallets, prefer ask_gemma.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The user's request for Anon in their own words, self-contained (Anon keeps no context), e.g. "What is my S balance on Sonic?" or "Swap 10 USDC to ETH on Base". An action request can make Anon execute a real transaction from the attached wallet: send it only when the user asked for that action, token and amount | |
| files | No | Optional attachments (publicly reachable URL + MIME type), e.g. a screenshot or document for Anon to analyze | |
| wallets | Yes | Wallet addresses to attach: at least one, and at most ONE per wallet type (e.g. one evm, one solana, one ton). Two addresses of the same type are rejected by the backend ("Multiple wallets found for type evm"). Take addresses from wallet_list. If the user has several wallets of the same type, use the one the user named (by displayName or address); otherwise ask which one to use rather than picking arbitrarily. |