Skip to main content
Glama

Get Transaction

get_transaction
Read-only

Get details and receipt for one Ethereum or Base transaction by hash: bounded calldata, normalized event logs, transaction index, and receipt-derived effective gas price and fee when available. Use to verify a specific transaction's status and outcome.

Use when: Use when one known transaction must be verified — status, logs, gas paid, or execution outcome. To understand what the calldata means use decode_transaction; for wallet-wide activity use get_wallet_history.

Limitations: One transaction hash per call on Ethereum or Base; pending transactions may not resolve yet. Calldata is returned bounded, not decoded — use decode_transaction for semantic decoding.

Alternatives: decode_transaction, get_block, get_wallet_history

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tx_hashYesTransaction hash (0x…)
chain_idNoChain ID (1=Ethereum, 8453=Base)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
logsNo
statusNo1=success, 0=revert, None=pending
fee_ethNo
fee_weiNo
tx_hashYes
chain_idYes
gas_usedYes
value_ethYes
input_dataNoHex calldata, bounded to 8 KiB
to_addressYes
block_numberYes
from_addressYes
gas_price_gweiYes
logs_truncatedNo
transaction_indexNo
input_data_truncatedNo
effective_gas_price_gweiNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed10 schema fields changed
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / properties / chain_id / title
      Added value: +"Chain Id"
    • addedInput schema / properties / tx_hash / title
      Added value: +"Tx Hash"
    • addedInput schema / title
      Added value: +"mcp_get_transactionArguments"
    • addedOutput schema / $defs
      Added value: +{
      +  "TransactionLog": {
      +    "properties": {
      +      "address": {
      +        "title": "Address",
      +        "type": "string"
      +      },
      +      "data": {
      +        "title": "Data",
      +        "type": "string"
      +      },
      +      "data_truncated": {
      +        "default": false,
      +        "title": "Data Truncated",
      +        "type": "boolean"
      +      },
      +      "log_index": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Log Index"
      +      },
      +      "topics": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "title": "Topics",
      +        "type": "array"
      +      },
      +      "topics_truncated": {
      +        "default": false,
      +        "title": "Topics Truncated",
      +        "type": "boolean"
      +      }
      +    },
      +    "required": [
      +      "address",
      +      "topics",
      +      "data"
      +    ],
      +    "title": "TransactionLog",
      +    "type": "object"
      +  }
      +}
    • addedOutput schema / properties / logs / items / $ref
      Added value: +"#/$defs/TransactionLog"
    • removedOutput schema / properties / logs / items / properties
      Removed value: -{
      -  "address": {
      -    "title": "Address",
      -    "type": "string"
      -  },
      -  "data": {
      -    "title": "Data",
      -    "type": "string"
      -  },
      -  "data_truncated": {
      -    "default": false,
      -    "title": "Data Truncated",
      -    "type": "boolean"
      -  },
      -  "log_index": {
      -    "anyOf": [
      -      {
      -        "type": "integer"
      -      },
      -      {
      -        "type": "null"
      -      }
      -    ],
      -    "default": null,
      -    "title": "Log Index"
      -  },
      -  "topics": {
      -    "items": {
      -      "type": "string"
      -    },
      -    "title": "Topics",
      -    "type": "array"
      -  },
      -  "topics_truncated": {
      -    "default": false,
      -    "title": "Topics Truncated",
      -    "type": "boolean"
      -  }
      -}
    • removedOutput schema / properties / logs / items / required
      Removed value: -[
      -  "address",
      -  "topics",
      -  "data"
      -]
    • removedOutput schema / properties / logs / items / title
      Removed value: -"TransactionLog"
    • removedOutput schema / properties / logs / items / type
      Removed value: -"object"
  2. Changed8 schema fields changed
    • addedOutput schema / properties / effective_gas_price_gwei
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Effective Gas Price Gwei"
      +}
    • addedOutput schema / properties / fee_eth
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Fee Eth"
      +}
    • addedOutput schema / properties / fee_wei
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Fee Wei"
      +}
    • addedOutput schema / properties / input_data
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Hex calldata, bounded to 8 KiB",
      +  "title": "Input Data"
      +}
    • addedOutput schema / properties / input_data_truncated
      Added value: +{
      +  "default": false,
      +  "title": "Input Data Truncated",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / logs
      Added value: +{
      +  "items": {
      +    "properties": {
      +      "address": {
      +        "title": "Address",
      +        "type": "string"
      +      },
      +      "data": {
      +        "title": "Data",
      +        "type": "string"
      +      },
      +      "data_truncated": {
      +        "default": false,
      +        "title": "Data Truncated",
      +        "type": "boolean"
      +      },
      +      "log_index": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Log Index"
      +      },
      +      "topics": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "title": "Topics",
      +        "type": "array"
      +      },
      +      "topics_truncated": {
      +        "default": false,
      +        "title": "Topics Truncated",
      +        "type": "boolean"
      +      }
      +    },
      +    "required": [
      +      "address",
      +      "topics",
      +      "data"
      +    ],
      +    "title": "TransactionLog",
      +    "type": "object"
      +  },
      +  "title": "Logs",
      +  "type": "array"
      +}
    • addedOutput schema / properties / logs_truncated
      Added value: +{
      +  "default": false,
      +  "title": "Logs Truncated",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / transaction_index
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Transaction Index"
      +}
  3. First observed

TDQS

A4.3/5.0
Behavior4/5

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

The readOnlyHint=true annotation already covers the safety profile, lowering the burden. The description builds on it with genuinely useful behavioral notes: one transaction per call, pending transactions may not resolve yet, and calldata is returned bounded rather than decoded. No contradiction with the annotation — 'Get details' is consistent with a read-only operation.

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

Conciseness4/5

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

The description is well-organized into Use when / Limitations / Alternatives sections, and the core function is front-loaded in the first sentence. It is slightly repetitive (decode_transaction is cited three times), but each section earns its place with distinct information rather than padding.

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?

An output schema exists, so return values needn't be restated. With 2 params (one required, 100% schema coverage), a read-only annotation, and a description covering scope, limitations, and alternatives, nothing essential for correct invocation is missing. It is complete for a moderately complex lookup tool.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both tx_hash (0x… hash) and chain_id (1=Ethereum, 8453=Base) with defaults. The description reiterates the Ethereum/Base scope and hash-based lookup but adds only marginal parameter detail beyond the schema. Baseline 3 is appropriate since the schema carries the parameter documentation.

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 states a specific verb + resource ('Get details and receipt for one Ethereum or Base transaction by hash') and enumerates concrete outputs (bounded calldata, normalized event logs, transaction index, effective gas price). It explicitly disambiguates from siblings by naming decode_transaction and get_wallet_history as different tools, so an agent can select it without opening schemas.

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?

An explicit 'Use when' section states the exact triggering condition (verifying one known transaction's status/outcome) and gives direct alternatives: decode_transaction for calldata meaning, get_wallet_history for wallet-wide activity, and get_block in the Alternatives list. This is above-and-beyond guidance with no ambiguity.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources