{"uid":"cap_bKkENFNMyA4OnHU3su8S2","slug":"otto-ai-token-score-46327503","name":"Otto AI Token Score","description":"Token score by contract address — one 0-100 composite of a Base token market structure from seven weighted factors: USD liquidity, holder concentration, holder count, 24h volume, market age, pool breadth and price stability. Every sub-score, weight, raw input, source plane and read time comes back with the number, plus the full breakpoint curve, so the score can be recomputed from the response. A factor whose data plane is unavailable is reporte…","url":"https://x402.ottoai.services/token-score","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":{"token":{"type":"string","description":"Base (chain 8453) ERC-20 contract address, 0x followed by 40 hex characters. Address-keyed on purpose: a ticker symbol could resolve to a different chain deployment on one data plane than on another, and the composite would then fuse two tokens. Use /token-price for symbol lookups."}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","required":["status"],"properties":{"data":{},"meta":{"type":"object"},"reason":{"type":"string","description":"status=unavailable only; every >=400 is UNCHARGED"},"status":{"enum":["success","unavailable"],"type":"string"}}}}}}},"responseSchema":{"type":"json","example":{"data":{"band":"high","note":"A single 0-100 read on this toke...","score":74.6,"token":{"name":"Brett","symbol":"BRETT","address":"0x532f27101965dd16442e59d40670fa...","network":"base"},"caveats":[{"code":"token_score_is_market_structure_...","plain":"This score measures market struc...","affects":["score"]}],"context":{"fdvUsd":418200000,"priceUsd":0.04182,"turnover24h":0.121,"liquidityUsd":1115151.5,"marketCapUsd":414220000,"totalHolders":3420,"volume24hUsd":284110.9,"poolsReturned":20,"distinctDexCount":10,"matchedPoolCount":20,"oldestPoolAgeDays":118,"priceChange24hPct":-6.8,"pooledLiquidityUsd":2343405.11,"top10SupplyPercent":33.4,"absPriceChange24hPct":6.8,"holderChange7dPercent":1.9},"factors":[{"key":"liquidity","input":2343405.11,"plane":"dex-pools-token","score":85.6,"weight":0.24,"present":true,"measures":"USD liquidity summed across the ...","inputUnit":"USD","planeReadAt":"2026-09-01T11:58:06.000Z","absenceReason":null}],"formula":{"bands":[{"min":80,"band":"very-high"}],"method":"weighted-mean-of-piecewise-linea...","factors":[{"key":"liquidity","plane":"dex-pools-token","weight":0.24,"measures":"USD liquidity summed across the ...","inputUnit":"USD","inputField":"context.pooledLiquidityUsd","breakpoints":[{"x":0,"score":0}]}],"description":"Each factor maps its raw input o...","minWeightCoverage":0.5},"coverage":{"factorsTotal":7,"factorsPresent":7,"planesAnswered":["dex-price-base"],"weightCoverage":1,"minWeightCoverage":0.5,"planesUnavailable":[]},"generatedAt":"2026-09-01T12:00:00.000Z","methodology":"https://docs.useotto.xyz/acp-swa...","scoreWithheldReason":null},"meta":{"degraded":false,"validUntil":"","generatedAt":"","stalenessSec":0},"status":"success"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.01","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.01/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_8qj1VM-gph5ZDvAKDxzZy","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Returns a composite 0-100 market structure score for a Base ERC-20 token, derived from seven weighted factors including liquidity, holder concentration, volume, age, pool breadth, and price stability.","exampleAgentPrompt":"Give me a full market structure score for the Base token at contract address 0x532f27101965dd16442e59d40670fac45d143f5e — I want to see the composite 0-100 score, each of the seven factor sub-scores, and the raw liquidity and holder data behind them.","exampleUseCases":[{"title":"Vet a new Base token before buying","prompt":"Before I ape into this token, can you pull the Otto AI market structure score for Base contract 0x532f27101965dd16442e59d40670fac45d143f5e and tell me if the liquidity and holder concentration look healthy?"},{"title":"Compare token quality for portfolio selection","prompt":"I'm choosing between two Base tokens — run the market structure score on 0x532f27101965dd16442e59d40670fac45d143f5e and tell me its score band, volume score, and how much of the supply the top 10 holders control."},{"title":"Monitor a token's structural health over time","prompt":"Check the current composite score for Base token 0x532f27101965dd16442e59d40670fac45d143f5e and break down which of the seven factors are dragging the score down versus contributing positively."}],"resultDescription":"Returns a JSON object with: a composite 0-100 score and band label (e.g. 'high'), an array of seven factor objects each containing key, raw input value, sub-score, weight, data plane name, and read timestamp, a formula object with the full breakpoint curves so the score can be independently recomputed, coverage metadata (how many factors were present, total weight coverage), token context fields (FDV, market cap, price, 24h volume, holder count, pool count, top-10 supply percent), caveats, a methodology URL, and a generatedAt timestamp.","failureModes":["Invalid or non-Base contract address returns an error — only Base (chain 8453) ERC-20 addresses accepted","Token not found in any data plane — score may be withheld (scoreWithheldReason non-null) if weight coverage falls below 0.5 minimum","Partial data plane outage returns degraded:true in meta; affected factors marked present:false with absenceReason","Stale or unavailable pool data causes liquidity/volume factors to be absent, reducing coverage","Ticker symbol passed instead of contract address will fail — use /token-price sibling for symbol resolution first"],"whenToPreferThis":"Use this endpoint when you need a structured, auditable, multi-factor market quality score for a specific Base ERC-20 token identified by contract address. Prefer it over generic token price endpoints when you need more than price — specifically liquidity depth, holder distribution, pool breadth, and price stability combined into a single comparable number. It is especially valuable when comparing tokens, screening for rug-pull risk, or justifying a position programmatically, because the full breakpoint curves and sub-scores make the composite reproducible and explainable. Use the contract address form (not ticker) to avoid cross-chain resolution ambiguity.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T12:56:49.821Z","isFirstParty":false}