Skip to main content
Glama

Crypto Bot Audit + Market Data (x402 paid)

Token name, symbol, supply at a block

chain_token_meta_at
Read-onlyIdempotent

The ERC-20 listing fields read at a past block tag or height, formatted with the decimals the contract itself reported — how a supply looked on a date, not how it looks now. Costs $0.001 USDC per call. Chains: base, ethereum, arbitrum, bsc, polygon, optimism, avalanche. Byte-identical to GET /chain/token-meta-at?chain=base&token=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913&block=latest.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
blockYesblock number or tag to read the listing fields at [required]
chainYeschain key: base, ethereum, arbitrum, bsc, polygon, optimism, avalanche [required]
tokenYestoken / NFT contract address [required]

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
tsNo
nameNo
noteNo
chainNo
staleNo
tokenNo
caveatNo
reasonNo
sourceNo
symbolNo
chainIdNo
blockTagNo
decimalsNo
chainLabelNo
totalSupplyNo
totalSupplyRawNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • addedOutput schema / properties / decimals / anyOf
      Added value: +[
      +  {
      +    "type": "integer"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / decimals / type
      Removed value: -"integer"
    • changedOutput schema / properties / name / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / symbol / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / totalSupply / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / totalSupplyRaw / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "blockTag": {
      +      "type": "string"
      +    },
      +    "caveat": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "chain": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "chainId": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "chainLabel": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "decimals": {
      +      "type": "integer"
      +    },
      +    "name": {
      +      "type": "string"
      +    },
      +    "note": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "reason": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "source": {
      +      "type": "string"
      +    },
      +    "stale": {
      +      "type": [
      +        "boolean",
      +        "null"
      +      ]
      +    },
      +    "symbol": {
      +      "type": "string"
      +    },
      +    "token": {
      +      "type": "string"
      +    },
      +    "totalSupply": {
      +      "type": "string"
      +    },
      +    "totalSupplyRaw": {
      +      "type": "string"
      +    },
      +    "ts": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  3. Added

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, open-world reads, so the safety burden is lifted; the description still adds real value by disclosing the $0.001 USDC per-call cost, the supported chain set, and the byte-identical REST endpoint mapping. It does not discuss failure modes or rate limits, keeping it at a solid 4.

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?

Front-loads the historical framing and the distinguishing contrast in the first sentence, then layers cost, chains, and the endpoint equivalence. It is efficient overall, though the full example URL in the final sentence is heavier than strictly needed.

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

Completeness5/5

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

For a 3-param read tool with an output schema already defined, the description covers the essentials an agent needs: what is read, at which point in time, across which chains, at what cost, and the REST equivalence. Nothing material about invocation is missing.

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 all three required params (chain, token, block) are already documented in the schema, which sets the baseline at 3. The description reinforces that block means a past block tag or height and hints that decimals come from the contract, but adds no syntax or format detail beyond the schema.

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 (read), a specific resource (ERC-20 name/symbol/supply listing fields), and a scope modifier (at a past block tag or height). The phrase 'how a supply looked on a date, not how it looks now' cleanly separates it from the current-state siblings like chain_token_meta and chain_supply_at.

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

Usage Guidelines4/5

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

Gives clear context for when this tool is the right one (historical point-in-time reads) by contrasting with the 'now' view, and lists supported chains plus the per-call cost so the agent can judge eligibility. It stops short of naming concrete sibling alternatives explicitly.

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