{"uid":"cap_0FJ6U-Fypj30_ba31PzAH","slug":"agent-data-tools-erc-20-token-prices-via-uniswap-v3-899cd317","name":"Agent Data Tools: ERC-20 Token Prices via Uniswap v3","description":"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.","url":"https://agent-data-tools.revmesh2074.workers.dev/price/tokens?utm_source=zero.xyz","method":"GET","headers":{},"bodySchema":{"type":"object","properties":{"chain":{"enum":["base","eth","arb","op"],"type":"string","description":"Network: base (default), eth, arb or op"},"symbols":{"type":"string","description":"Comma-separated tickers such as ETH,BTC,AERO (with or instead of addresses; 1-20 tokens in all)"},"addresses":{"type":"string","description":"Comma-separated 0x ERC-20 token addresses (with or instead of symbols; 1-20 tokens in all)"}}},"responseSchema":{"type":"object","properties":{"block":{"type":"number"},"chain":{"type":"string"},"ethUsd":{"type":"number"},"method":{"type":"string"},"prices":{"type":"array","items":{"type":"object","properties":{"pool":{"type":"object","properties":{"address":{"type":"string"},"feeTier":{"type":"number"},"quoteReserve":{"type":"number"},"quoteReserveUsd":{"type":"number"}}},"symbol":{"type":"string"},"address":{"type":"string"},"decimals":{"type":"number"},"priceUsd":{"type":"number"},"quotedIn":{"type":"string"},"thinLiquidity":{"type":"boolean"}}}},"chainId":{"type":"number"},"unpriced":{"type":"array","items":{"type":"object","properties":{"reason":{"type":"string"},"address":{"type":"string"}}}}}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.005","displayCostAsset":"USD","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.005/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_Zc7d5jdD_-MXQqjxlwRdo","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.005","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Fetches real-time USD prices for up to 20 ERC-20 tokens by address using Uniswap v3 spot prices on Base, Ethereum, Arbitrum, or Optimism","exampleAgentPrompt":"What's the current USD price of the token at address 0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf on Base — pull the Uniswap v3 spot price?","exampleUseCases":[{"title":"DeFi portfolio USD valuation","prompt":"I have a list of ERC-20 tokens on Base — 0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf and 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 — can you get me their current USD prices from Uniswap v3?"},{"title":"Arbitrage opportunity detection","prompt":"Can you check the current Uniswap v3 spot prices on Arbitrum for these two tokens: 0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8 and 0x82aF49447D8a07e3bd95BD0d56f35241523fBab1? I want to see if there's a price discrepancy worth acting on."},{"title":"Token launch price monitoring","prompt":"What is the current USD price for the newly launched token at 0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA on Base according to Uniswap v3, and is there enough liquidity in the pool?"}],"resultDescription":"Returns a JSON object with the current block number, chain name and ID, ETH/USD rate, and an array of priced tokens each containing the token symbol, address, decimals, USD price, the Uniswap pool used (address, fee tier, quote reserve in tokens and USD), and whether the pool has thin liquidity. Also returns an array of unpriced tokens with the reason (e.g. no Uniswap v3 pool against USDC or WETH).","failureModes":["Token address not found in any Uniswap v3 pool — returned in 'unpriced' array with reason","No pool exists against USDC or WETH for requested token — unpriced with explanation","Invalid or malformed contract address — request rejected","More than 20 addresses supplied — request rejected","Unsupported chain specified — validation error","Thin liquidity flag set to true indicating price may be unreliable","Payment failure — call not charged, HTTP 402 returned"],"whenToPreferThis":"Choose this endpoint when you need on-chain, real-time Uniswap v3 spot prices for ERC-20 tokens by contract address across Base, Ethereum, Arbitrum, or Optimism. It is ideal when you need the actual pool-backed market price with liquidity context (reserve sizes, fee tier) rather than an aggregated or CEX price. No API key is required — pay per call in USDC via x402. Prefer this over CoinGecko-style endpoints when you need direct on-chain data, support for newly listed tokens, or pool-level detail.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-20T15:58:56.248Z","isFirstParty":false,"canonicalSlug":"agent-data-tools-erc-20-token-prices-via-uniswap-v3-899cd317"}