Skip to main content
Glama

ARYSPHERE x402 chain reads and token verdicts

x402_chain_reads_v1__eth_gettransactionbyhash

Read-only

Ethereum mainnet on-chain read: a transaction by its hash. Ethereum mainnet eth_getTransactionByHash: takes hash (transaction hash, 0x + 64 hex) and returns the transaction exactly as the node gives it, or null if the node does not know it.

GET https://api.arysphere.com/v1/ventures/x402_chain_reads_v1/eth_gettransactionbyhash. Same payment terms as that HTTP route. Call once with no payment. The result is the payment terms. Retry the same call with the signed payment at _meta["x402/payment"]. Measured output: {"chain": "ethereum", "method": "eth_getTransactionByHash", "ok": true, "result": {"accessList": [], "blockHash": "0x7538fe3a3bb34856c428edf3a6987a3f65c62e420473a509e0ef6e6446aac74b", "blockNumber": "0x18f1ab8", "blockTimestamp": "0x6ac905e3", "chainId": "0x1", "from": "0xc917c3fa468f2c4b9c84c72caa46420eb9825249", "gas": "0x6e4cc", "gasPrice": "0x206e2cc9", "hash": "0xc43fe089e6e8de6c1bf47a65f74661323154af09655dbde2c7f728e768d864eb", "input": "0x09c5eabe000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002950000cca0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000001000000000000000000000000", "maxFeePerGas": "0x40f9b8b4", "maxPriorityFeePerGas": "0x0", "nonce": "0x23866", "r": "0x4ce24c0306d81eb49173e339b90025a281ccc73f1b645c955cdcaa32dfa81ab1", "s": "0x26efbc9d02b4e6d659ea3823fe3ec6ea84409edcf6b21a8737b041af3ce6308b", "to": "0x0000000aa232009084bd71a5797d089aa4edfad4", "transactionIndex": "0x0", "type": "0x2", "v": "0x0", "value": "0x0", "yParity": "0x0"}, "service": "x402_chain_reads_v1.eth_gettransactionbyhash"}

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
hashYestransaction hash, 0x + 64 hex

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=true; the description adds meaningful behavior beyond that: the two-step payment handshake, the fact that a null return means the node does not know the hash, and that the raw node shape is passed through. That is real unannotated context, though it omits retry/expiry semantics for the payment.

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 purpose is front-loaded and the payment protocol is clearly sequenced, but the full pretty-printed measured output blob is large and largely redundant with the plain statement that the raw transaction is returned. It earns some value as a return-shape sample but is heavier than needed.

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?

With no output schema, the embedded measured-output sample usefully conveys the return shape, and the payment flow is spelled out. It is close to complete for a single-parameter read, missing only failure/expiry behavior for the signed payment retry.

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 coverage is 100% for the single `hash` parameter, and the description's '0x + 64 hex' restatement duplicates the schema. Baseline 3 is appropriate since the schema already carries the semantics.

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?

States a specific verb and resource ('on-chain read: a transaction by its hash') and pins the network to Ethereum mainnet, which is exactly the distinction that separates it from base_eth_gettransactionbyhash and eth_mainnet_eth_gettransactionbyhash in the sibling list.

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

Usage Guidelines3/5

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

The description gives strong invocation guidance (call once unpaid to get terms, retry with a signed payment at _meta["x402/payment"]), but never states when to choose this tool over sibling reads or the base/eth_reads variants. Usage context is implied rather than stated as selection criteria.

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