Skip to main content
Glama

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
NameRequiredDescriptionDefault
chainYesTarget blockchain
toYesRecipient address
amountYesAmount to send (decimal, e.g. '0.5')
tokenNoToken symbol (for ICRC-1 or ERC-20; omit for native token)
modeNo'quote' to preview fees, 'execute' to send. Default: execute

Implementation Reference

  • 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),
        }],
      };
    },
  • 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"),
      },
    },

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Aboodtt404/mcp-menesesdk'

If you have feedback or need assistance with the MCP directory API, please join our Discord server