Skip to main content
Glama

get_transaction_status

Read-onlyIdempotent

Poll a transaction's on-chain status across EVM chains, Solana, TRON, or Bitcoin. Returns pending, success, failed, or dropped status with drop detection for Solana when using durable nonce or block height fields.

Instructions

Poll a transaction's status via the chain's RPC (EVM / Solana) or TronGrid (TRON). Returns pending / success / failed, plus 'dropped' on Solana when the tx is mathematically unable to land. Pass chain='tron' with the bare hex txID for TRON; chain='solana' with the base58 signature for Solana. For Solana, ALSO pass whichever drop-detection field send_transaction returned: (a) durableNonce for nearly every send (native/SPL sends, nonce_close, jupiter_swap, all marginfi_* actions) — the tool reads the on-chain nonce account and reports 'dropped' if it rotated past the baked value; or (b) lastValidBlockHeight for legacy-blockhash txs (currently just nonce_init) — reports 'dropped' if current block height is past. Without either field the tool reports 'pending' forever for dropped txs.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
chainYesEVM chain, 'tron', 'solana', or 'bitcoin'.
txHashYesTransaction identifier. EVM: 32-byte hex (0x-prefixed or bare). TRON: 32-byte bare hex. Solana: 64-byte signature as base58 (86–88 chars). Bitcoin: 32-byte bare hex. All four forms are accepted.
lastValidBlockHeightNoSolana only, legacy-blockhash txs (currently just `nonce_init`). Block-height ceiling for the tx's baked blockhash — returned by send_transaction for such txs. When supplied and `getSignatureStatuses` returns null, the poller compares against current block height and reports `dropped` if the window has passed. Omit for EVM / TRON; ignored on those chains. For durable-nonce Solana txs (every send this server builds except nonce_init), use `durableNonce` instead — it's authoritative.
durableNonceNoSolana only, durable-nonce txs (native_send, spl_send, nonce_close, jupiter_swap, all marginfi_* actions). Returned by send_transaction on these flows. When supplied and `getSignatureStatuses` returns null, the poller reads the on-chain nonce account: if the nonce rotated past `nonceValue` (or the account was closed), the tx can never land and is reported as `dropped` with diagnostic fields `nonceAccount` / `bakedNonce` / `currentNonce`. Without this field the poller reports `pending` forever for dropped durable-nonce txs — a known Phase 2 UX gap.
Behavior4/5

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

Annotations (readOnlyHint, idempotentHint, destructiveHint false) already convey safety. The description adds substantial behavioral details: the dropped detection logic on Solana via durableNonce/lastValidBlockHeight, the diagnostic fields returned, and the risk of pending forever without proper fields. However, it does not explicitly mention network error handling or timeouts.

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 dense paragraph that packs a lot of information, but it would benefit from breaking into subsections per chain or usage pattern. It is not overly long, but the structure could be improved for easier parsing by an AI agent.

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

Completeness4/5

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

Without an output schema, the description adequately covers return values (pending, success, failed, dropped) and special cases (e.g., Solana dropped detection). It does not detail error conditions like network failures or timeouts, but the core behavior is well-explained.

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

Parameters4/5

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

Schema coverage is 100% with descriptive parameter descriptions. The description goes further by explaining the roles of durableNonce and lastValidBlockHeight in drop detection, how they are obtained from send_transaction, and the consequences of missing them. This adds meaningful context beyond what the schema provides.

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

Purpose5/5

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

The description clearly states the tool polls transaction status across multiple chains (EVM, Solana, Tron, Bitcoin) and specifies the exact return states (pending/success/failed/dropped). It distinguishes itself from siblings like send_transaction and explain_tx by focusing on post-send polling.

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

Usage Guidelines5/5

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

The description explicitly explains when to use the tool (after sending a transaction) and, for Solana, provides critical guidance on passing the correct drop-detection field (durableNonce or lastValidBlockHeight) to avoid pending forever. It also notes that omitting these fields leads to a known UX gap, effectively telling the agent when not to rely on results.

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/szhygulin/recon-crypto-mcp'

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