Token price API

From $0.002 per successful call · failed calls are never charged · no account needed · Markdown version: /guides/token-price-api.md

Get a token's USD price read from its Uniswap v3 pools on chain at call time, by ticker, address or CoinGecko-style id, on Base, Ethereum, Arbitrum, Optimism or Polygon; up to 20 tokens in one call.

When an agent wants this

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

Token price in USD for a crypto token by symbol, coin name or CoinGecko id from a built-in list of main tokens (ETH, BTC, USDC, AERO, ARB, OP, LINK, PEPE…) or any ERC-20 0x address on Base, Ethereum, Arbitrum or Optimism, from the deepest Uniswap v3 pool against USDC or WETH, read live. Returns pool, fee tier, reserve and a thin-liquidity flag. Spot price; no pool is 422, uncharged. Use to value a token or check a quote before a swap or payment.

Inputs: symbol: Ticker such as ETH, BTC, USDC, AERO, ARB, OP or LINK (instead of address; ETH and BTC mean the wrapped tokens; an HTTP call with no input at all answers for BTC); address: 0x ERC-20 token contract address (instead of symbol); chain: Network: base (default), eth, arb or op.

Free first (3 successful calls per caller, no key):

curl "https://glyphcall.com/price/token?symbol=ETH&trial=1"

With a card key from /credits, in a header or, when your client can only fetch a URL, in the URL:

curl -H "Authorization: Bearer adt_…" "https://glyphcall.com/price/token?symbol=ETH"
curl "https://glyphcall.com/price/token?symbol=ETH&api_key=adt_…"

Without a key the same URL answers 402 Payment Required with x402 and MPP terms, so a wallet client pays USDC per call and retries. Over MCP (https://glyphcall.com/mcp) this tool is price_token.

Example result
{
  "chain": "Base",
  "chainId": 8453,
  "token": {
    "address": "0x4200000000000000000000000000000000000006",
    "symbol": "WETH",
    "decimals": 18
  },
  "priceUsd": 3850.12,
  "quotedIn": "USDC",
  "pool": {
    "address": "0x…",
    "feeTier": 500,
    "quoteReserve": 2500000.25,
    "quoteReserveUsd": 2500000.25
  },
  "ethUsd": 3850.12,
  "thinLiquidity": false,
  "block": 37000000,
  "method": "Uniswap v3 spot price from the pool with the largest USDC or WETH reserve"
}

Tool page, inputs and limits

Crypto prices in USD for up to 20 tokens in one call: get USD prices for several crypto tokens or coins in one call $0.002

USD prices for up to 20 crypto tokens in one call, by ticker (ETH, BTC, LINK, AERO…) or ERC-20 0x address, on Base, Ethereum, Arbitrum and Optimism, each from its deepest Uniswap v3 pool against USDC or WETH, read live, with pool, reserve and a thin-liquidity flag. With no chain named each ticker is priced on the network that lists it. Tokens without a pool are listed as unpriced. Use to value a basket or refresh a watchlist in one paid call.

Inputs: symbols: Comma-separated tickers such as ETH,BTC,AERO (with or instead of addresses; 1-20 tokens in all; an HTTP call with no input at all answers for BTC and ETH); addresses: Comma-separated 0x ERC-20 token addresses (with or instead of symbols; 1-20 tokens in all); chain: Network: base (default), eth, arb or op.

Free first (3 successful calls per caller, no key):

curl "https://glyphcall.com/price/tokens?symbols=ETH%2CBTC%2CAERO&trial=1"

With a card key from /credits, in a header or, when your client can only fetch a URL, in the URL:

curl -H "Authorization: Bearer adt_…" "https://glyphcall.com/price/tokens?symbols=ETH%2CBTC%2CAERO"
curl "https://glyphcall.com/price/tokens?symbols=ETH%2CBTC%2CAERO&api_key=adt_…"

Without a key the same URL answers 402 Payment Required with x402 and MPP terms, so a wallet client pays USDC per call and retries. Over MCP (https://glyphcall.com/mcp) this tool is price_tokens.

Example result
{
  "chain": "Base",
  "chainId": 8453,
  "ethUsd": 3850.12,
  "block": 37000000,
  "networks": [
    {
      "chain": "Base",
      "chainId": 8453,
      "block": 37000000
    }
  ],
  "prices": [
    {
      "address": "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",
      "chain": "Base",
      "symbol": "cbBTC",
      "decimals": 8,
      "priceUsd": 104250.5,
      "quotedIn": "USDC",
      "pool": {
        "address": "0x…",
        "feeTier": 500,
        "quoteReserve": 2500000.25,
        "quoteReserveUsd": 2500000.25
      },
      "thinLiquidity": false
    }
  ],
  "unpriced": [
    {
      "address": "0x…",
      "chain": "Base",
      "reason": "no Uniswap v3 pool against USDC or WETH"
    }
  ],
  "method": "Uniswap v3 spot price from the pool with the largest USDC or WETH reserve"
}

Tool page, inputs and limits

Questions

Where does the price come from?

The token's Uniswap v3 pools on the chosen chain, read on chain when you call.

Which inputs work?

A ticker such as WETH, a 0x address, a CoinGecko id such as coingecko:bitcoin or a coin name.

Can I price several tokens at once?

Yes, /price/tokens prices up to 20 tokens in one call.

How do I pay?

Each successful call costs the tool's price; failed calls are not charged. The first 3 calls are free. Then pay with card credits from $1 (the key goes in an Authorization header or as api_key= in the URL) or per call in USDC over x402 or MPP. No account is needed.