Skip to main content
Glama

zetrix_ws_submit_transaction

Submit blockchain transactions via WebSocket to receive real-time status updates and confirmations for Zetrix network operations.

Instructions

Submit transaction via WebSocket and get real-time status updates

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
transactionYesTransaction object
signaturesYesArray of signature objects with public_key and sign_data
triggerNoOptional trigger object

Implementation Reference

  • Core handler logic: constructs CHAIN_SUBMITTRANSACTION WebSocket message and awaits tx_status response with timeout handling.
    submitTransaction( transaction: any, signatures: Array<{ public_key: string; sign_data: string }>, trigger?: any ): Promise<ChainTxStatusResponse> { return new Promise((resolve, reject) => { if (!this.isRegistered) { reject(new Error("WebSocket not registered. Call registerAndConnect first.")); return; } const request: ChainSubmitTransactionRequest = { type: ChainMessageType.CHAIN_SUBMITTRANSACTION, transaction, signatures, trigger, }; const timeout = setTimeout(() => { this.off("tx_status", onTxStatus); reject(new Error("Transaction submission timeout")); }, 30000); const onTxStatus = (response: ChainTxStatusResponse) => { clearTimeout(timeout); resolve(response); }; this.once("tx_status", onTxStatus); this.sendMessage(request); }); }
  • MCP CallTool request handler: validates args, gets WebSocket client singleton, calls submitTransaction, and formats response.
    case "zetrix_ws_submit_transaction": { if (!args) { throw new Error("Missing arguments"); } const wsClient = getWebSocketClient(); const result = await wsClient.submitTransaction( args.transaction, args.signatures as Array<{ public_key: string; sign_data: string }>, args.trigger ); return { content: [ { type: "text", text: JSON.stringify(result, null, 2), }, ], }; }
  • src/index.ts:368-389 (registration)
    Tool registration entry in ListTools response: defines name, description, input schema (transaction, signatures, optional trigger).
    { name: "zetrix_ws_submit_transaction", description: "Submit transaction via WebSocket and get real-time status updates", inputSchema: { type: "object", properties: { transaction: { type: "object", description: "Transaction object", }, signatures: { type: "array", description: "Array of signature objects with public_key and sign_data", }, trigger: { type: "object", description: "Optional trigger object", }, }, required: ["transaction", "signatures"], }, },
  • Input schema validation: requires transaction object and signatures array, optional trigger.
    inputSchema: { type: "object", properties: { transaction: { type: "object", description: "Transaction object", }, signatures: { type: "array", description: "Array of signature objects with public_key and sign_data", }, trigger: { type: "object", description: "Optional trigger object", }, }, required: ["transaction", "signatures"], },

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/Zetrix-Chain/zetrix-mcp-server'

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