Skip to main content
Glama

helius_poll_transaction_confirmation

Monitor the confirmation status of a Solana transaction by providing its signature, with configurable polling interval and timeout.

Instructions

Poll for transaction confirmation status

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
signatureYes
timeoutNo
intervalNo

Implementation Reference

  • The handler function that polls for transaction confirmation status using the Helius RPC client. Accepts a signature string and optional timeout/interval parameters, returns the transaction status.
    export const pollTransactionConfirmationHandler = async (input: PollTransactionConfirmationInput): Promise<ToolResultSchema> => {
      try {
        const status = await (helius as any as Helius).rpc.pollTransactionConfirmation(input.signature, { timeout: input.timeout, interval: input.interval });
        return createSuccessResponse(`Transaction status: ${status}`);
      } catch (error) {
        return createErrorResponse(`Error polling transaction confirmation: ${error instanceof Error ? error.message : String(error)}`);
      }
    }
  • Type definition for PollTransactionConfirmationInput with signature (required), timeout (optional number), and interval (optional number).
    export type PollTransactionConfirmationInput = {
      signature: string;
      timeout?: number;
      interval?: number;
    }
  • Input schema registration for the tool, defining properties: signature (string, required), timeout (number), interval (number).
    {
      name: 'helius_poll_transaction_confirmation',
      description: 'Poll for transaction confirmation status',
      inputSchema: {
        type: 'object',
        properties: {
          signature: { type: 'string' },
          timeout: { type: 'number' },
          interval: { type: 'number' }
        },
        required: ['signature']
      }
  • src/tools.ts:586-592 (registration)
    Maps the tool name 'helius_poll_transaction_confirmation' to the helius.pollTransactionConfirmationHandler function in the tools handler map.
      "helius_poll_transaction_confirmation": helius.pollTransactionConfirmationHandler,
      "helius_send_jito_bundle": helius.sendJitoBundleHandler,
      "helius_get_bundle_statuses": helius.getBundleStatusesHandler,
      "helius_get_fee_for_message": getFeeForMessageHandler,
      "helius_execute_jupiter_swap": executeJupiterSwapHandler
      // "print_environment": printEnvironmentHandler,
    }
  • src/tools.ts:25-25 (registration)
    Import of pollTransactionConfirmationHandler from ./handlers/helius.js into the tools module.
    pollTransactionConfirmationHandler,
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden for behavioral disclosure. It only states what the tool does, but not key details such as whether the poll is synchronous or asynchronous, what happens on timeout, error handling, or rate limits. This is insufficient for an agent to understand the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words, but it is too brief, omitting critical details. While concise, it sacrifices necessary information for clarity, resulting in an adequate but not optimal length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (polling with configurable timeout/interval), no output schema, and no annotations, the description is inadequate. It fails to explain the return value or the polling mechanism, leaving the agent without enough context to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has three parameters (signature, timeout, interval) with no descriptions in the schema (0% coverage). The description adds no meaning for any parameter; it does not explain what timeout and interval represent (e.g., units, default values). The description fails to compensate for the missing schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Poll for transaction confirmation status' uses a specific verb ('poll') and resource ('transaction confirmation'), clearly indicating the tool's purpose. It distinguishes from siblings like helius_get_transaction, which retrieves a single transaction, by focusing on polling for confirmation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description implies it is used after submitting a transaction, but does not mention prerequisites, typical use cases, or when it should be avoided, leaving the agent without context for appropriate invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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/dcSpark/mcp-server-helius'

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