MCPFax On-Chain Toolkit
Server Details
The on-chain facts you need in the seconds before you transact.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Available Tools
6 toolsaddress_infoBalance, next nonce, and whether an address is a contractAInspect
Native balance, the next nonce to use, and whether the address holds contract code — the three things needed before sending from or to an address. Pass 'token' as well to read an ERC-20 balance for the same address in the same call. Values are read at the latest block, so a reorg can change them. Costs $0.008 USDC per call via x402 on Base.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | ethereum, base, arbitrum, optimism or polygon. Defaults to base. | |
| token | No | Optional ERC-20 contract address to also report that token's balance. | |
| address | Yes | 0x-prefixed 20-byte address. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that values are read at the latest block (reorg risk) and states the cost ($0.008 USDC per call via x402 on Base). It also implies a read-only operation by listing balance/nonce/code, and the optional token param adds behavioral context. Missing are error handling, rate limits, or idempotency, but the disclosed caveats exceed the typical baseline.
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?
The description is three sentences with zero filler. It front-loads the core purpose, then the optional parameter, then caveats and cost. Every sentence serves a distinct purpose, and the structure is logical for an agent to scan quickly.
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?
Given no output schema, the description adequately conveys the return values (balance, nonce, contract status, optional token balance) and the operational context (chain default, cost, reorg risk). It doesn't mention response format or error behavior, but for a simple read-only call, the provided information is sufficient for an agent to invoke it correctly.
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 100%, so the schema already documents each parameter. The description adds context for 'token' (reads ERC-20 balance in same call) and frames 'address' as a prerequisite for sending, which slightly enriches semantics. However, it doesn't add syntax, formats, or interaction details beyond the schema, so the value-add is marginal.
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 the tool returns native balance, next nonce, and contract-code status, with an optional ERC-20 balance via 'token'. It uses specific resource nouns and implies a read operation, distinguishing it from token_info by focusing on address state rather than token metadata. However, it doesn't explicitly name sibling tools or contrast itself with them, so it's clear but not maximally differentiated.
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?
The description gives a clear use case ('the three things needed before sending from or to an address') and explains when to pass 'token'. It does not explicitly state when to use alternatives like token_info or gas_now, nor does it mention any exclusions. The guidance is implied rather than explicit, so it's adequate but not prescriptive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
demand_reportWhat agents are asking for most (free)CInspect
FREE, no payment. The aggregate of what agents have told us they are looking for, most-requested first, with the categories nothing available yet serves.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Window in days, default 30, max 90. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions that the output is sorted by frequency and that it is free, but it does not disclose any side effects, rate limits, or how the data is sourced. With no annotations to fall back on, the description carries the burden and leaves much unspecified, especially the unclear 'categories' part.
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?
The description is short but poorly structured; the first sentence 'FREE, no payment.' is a fragment, and the final phrase 'with the categories nothing available yet' is syntactically incorrect. This detracts from clarity and conciseness.
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?
There is no output schema, so the description should clarify the return format, but it does not. It says 'aggregate' and 'most-requested first' without specifying the structure (e.g., list, counts, categories). The ambiguous 'categories' phrase further reduces completeness.
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?
The only parameter 'days' is well described in the input schema: it specifies the window in days, with default and maximum values. This fully explains the parameter's meaning and constraints, leaving no ambiguity.
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 states that the tool provides an aggregate of what agents are looking for, sorted most-requested first, which is reasonably clear. However, the phrase 'with the categories nothing available yet' is garbled and introduces ambiguity about whether it returns categories or something else.
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?
Aside from the 'FREE, no payment' note, there is no guidance on when to use this tool compared to siblings like address_info or gas_now. It does not explicitly state scenarios where demand_report is preferable or when alternatives should be chosen.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gas_nowCurrent gas price on one or several chainsAInspect
Live gas price on Ethereum, Base, Arbitrum, Optimism or Polygon — in wei and gwei, plus what a plain 21,000-gas transfer would cost in the native token, which is the number you actually budget with. Pass several chains comma-separated to compare where to execute. Call this immediately before sending a transaction: gas moves every block, so the answer is good for seconds, not minutes. Costs $0.005 USDC per call via x402 on Base.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | One or more of ethereum, base, arbitrum, optimism, polygon — comma-separated, e.g. 'base,ethereum'. Defaults to base. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but description fully discloses output details (wei, gwei, transfer cost) and the per-call fee of $0.005 USDC. No hidden side effects or contradictions.
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?
Though slightly long, every sentence adds value—purpose, units, usage timing, and cost. Logical flow from function to specific details makes it efficient without redundancy.
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?
No output schema, but description specifies exactly what data is returned (wei, gwei, transfer cost) and what it represents. Full parameter defaults and usage scenarios covered, leaving no gaps for the agent.
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?
The single 'chain' parameter is thoroughly explained with accepted values (Ethereum, Base, Arbitrum, Optimism, Polygon), comma-separated usage, example, and default. 100% schema coverage ensures full clarity.
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?
Clearly states it provides live gas price for multiple chains with specific units (wei and gwei) and includes transfer cost estimation. Distinct from sibling tools that focus on address, demand, tokens, etc.
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?
Explicitly instructs to call immediately before sending a transaction due to fast gas moves, and explains how to pass multiple chains for comparison. Also mentions cost per call, giving clear timing and context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
request_dataTell us what data you are looking for (free)AInspect
FREE, no payment. Describe in your own words the data you are trying to buy — anything, not just on-chain data — and get back whether we operate a service that supplies it, with the MCP endpoint if so. Every request is catalogued so repeatedly-requested data gets built. Nothing identifying is stored, only the words of the request.
| Name | Required | Description | Default |
|---|---|---|---|
| need | Yes | What you are looking for. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses that the request is free, that requests are catalogued, that nothing identifying is stored, and that the response includes availability and an MCP endpoint. This is transparent for a simple query tool, though it omits details like rate limits or what happens if the service is not available.
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?
The description is compact (three sentences) and front-loads the key value proposition ('FREE, no payment'). Each sentence adds distinct value: cost, purpose, and privacy/behavior. No redundant phrasing.
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 tool with one parameter, no output schema, and no annotations, the description covers the purpose, expected input, and a reasonable description of the response (availability and endpoint). It doesn't detail the exact response structure, but that is acceptable given the absence of an output schema and the tool's simplicity.
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 100% and the single parameter 'need' is described as 'What you are looking for.' The description adds a free-form context with an example, but does not introduce additional semantics beyond what the schema already conveys. Baseline of 3 is appropriate given the high schema coverage.
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 the tool's purpose: users describe what data they want, and it returns whether the service provides it, with an endpoint if available. It distinguishes itself from siblings by explicitly covering 'anything, not just on-chain data,' which differentiates it from the specific lookup tools like gas_now or token_info.
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?
The description implies this tool is for general or unspecified data requests, contrasting with the more targeted sibling tools. It says 'anything, not just on-chain data,' which suggests using it when the specific tool is not obvious, but it does not explicitly name alternatives or exclusion conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
token_infoERC-20 token details by contract addressAInspect
Read an ERC-20's name, symbol, decimals and total supply straight from the contract on the chain you name, and confirm the address actually has code there. Use before quoting an amount or building a transfer: getting decimals wrong is the classic way to send 1,000,000x the intended value. An address with no code, or a contract that is not an ERC-20, is reported as such and is NOT charged. Costs $0.005 USDC per call via x402 on Base.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | ethereum, base, arbitrum, optimism or polygon. Defaults to base. | |
| address | Yes | 0x-prefixed 20-byte contract address. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses error handling ('An address with no code, or a contract that is not an ERC-20, is reported as such'), states it is NOT charged on such failures, and mentions the cost ($0.005 USDC per call via x402). This gives agents a clear picture of behavior and side effects.
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?
The description is a single paragraph that is efficient and front-loaded. It starts with the core purpose, then provides a compelling use case, then addresses edge cases and cost. Every sentence adds value with no redundancy.
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 tool with only 2 parameters and no output schema, the description covers purpose, usage context, error handling, and cost. It also mentions the chain selection and defaults. There is nothing an agent needs to know to call it correctly that is missing.
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 description coverage is 100%, so both parameters (address and chain) are already documented. The description adds no new semantic details beyond the schema, e.g., it doesn't explain chain defaults beyond what the schema already says. Baseline 3 is appropriate.
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 a specific verb ('Read') and resource ('an ERC-20's name, symbol, decimals and total supply') and adds the scope of confirming code presence. It distinguishes itself from siblings like address_info and tx_status by focusing on token metadata retrieval, making the purpose unambiguous.
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 a concrete use case: 'Use before quoting an amount or building a transfer' and explains the risk of getting decimals wrong. While it doesn't explicitly name alternatives, the context makes the appropriate invocation clear. The instruction to use it before quoting amounts is strong guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tx_statusDid this transaction succeed?AInspect
Status of a transaction by hash: success, failed or still pending, with the block it landed in, sender and recipient, value moved, gas used, the fee actually paid, and how many logs it emitted. Use to confirm an action you took really settled rather than assuming it did. An unknown hash is reported as not_found and is NOT charged. Costs $0.005 USDC per call via x402 on Base.
| Name | Required | Description | Default |
|---|---|---|---|
| hash | Yes | 0x-prefixed 32-byte transaction hash. | |
| chain | No | ethereum, base, arbitrum, optimism or polygon. Defaults to base. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses cost ($0.005 USDC per call via x402 on Base), the not_found behavior for unknown hashes, and lists the exact return fields. It implies a read-only operation but does not explicitly state that, nor does it mention rate limits or authentication. Still, the provided behavioral details are substantial and accurate.
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?
The description is two sentences, front-loaded with the core return fields, followed by a usage rationale, then the error/cost details. Every sentence adds value with zero fluff, and the most critical information (what it returns and when to use it) comes first.
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?
Although there is no output schema, the description explicitly lists the return fields (status, block, sender, recipient, value, gas used, fee paid, logs emitted), covers error handling (not_found), and notes the cost and payment mechanism. For a simple tool with two parameters, this is a complete and self-contained description.
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 description coverage is 100%: both 'hash' and 'chain' have clear descriptions, including an example and default. The tool description adds no additional parameter semantics beyond reinforcing that 'hash' is the transaction hash and 'chain' defaults to base. Since the schema already covers everything, baseline 3 is appropriate.
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?
Clearly states the tool returns transaction status (success, failed, pending) along with a detailed list of fields (block, sender, recipient, value, gas, fee, logs). This verb+resource specification distinguishes it from siblings like address_info or token_info, which are about other entities.
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?
Provides an explicit use case: 'Use to confirm an action you took really settled rather than assuming it did.' This gives clear context for when to invoke the tool. It does not explicitly state when not to use it, but the sibling tools are clearly different domains, so there is no ambiguity about alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
6 tool updates
- Changed
address_info3 fields changed- added
Input schema / properties / address / examplesAdded value: +[ + "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045" +] - added
Input schema / properties / chain / examplesAdded value: +[ + "base" +] - added
Input schema / properties / token / examplesAdded value: +[ + "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" +]
- Changed
demand_report1 field changed- added
Input schema / properties / days / examplesAdded value: +[ + "30" +]
- Changed
gas_now1 field changed- added
Input schema / properties / chain / examplesAdded value: +[ + "base" +]
- Changed
request_data1 field changed- added
Input schema / properties / need / examplesAdded value: +[ + "live electricity spot prices by ZIP" +]
- Changed
token_info2 fields changed- added
Input schema / properties / address / examplesAdded value: +[ + "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" +] - added
Input schema / properties / chain / examplesAdded value: +[ + "base" +]
- Changed
tx_status2 fields changed- added
Input schema / properties / chain / examplesAdded value: +[ + "base" +] - added
Input schema / properties / hash / examplesAdded value: +[ + "0x08001b920b214572ff2e7a4fc4560bafa717619b00b91561425ef6a325fdfedb" +]
6 tool updates
- First observed
address_info - First observed
demand_report - First observed
gas_now - First observed
request_data - First observed
token_info - First observed
tx_status
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Screen tokens, inspect wallets, simulate transactions, price priority fees. $0.02 in USDC.
Pre-transaction risk screening for Ethereum addresses: signed score, sanctions, audit trail.
Real-time Blockchain Trading intelligence - Token prices, trades, marketcap, Traders, Charts
Evidence-based market data for AI agents deploying capital in DeFi. Empirical, not advertised.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceDelivers real-time crypto market microstructure, derivatives, order flow CVD/OI regime classification, fear & greed sentiment, and whale tracking context, enabling traders to assess market regimes and complement charting tools.42MIT
- FlicenseAqualityDmaintenanceComplete DeFi intelligence — Yield, Staking, Restaking, RWA, Perps, Gas Optimization & Contract Security. One answer, not raw data.17-
- AlicenseAqualityBmaintenanceRug pull risk scores and on-chain forensics for memecoins on Solana, Ethereum, Base and Robinhood Chain - launch-bundle detection, funding-origin tracing, deployer history, insider networks and whale flow. 15 read-only tools.23150MIT
- AlicenseNot gradedqualityDmaintenanceMethodology-transparent BTC + ETH whale forensics. 30 tools, anonymous OAuth 2.1 Free tier.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool targets a clearly different resource or moment: address state, token contract metadata, gas price, transaction status, and the two sides of the data-request marketplace. demand_report and request_data are related but cleanly split between aggregate supply/demand and a specific inquiry. No pair is likely to cause an agent to pick the wrong tool.
All names are lowercase snake_case and mostly follow a descriptive noun-noun pattern like address_info, token_info, and tx_status. request_data is the one imperative-style outlier, and gas_now deviates from the noun-info pattern, but neither is confusing. The naming is broadly predictable with only minor deviations.
Six tools is a well-scoped set for a focused on-chain data and utility MCP. Each tool has a distinct job and there is no redundancy or padding. The set feels neither too thin nor too heavy.
The paid tools cover the main pre-transaction checks (address, token, gas) and post-transaction confirmation, while the free tools form a closed loop for discovering and requesting additional data. Minor optional additions like chain metadata or transaction history are workable gaps and do not create dead ends. The surface is complete for its apparent read-heavy purpose.