{"openapi":"3.1.0","info":{"title":"TokenVet","version":"1.0.0","description":"One-call token due-diligence for AI trading agents. Scored PASS/CAUTION/FAIL reports covering honeypot sell-simulation, buy/sell taxes, owner privileges, holder concentration, liquidity depth and LP lock — for Base, Ethereum and BNB Chain. No accounts, no API keys — every request is paid on the spot with USDC on Base via the x402 protocol.","x-guidance":"All endpoints are GET with query parameters, returning JSON. Pay per call with x402 (USDC on Base mainnet, eip155:8453). Before buying any token, call GET /api/vet?token=<address>&chain=<base|ethereum|bsc> and act on `verdict` (PASS/CAUTION/FAIL), `score` (0-100) and `flags`. Screen several candidates at once with GET /api/batch?tokens=<a,b,c>. For price/liquidity only, GET /api/snapshot?token=<address>. Free: GET /api (catalog) and GET /api/demo (sample report, no payment).","contact":{"email":"streamofwork@gmail.com"}},"servers":[{"url":"https://tokenvet.oxidized-strand.workers.dev"}],"paths":{"/api/vet":{"get":{"operationId":"vetToken","summary":"Full token due-diligence in one call","description":"Full token due-diligence in one call: honeypot sell-simulation, buy/sell taxes, owner privileges (mint, pause, blacklist, balance-edit), holder concentration, liquidity depth and LP lock, pair age and trade flow — fused into a PASS/CAUTION/FAIL verdict, a 0-100 safety score and typed red flags. Built for trading agents deciding whether to buy. Sources: GoPlus, Honeypot.is, DexScreener.","tags":["Token due-diligence"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.250000"},"protocols":[{"x402":{}}]},"parameters":[{"name":"token","in":"query","required":true,"description":"ERC-20 contract address","schema":{"type":"string"},"example":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},{"name":"chain","in":"query","required":false,"description":"base | ethereum | bsc (default: base)","schema":{"type":"string"},"example":"base"}],"responses":{"200":{"description":"Report","content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"object","properties":{"address":{"type":"string"},"name":{"type":["string","null"]},"symbol":{"type":["string","null"]},"chain":{"type":"string"}}},"verdict":{"type":"string","enum":["PASS","CAUTION","FAIL","UNKNOWN"],"description":"buy-safety verdict"},"score":{"type":["integer","null"],"description":"0-100 safety score"},"flags":{"type":"array","items":{"type":"object","properties":{"severity":{"type":"string","enum":["critical","high","medium","info"]},"code":{"type":"string"},"detail":{"type":"string"}}}},"security":{"type":["object","null"],"description":"honeypot simulation, taxes, owner privileges"},"market":{"type":["object","null"],"description":"price, liquidity, volume, pair age, LP lock"},"holders":{"type":["object","null"],"description":"holder count and concentration"},"sources":{"type":"array","items":{"type":"string"}},"generatedAt":{"type":"string"}},"required":["token","verdict","flags","sources"]}}}},"402":{"description":"Payment Required"}}}},"/api/batch":{"get":{"operationId":"vetTokenBatch","summary":"Batch due-diligence","description":"Batch due-diligence: vet 2-6 tokens in one call and get the same scored PASS/CAUTION/FAIL report for each. Built for screener and portfolio agents ranking candidates before entry.","tags":["Token due-diligence"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"1.000000"},"protocols":[{"x402":{}}]},"parameters":[{"name":"tokens","in":"query","required":true,"description":"comma-separated ERC-20 addresses, 2 to 6","schema":{"type":"string"},"example":"0xTOKEN1,0xTOKEN2"},{"name":"chain","in":"query","required":false,"description":"base | ethereum | bsc (default: base)","schema":{"type":"string"},"example":"base"}],"responses":{"200":{"description":"Report","content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string"},"count":{"type":"integer"},"reports":{"type":"array","items":{"type":"object","properties":{"token":{"type":"object","properties":{"address":{"type":"string"},"name":{"type":["string","null"]},"symbol":{"type":["string","null"]},"chain":{"type":"string"}}},"verdict":{"type":"string","enum":["PASS","CAUTION","FAIL","UNKNOWN"],"description":"buy-safety verdict"},"score":{"type":["integer","null"],"description":"0-100 safety score"},"flags":{"type":"array","items":{"type":"object","properties":{"severity":{"type":"string","enum":["critical","high","medium","info"]},"code":{"type":"string"},"detail":{"type":"string"}}}},"security":{"type":["object","null"],"description":"honeypot simulation, taxes, owner privileges"},"market":{"type":["object","null"],"description":"price, liquidity, volume, pair age, LP lock"},"holders":{"type":["object","null"],"description":"holder count and concentration"},"sources":{"type":"array","items":{"type":"string"}},"generatedAt":{"type":"string"}},"required":["token","verdict","flags","sources"]}}}}}}},"402":{"description":"Payment Required"}}}},"/api/snapshot":{"get":{"operationId":"tokenMarketSnapshot","summary":"Market snapshot for a token","description":"Market snapshot for a token: USD price, liquidity, FDV/market cap, 24h volume, buy/sell counts, price change and top pair across all DEXes on the chain. Aggregated from DexScreener, normalized for agents.","tags":["Token due-diligence"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.100000"},"protocols":[{"x402":{}}]},"parameters":[{"name":"token","in":"query","required":true,"description":"ERC-20 contract address","schema":{"type":"string"},"example":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},{"name":"chain","in":"query","required":false,"description":"base | ethereum | bsc (default: base)","schema":{"type":"string"},"example":"base"}],"responses":{"200":{"description":"Report","content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"object"},"found":{"type":"boolean"},"priceUsd":{"type":["number","null"]},"liquidityUsd":{"type":["number","null"]},"volume24hUsd":{"type":["number","null"]},"txns24h":{"type":"object"},"priceChange24hPct":{"type":["number","null"]},"pairCount":{"type":"integer"},"topPair":{"type":"object"}}}}}},"402":{"description":"Payment Required"}}}}}}