Skip to main content
Glama

Crypto price and token price: USD price of a token from Uniswap v3 pools

price_token
Read-only

Crypto token USD price by ticker (ETH, BTC, USDC, AERO, ARB, OP, LINK…) or by any ERC-20 0x address on Base, Ethereum, Arbitrum or Optimism, from the deepest Uniswap v3 pool against USDC or WETH, read live from the chain. Returns the pool, its fee tier, the quote reserve and a thin-liquidity flag. Spot price, not a time average. No pool returns 404, uncharged. Use to value a token or check a quote before a swap or payment. Example: symbol=ETH. 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
chainNoNetwork: base (default), eth, arb or op
symbolNoTicker such as ETH, BTC, USDC, AERO, ARB, OP or LINK (instead of address; ETH and BTC mean the wrapped tokens)
addressNo0x ERC-20 token contract address (instead of symbol)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / address / description
      Previous value: -"0x ERC-20 token contract address"New value: +"0x ERC-20 token contract address (instead of symbol)"
    • addedInput schema / properties / symbol
      Added value: +{
      +  "description": "Ticker such as ETH, BTC, USDC, AERO, ARB, OP or LINK (instead of address; ETH and BTC mean the wrapped tokens)",
      +  "type": "string"
      +}
    • removedInput schema / required
      Removed value: -[
      -  "address"
      -]
  2. Added

TDQS

A4.1/5.0
Behavior5/5

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

Annotations cover the read-only/safe profile, and the description adds substantive behavior beyond them: per-call cost ($0.01, first 25 free, failed calls free), that repeats are charged despite idempotentHint=false, that a missing pool yields a free 404, and what the response contains (pool, fee tier, quote reserve, thin-liquidity flag). That is exactly the payment and failure context an agent cannot get from structured fields.

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?

Purpose and data source are front-loaded, and the example is compact and useful. It is dense but several clauses (payment rails, free-tier counts) crowd the middle, slightly blurring the scan order for an agent skimming for when-to-use.

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 compensates by listing the returned fields and the 404 failure mode, and it covers cost and side effects. The one real hole is the zero-required-parameter contract: it does not say what is returned or errored if neither symbol nor address is passed.

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% and the schema already documents that address is used "instead of symbol" and that ETH/BTC mean wrapped tokens. The description adds only a light gloss (full chain names for the base/eth/arb/op enum abbreviations) and never addresses what happens when neither symbol nor address is supplied, notable given zero required parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb+resource (USD price of a crypto token by ticker or ERC-20 address), the chains supported, and the exact source (deepest Uniswap v3 pool vs USDC/WETH). It also pins down that this is spot, not a time average. It never mentions the near-identical sibling price_tokens, so an agent gets no explicit disambiguation between the two.

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?

"Use to value a token or check a quote before a swap or payment" plus a concrete example (symbol=ETH) gives a clear use context, and "Spot price, not a time average" implicitly rules out historical/TWAP use cases. It stops short of naming an alternative tool or stating exclusions vs btc_price / price_tokens / fx.

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.