menese_send
Send native tokens across 19 blockchains including Ethereum, Bitcoin, and Solana. Preview fees or execute transfers directly to recipient addresses.
Instructions
Send native tokens on any supported blockchain. Supports 19 chains: Ethereum, Polygon, Arbitrum, Base, Optimism, BNB, Bitcoin, Solana, ICP, SUI, TON, XRP, Litecoin, Cardano, Tron, Aptos, NEAR, CloakCoin, Thorchain.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes | Target blockchain | |
| to | Yes | Recipient address | |
| amount | Yes | Amount to send (decimal, e.g. '0.5') | |
| token | No | Token symbol (for ICRC-1 or ERC-20; omit for native token) | |
| mode | No | 'quote' to preview fees, 'execute' to send. Default: execute |
Implementation Reference
- src/tools/send.ts:36-68 (handler)The async handler function for the "menese_send" tool, which processes token sending requests, including quote/execute logic and guard checks.
async ({ chain, to, amount, token, mode }) => { const identity = store.get(); if (!identity) { return { content: [{ type: "text" as const, text: "No wallet configured. Use menese_setup first." }], isError: true }; } const guard = checkGuard("menese_send", { chain, to, amount, token, mode }, config); if (!guard.allowed) { return { content: [{ type: "text" as const, text: guard.reason! }], isError: true }; } if (mode === "quote") { return { content: [{ type: "text" as const, text: `Ready to send ${amount} ${token ?? "native"} on ${chain} to ${to}. Call again with mode "execute" to confirm.`, }], }; } const result = await sendToken(config, resolveActorIdentity(store), chain, to, amount, { token }); if (result.ok) { invalidateBalanceCaches(store.getPrincipal()!); } return { content: [{ type: "text" as const, text: JSON.stringify(result, bigIntReplacer, 2), }], }; }, - src/tools/send.ts:22-35 (registration)The input schema definition and tool registration block for "menese_send" within the registerSendTool function.
{ description: "Send native tokens on any supported blockchain. Supports 19 chains: " + "Ethereum, Polygon, Arbitrum, Base, Optimism, BNB, Bitcoin, Solana, ICP, " + "SUI, TON, XRP, Litecoin, Cardano, Tron, Aptos, NEAR, CloakCoin, Thorchain.", inputSchema: { chain: z.enum(SUPPORTED_CHAINS as unknown as [string, ...string[]]).describe("Target blockchain"), to: z.string().describe("Recipient address"), amount: z.string().describe("Amount to send (decimal, e.g. '0.5')"), token: z.string().optional().describe("Token symbol (for ICRC-1 or ERC-20; omit for native token)"), mode: z.enum(["quote", "execute"]).optional() .describe("'quote' to preview fees, 'execute' to send. Default: execute"), }, },