Skip to main content
Glama

Historical balances, wallet history

wallet_balance_history
Read-only

Historical balances of any 0x address on Base: ETH and the main tokens (USDC, WETH, cbBTC, DAI, USDbC, cbETH, AERO, EURC, plus up to 5 more) read at one block per day for up to 30 days, with ETH priced from the on-chain Uniswap pool at each date and the USD value change. Use to see how a wallet's holdings moved, check a balance on a past date, or chart a treasury. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.

Input Schema

NameRequiredDescriptionDefault
daysNoHow many days back, one point per day (1-30, default 7)
tokensNoOptional extra token addresses on Base, comma-separated (up to 5)
addressYes0x wallet or contract address on Base

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the annotations it discloses the price source (on-chain Uniswap pool at each date), the return contents (per-token balances plus USD value change), the pricing model ($0.01/call via x402 or card key, first 25 free, failed calls free), and that repeat calls are billed — which explains the idempotentHint=false in practical terms. This is unusually rich behavioral context for a read-only tool.

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 capability and its constraints are front-loaded in the first sentence, with use cases and cost follow. It is one dense paragraph rather than a structured list, and the full example address is somewhat expendable, but virtually every clause carries information an agent needs before paying for a call.

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 description carries the return-value burden and does so reasonably by naming tokens, daily granularity, ETH pricing source, and USD change. It does not specify field names or the exact response shape, so an agent knows what data comes back but not how it is keyed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description goes beyond it by naming the default token set (USDC, WETH, cbBTC, DAI, USDbC, cbETH, AERO, EURC, plus up to 5 more) and clarifying that the tokens parameter adds extras rather than replacing defaults. That default/extend relationship is not in 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?

The description states a specific verb and resource: daily historical balances of a 0x address on Base, one block per day for up to 30 days, including named tokens and USD valuation. That scope statement ('read at one block per day for up to 30 days') cleanly separates it from the many current-state balance siblings such as base_balance or wallet_balances.

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?

It gives three concrete use cases (tracking how holdings moved, checking a past-date balance, charting a treasury) and a worked example address. It stops short of explicitly naming the alternative for a current snapshot, so the agent must infer that base_balance covers 'now' rather than being told so.

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