btc_getTransaction
Read a raw Bitcoin transaction by txid. A block hash can make confirmed transaction lookup more reliable.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| txid | Yes | ||
| blockHash | No |
Read a raw Bitcoin transaction by txid. A block hash can make confirmed transaction lookup more reliable.
| Name | Required | Description | Default |
|---|---|---|---|
| txid | Yes | ||
| blockHash | No |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive. The description adds a useful behavioral detail: providing a block hash improves reliability for confirmed transactions. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise, front-loaded sentences with no unnecessary words. Every phrase contributes to understanding the tool's action and a useful tip.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with rich annotations and schema, the description covers the core functionality and a reliability hint. It doesn't describe the return format or error handling, but given no output schema and the tool's simplicity, this is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It explains that txid is the identifier and blockHash is optional, adding that blockHash improves reliability. This adds semantic value beyond the schema's patterns but remains minimal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Read a raw Bitcoin transaction by txid' – a specific verb, resource, and identifier. This distinguishes it from siblings like btc_getTxOut (which returns a transaction output) and evm_getTransaction (EVM-specific).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides context that a block hash can make confirmed transaction lookup more reliable, implying when to use the optional parameter. However, it does not explicitly mention alternatives or when not to use this tool, so it's clear but lacks exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Each tool is clearly scoped to a specific chain (btc_ vs evm_) and action (broadcast, decode, estimate, get, call, read). There is no overlap or ambiguity between tools, and even similar-sounding operations like evm_call, evm_readContract, and evm_estimateTransaction are distinct in their purpose and input requirements.
All tools follow a consistent snake_case pattern with chain prefix (btc_ or evm_) followed by a descriptive verb and noun (e.g., btc_getBlock, evm_getLogs). The naming is uniform across both chains, making it predictable and easy to navigate.
At 18 tools, the server sits in the 16-25 range which is considered heavy per the rubric. While the count is justifiable given the dual-chain scope, it could be trimmed or grouped further. It doesn't feel overwhelming, but it's above the typical well-scoped range.
The server covers the essential read and write operations for both Bitcoin and EVM chains, including balances, blocks, transactions, gas estimation, contract reads, and transaction broadcasting. No critical gaps are apparent for a chain RPC server, and all common workflows are supported.