Skip to main content
Glama

Token holders & concentration ($0.0027)

token_holders
Read-onlyIdempotent

PAID ($0.0027 USDC via x402). Who holds an ERC-20: the top 10 holders with their share of supply and whether each is a contract (a pool, bridge or vault), locked, or a burn address; the LP holders and how much LP is locked; the creator's and owner's own share; the holder count; and concentration both raw (top10Pct) and with burned/locked supply left out (top10ControlledPct). Base by default, also ethereum, polygon, arbitrum, optimism, bsc, avalanche. Send no body to get USDC on Base. Without payment this returns the 402 challenge; the fiatdock-mcp npm package pays automatically. Any answer the tool cannot produce is >= 400 and is NOT charged.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
chainNoChain, default base
tokenNoERC-20 contract address (0x…). Omit the whole body to get USDC on Base
paymentNoBase64 of a single x402 v2 PaymentPayload (EIP-3009 transferWithAuthorization on Base USDC). OMIT it on the first call: the 402 you get back carries `howToPay.payloadTemplate` — the exact envelope to fill in — plus the price and the EIP-712 domain. Send it on the second call to complete the purchase; it is forwarded as the PAYMENT-SIGNATURE header, never as body data. Nothing is charged for the 402 itself, and a call that fails after payment settles nothing.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
asOfYesISO time the scan was read
nameYesToken name
noteYesHow to read concentration, and its limits
ownerYesThe current owner and its share of supply
tokenYesThe token contract (lower-cased)
sourceYesWhere the data came from
symbolYesToken symbol
creatorYesThe deployer and its share of supply
networkYesChain
top10PctYesShare of supply held by the 10 largest holders (%)
defaultedNoPresent only when the body was empty: which subject the answer is for, and why
lpHoldersYesThe largest LP token holders
topHoldersYesThe 10 largest holders with their share of supply
holderCountYesNumber of holders
lpLockedPctYesShare of LP tokens that are locked (%)
lpHolderCountYesNumber of liquidity-pool token holders
top10ControlledPctYestop10Pct without burn addresses and locked holdings

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readOnlyHint/openWorldHint/idempotentHint, but the description adds substantial context they cannot carry: the $0.0027 x402 price, that the 402 challenge is free, that failures return >=400 and are not charged, and that a failed-after-payment call settles nothing. This is exactly the billing/settlement behavior an agent needs before spending money.

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 purpose and the returned fields are front-loaded in the opening clause, and every section (chains, defaults, payment, errors) carries real information. It is dense and the payment detail sits mid-paragraph, but the length is justified by the tool's paid, multi-step nature.

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 paid tool with an output schema and full annotation coverage, the description supplies everything the agent needs: what is returned, which chains, the default, the 402/payment handshake, and the error/charging policy. Nothing required to call it correctly 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 the schema already documents chain, token, and payment thoroughly, including the two-call payment flow. The description largely restates that (Base default, no body = USDC on Base), adding little beyond what the structured fields provide, so the baseline 3 applies.

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+resource ('Who holds an ERC-20') and enumerates exactly what it returns: top 10 holders with share of supply and contract/locked/burn status, LP holders and locked LP, creator/owner share, holder count, and raw vs controlled concentration. This content is clearly distinct from siblings like token_price, token_metadata, and token_safety, so an agent can route without opening the schema.

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 operating context: Base is the default chain with six alternatives, omitting the body returns USDC on Base, and the payment flow is spelled out (first call yields a 402 challenge, second call pays). It stops short of explicitly contrasting when to choose this tool over token_report or token_safety, so no true when-not guidance.

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.