# Token price API 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 - Price long-tail tokens that central feeds do not list - Value a wallet or a trade inside an agent - Price several tokens in one call ## Crypto price and token price: USD price of a token from Uniswap v3 pools Crypto price and token price: USD price of a token from Uniswap v3 pools. $0.01 per successful call; failed calls are never charged. 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. Inputs: symbol: Ticker such as ETH, BTC, USDC, AERO, ARB, OP or LINK (instead of address; ETH and BTC mean the wrapped tokens); address: 0x ERC-20 token contract address (instead of symbol); chain: Network: base (default), eth, arb or op. Free first (25 successful calls per caller, no key): curl "https://tools.funwords.eu/price/token?symbol=ETH&trial=1" With a card key from https://tools.funwords.eu/credits, in a header or, when your client can only fetch a URL, in the URL: curl -H "Authorization: Bearer adt_…" "https://tools.funwords.eu/price/token?symbol=ETH" curl "https://tools.funwords.eu/price/token?symbol=ETH&api_key=adt_…" Without a key the same URL answers 402 with x402 and MPP terms, so a wallet client pays USDC per call and retries. Over MCP (https://tools.funwords.eu/mcp) this tool is price_token. 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" } Tool page: https://tools.funwords.eu/tools/price-token ## Crypto prices in USD for up to 20 tokens in one call: get USD prices for several crypto tokens or coins in one call 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.005 per successful call; failed calls are never charged. USD prices for up to 20 crypto tokens in one call, by ticker (ETH, BTC, USDC, AERO…) or ERC-20 0x address, on Base, Ethereum, Arbitrum or Optimism, each from its deepest Uniswap v3 pool against USDC or WETH, read live from the chain, with pool, reserve and a thin-liquidity flag. Tokens without a pool are listed under unpriced instead of failing the call. Spot prices. Use to value a basket of tokens 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); 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 (25 successful calls per caller, no key): curl "https://tools.funwords.eu/price/tokens?symbols=ETH%2CBTC%2CAERO&trial=1" With a card key from https://tools.funwords.eu/credits, in a header or, when your client can only fetch a URL, in the URL: curl -H "Authorization: Bearer adt_…" "https://tools.funwords.eu/price/tokens?symbols=ETH%2CBTC%2CAERO" curl "https://tools.funwords.eu/price/tokens?symbols=ETH%2CBTC%2CAERO&api_key=adt_…" Without a key the same URL answers 402 with x402 and MPP terms, so a wallet client pays USDC per call and retries. Over MCP (https://tools.funwords.eu/mcp) this tool is price_tokens. Example result: { "chain": "Base", "chainId": 8453, "ethUsd": 3850.12, "block": 37000000, "prices": [ { "address": "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf", "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…", "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: https://tools.funwords.eu/tools/price-tokens ## 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. Docs for agents: https://tools.funwords.eu/llms.txt · OpenAPI: https://tools.funwords.eu/openapi.json · All guides: https://tools.funwords.eu/guides