ERC-20 token price API from Uniswap v3 pools

$0.01 per call · failed calls are never charged · no account or subscription: pay per call with a card key or USDC

Token price in USD for a crypto token by symbol (ETH, BTC, USDC, AERO, ARB, OP, LINK…), coin name, CoinGecko id or ERC-20 0x address on Base, Ethereum, Arbitrum or Optimism, from the deepest Uniswap v3 pool against USDC or WETH, read live. Returns the pool, fee tier, 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.

When to use it

Guide: Token price API

Run it free (25 free calls) Buy credits by card (from $1) Example result (JSON)

Try it with your own inputs

Ticker such as ETH, BTC, USDC, AERO, ARB, OP or LINK (instead of address; ETH and BTC mean the wrapped tokens)

Uses one of your 25 free calls. Nothing is charged, and a call that fails is not counted.

Inputs

NameTypeDescription
symbolstringTicker such as ETH, BTC, USDC, AERO, ARB, OP or LINK (instead of address; ETH and BTC mean the wrapped tokens)
addressstring0x ERC-20 token contract address (instead of symbol)
chainstringNetwork: base (default), eth, arb or op. One of: base, eth, arb, op.

Request

Over HTTP, with a card key from /credits:

curl -H "Authorization: Bearer adt_…" "https://tools.funwords.eu/price/token?symbol=ETH"

Or one of your 25 free calls, no key:

curl "https://tools.funwords.eu/price/token?symbol=ETH&trial=1"

Without a key, the same URL answers 402 Payment Required with x402 and MPP terms, so an agent with a wallet pays per call in USDC (Base, Polygon, Arbitrum or Solana over x402; Base or Tempo over MPP) and retries.

Example result

{
  "chain": "Base",
  "chainId": 8453,
  "token": {
    "address": "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",
    "symbol": "cbBTC",
    "decimals": 8
  },
  "priceUsd": 104250.5,
  "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"
}

From an AI agent (MCP)

Add the MCP server to Claude, Cursor or any MCP client. This tool is price_token, and the first 25 successful calls are free:

https://tools.funwords.eu/mcp

Questions

Where does the price come from?

The token's Uniswap v3 pools on the chosen chain, read on chain at call time.

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 $0.01; failed calls are not charged. The first 25 calls are free. Then pay with card credits (from $1; the key goes in an Authorization header or, for clients that can only fetch a URL, as api_key= in the URL) or per call in USDC over x402 or MPP. No account is needed.

Related tools