{"uid":"cap_qrlKbaMVCxln74TaSOSfe","slug":"fathom-api-base-erc-20-token-price-lookup-a8fa0017","name":"Fathom API - Base ERC-20 Token Price Lookup","description":"Returns price, liquidity, confidence score, main pool, and risk flags for a Base ERC-20 token using Base mainnet DEX liquidity.","url":"https://fathom-api.mioku-fathom.workers.dev/v1/price","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET"],"type":"string"},"queryParams":{"type":"object","required":["token"],"properties":{"chain":{"type":"string","const":"base","default":"base"},"token":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Base ERC-20 token address"}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","required":["token","chain","status"],"properties":{"twap":{"type":"object","required":["price_usd","window_seconds","spot_deviation_bps"],"properties":{"price_usd":{"type":["number","null"]},"window_seconds":{"type":["number","null"],"description":"The window actually averaged over, which may differ per DEX."},"spot_deviation_bps":{"type":["number","null"],"description":"How far spot sits from the average, in basis points."}},"description":"Time-weighted average price from the main pool's own oracle. Null when the pool cannot answer - commonly a fresh pool whose observation cardinality is still 1."},"chain":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}},"flags":{"type":"array","items":{"type":"string"},"description":"Risk markers, in two kinds. Measurements about the token: `thin_liquidity`, `no_exit_liquidity` (the largest advertised sale cannot be filled), `possible_manipulation`, `single_pool`, `stale`, `unsellable`. Limits of what could be established: `twap_unavailable`, `freshness_unchecked`, `sellability_unchecked`, `depth_unavailable`, `liquidity_unmeasured`, `low_measurement_coverage` (under half the confidence model was measured), `no_measurable_signal` (none of it was), `incomplete_pool_coverage` (most discovered pools could not be read, so no verdict about the market is offered), `incomplete_venue_coverage` (one or more DEXes could not be searched, so pools may be missing entirely), `incomplete_quote_coverage` (pools quoted in another asset could not be converted to USD, so the deepest venue may be missing), `exit_liquidity_unverified` (exit was not established rather than found absent), `hardcoded_numeraire` (USDC, whose value is defined rather than measured). Never infer a token is bad from the second kind."},"label":{"enum":["reliable","thin / volatile","unreliable"],"type":"string"},"token":{"type":"string"},"status":{"enum":["ok","not_found","no_liquidity","rpc_error","unpriceable","stale_anchor","unknown_decimals"],"type":"string"},"symbol":{"type":"string"},"main_pool":{"type":"object","required":["dex","address","price_usd"],"properties":{"dex":{"type":"string"},"fee":{"type":"number"},"address":{"type":"string"},"price_usd":{"type":"number"},"liquidity_usd":{"type":"number"}}},"price_usd":{"type":"number"},"confidence":{"type":"number","maximum":100,"minimum":0,"description":"How much this price can be trusted, 0-100. See `flags` for the reasons behind a low score."},"updated_at":{"type":"string","format":"date-time"},"sell_quotes":{"type":"array","items":{"type":"object","required":["size_usd","proceeds_usd","execution_price_usd","price_impact_bps"],"properties":{"size_usd":{"type":"number"},"proceeds_usd":{"type":["number","null"]},"price_impact_bps":{"type":["number","null"]},"execution_price_usd":{"type":["number","null"]}}},"description":"What selling this notional actually returns on the main pool, fees and slippage included. Null fields mean the pool's curve needs a quoter we do not call yet."},"source_count":{"type":"number","description":"Independent pools deep enough to count as a price source. 1 means single-venue."},"liquidity_usd":{"type":["number","null"],"description":"Parked liquidity in the main pool. Null for concentrated-liquidity pools, where the on-chain figure is an active-range parameter rather than a balance - use sell_quotes there."},"depth_1pct_usd":{"type":["number","null"],"description":"Notional that moves the main pool's marginal price by 1%."},"depth_5pct_usd":{"type":["number","null"],"description":"Notional that moves the main pool's marginal price by 5%."},"measured_weight":{"type":"number","maximum":1,"minimum":0,"description":"Share of the confidence model actually backed by a measurement, 0-1. `confidence` is computed only over the components that were measured, so this says how much evidence stands behind it: 1.0 is the whole model, 0.35 is a score derived from barely a third of it. Below 0.5 the response cannot be labelled reliable and carries `low_measurement_coverage`."},"price_dispersion_bps":{"type":["number","null"],"description":"Spread between independent sources in basis points; null when there are fewer than 2 sources."},"confidence_components":{"type":"object","properties":{"maturity":{"type":"object","required":["score","weight","effective_weight"],"properties":{"score":{"type":["number","null"],"maximum":1,"minimum":0},"weight":{"type":"number"},"effective_weight":{"type":"number"}}},"liquidity":{"type":"object","required":["score","weight","effective_weight"],"properties":{"score":{"type":["number","null"],"maximum":1,"minimum":0},"weight":{"type":"number"},"effective_weight":{"type":"number"}}},"volatility":{"type":"object","required":["score","weight","effective_weight"],"properties":{"score":{"type":["number","null"],"maximum":1,"minimum":0},"weight":{"type":"number"},"effective_weight":{"type":"number"}}},"twap_deviation":{"type":"object","required":["score","weight","effective_weight"],"properties":{"score":{"type":["number","null"],"maximum":1,"minimum":0},"weight":{"type":"number"},"effective_weight":{"type":"number"}}},"source_agreement":{"type":"object","required":["score","weight","effective_weight"],"properties":{"score":{"type":["number","null"],"maximum":1,"minimum":0},"weight":{"type":"number"},"effective_weight":{"type":"number"}}},"execution_quality":{"type":"object","required":["score","weight","effective_weight"],"properties":{"score":{"type":["number","null"],"maximum":1,"minimum":0},"weight":{"type":"number"},"effective_weight":{"type":"number"}}}},"description":"Per-component breakdown of `confidence`. A component with score null was not measured and its weight was redistributed across the ones that were."}}}}}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.001","displayCostAsset":"USDC","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.001/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_xDsPqJdqaqEFCIOBLsj7R","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.001","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Returns current USD price, liquidity depth, confidence score, main DEX pool, and risk flags for a single Base mainnet ERC-20 token.","exampleAgentPrompt":"What's the current DEX price, liquidity, and confidence score for the Base token at address 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 on Base mainnet?","exampleUseCases":null,"resultDescription":"Returns a JSON object with the token's USD price (price_usd), 5-minute TWAP (twap_5m), price range (price_low/price_high), total liquidity in USD, a confidence score (0–1), the main DEX pool details (exchange name, pool address, fee tier, pool price and liquidity), a human-readable label, symbol, risk flag array, and a status field indicating ok, not_found, no_liquidity, rpc_error, or unpriceable. Also includes the timestamp of the last update.","failureModes":["Token address not found on Base: status='not_found' with error code and message","Token exists but has no DEX liquidity: status='no_liquidity'","RPC connectivity issue with Base node: status='rpc_error'","Token cannot be priced due to extreme conditions: status='unpriceable'","Invalid token address format (not a 0x-prefixed 40-char hex): likely 4xx validation error","Payment not included or insufficient: 402 Payment Required"],"whenToPreferThis":"Use this endpoint when you need on-chain DEX-derived pricing for a specific Base mainnet ERC-20 token, including liquidity depth, confidence scoring, and risk flags — particularly when you need more than just a price quote and want pool-level detail. Prefer this over centralized price feeds when you need trustless, DEX-native data for Base chain tokens specifically.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T06:35:10.014Z","isFirstParty":false}