{"openapi":"3.1.0","info":{"title":"Rug Check","version":"1.0.0","description":"On-chain token safety check for EVM meme coins. Give a token contract and chain (Ethereum, BNB Chain, Base) and get a GO / CAUTION / DANGER verdict with reasons, read directly from on-chain state: ERC-20 validity, ownership renounced, upgradeable proxy, mint capability, and LP burn status. Built for agents that trade or evaluate new tokens. Pay-per-call via MPP on Tempo. No API key, no signup.","x-guidance":"Use Rug Check WHEN an agent needs an on-chain safety read on an EVM token before acting (especially new meme coins). Body: { token, chain, mode? }. chain one of: eth, bnb, base. mode is 'auto' (default), 'new' (strict, for fresh meme coins), or 'mature' (lenient, for established tokens). In auto, scoring adapts to liquidity depth. Returns verdict GO/CAUTION/DANGER, reasons, and individual checks. IMPORTANT: a GO means no on-chain red flags in the checks performed, NOT that the token is safe. It does NOT detect honeypots or holder concentration. Reputable centrally-controlled tokens may show CAUTION. Unpaid requests return HTTP 402 with a Tempo payment challenge; pay with mppx and retry. Full agent docs at /llms.txt.","contact":{"name":"Rug Check","email":"vanlucpdu@gmail.com","url":"https://rug-check-iota.vercel.app"}},"servers":[{"url":"https://rug-check-iota.vercel.app"}],"x-docs":{"llmsTxt":"https://rug-check-iota.vercel.app/llms.txt"},"x-discovery":{"ownershipProofs":["0xcd6b6d99b7751ff30b68fa1365488eb73fa7cefa"]},"x-chains":["eth","bnb","base"],"paths":{"/api/rugcheck":{"post":{"operationId":"rugCheck","summary":"On-chain rug/safety check for an EVM token (GO/CAUTION/DANGER)","tags":["crypto","security","token","rugcheck","evm","meme"],"x-agent-guidance":{"whenToUse":"Use as a go/no-go safety gate before an agent buys, swaps, or interacts with an unfamiliar ERC-20 on Ethereum, BNB Chain, or Base, especially new meme coins. The first due-diligence step in any EVM token workflow.","input":"POST JSON: { token (contract 0x...), chain (eth|bnb|base), mode? (auto|new|mature) }. mode=auto adapts to liquidity depth; new=strict for fresh coins; mature=lenient for established tokens.","output":"verdict (GO|CAUTION|DANGER), reasons[], checks[] (ERC-20 validity, ownership renounced, upgradeable proxy, mint capability, LP burn), maturity, tokenInfo, notChecked[].","paymentFlow":"First call returns HTTP 402 with a Tempo MPP challenge. Pay with mppx (USDC.e on Tempo), then retry the same request to get 200."},"x-payment-info":{"price":{"mode":"fixed","amount":"0.020000","currency":"USD"},"protocols":[{"mpp":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string","description":"Token contract address (0x...).","examples":["0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82"]},"chain":{"type":"string","enum":["eth","bnb","base"],"description":"EVM chain: eth, bnb, or base.","examples":["bnb"]},"mode":{"type":"string","enum":["auto","new","mature"],"description":"Scoring mode. auto (default) adapts to liquidity depth; new = strict (fresh meme coins); mature = lenient (established tokens)."}},"required":["token","chain"]}}}},"responses":{"200":{"description":"Rug check verdict and checks.","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","description":"Always 'rugcheck'."},"chain":{"type":"string","description":"Chain checked."},"token":{"type":"string","description":"Token contract checked."},"tokenInfo":{"type":"object","description":"name, symbol, decimals, totalSupply."},"mode":{"type":"string","enum":["new","mature"],"description":"Scoring mode actually applied."},"maturity":{"type":"object","description":"Liquidity-depth read used to pick mode."},"verdict":{"type":"string","enum":["GO","CAUTION","DANGER"],"description":"GO = no on-chain red flags in checks performed; CAUTION = concerning but not fatal; DANGER = serious red flag or not a standard ERC-20."},"reasons":{"type":"array","items":{"type":"string"},"description":"Human-readable reasons behind the verdict."},"checks":{"type":"array","items":{"type":"object"},"description":"Individual checks with id, status (ok|warn|danger|info), detail."},"notChecked":{"type":"array","items":{"type":"string"},"description":"What this check does NOT cover (honeypot, holder concentration, etc.)."},"explorer":{"type":"string","description":"Block-explorer link for the token."},"disclaimer":{"type":"string","description":"Scope and limits of the check."}},"required":["type","chain","token","verdict","reasons"]}}}},"400":{"description":"Bad Request - missing/invalid input."},"402":{"description":"Payment Required"}}}}}}