{"openapi":"3.1.0","info":{"title":"Solana Rug Check","version":"1.0.0","description":"On-chain token safety check for Solana SPL tokens. Give a mint address and get a GO / CAUTION / DANGER verdict with reasons, read directly from Solana RPC: mint authority, freeze authority, supply, token program, and top-holder concentration. Freeze and mint authority being revoked are the key green flags Solana traders look for. Built for agents that trade or evaluate new tokens. Pay-per-call via MPP on Tempo. No API key, no signup.","x-guidance":"Use Solana Rug Check WHEN an agent needs an on-chain safety read on a Solana SPL token (especially new meme coins) before acting. Body: { token } where token is the mint address. Returns verdict GO/CAUTION/DANGER, reasons, individual checks, and top-holder concentration. DANGER if freeze authority is active (can freeze holders). CAUTION if mint authority is active. IMPORTANT: a GO means authorities are revoked and no on-chain red flags were found, NOT that the token is safe. It does NOT parse Raydium/Pump.fun liquidity locks or detect honeypots. Unpaid requests return HTTP 402 with a Tempo payment challenge; pay with mppx and retry. Full agent docs at /llms.txt.","contact":{"name":"Solana Rug Check","email":"vanlucpdu@gmail.com","url":"https://sol-rugcheck.vercel.app"}},"servers":[{"url":"https://sol-rugcheck.vercel.app"}],"x-docs":{"llmsTxt":"https://sol-rugcheck.vercel.app/llms.txt"},"x-discovery":{"ownershipProofs":["0xcd6b6d99b7751ff30b68fa1365488eb73fa7cefa"]},"x-chains":["solana"],"paths":{"/api/rugcheck":{"post":{"operationId":"solanaRugCheck","summary":"On-chain rug/safety check for a Solana SPL token (GO/CAUTION/DANGER)","tags":["crypto","security","token","rugcheck","solana","meme"],"x-agent-guidance":{"whenToUse":"Use as a go/no-go safety gate before an agent buys, swaps, or interacts with an unfamiliar Solana SPL token, especially new meme coins. The first due-diligence step in any Solana token workflow.","input":"POST JSON: { token } where token is the Solana mint address (base58).","output":"verdict (GO|CAUTION|DANGER), reasons[], checks[] (freeze authority, mint authority, token program, metadata, holder concentration), topHolders, tokenInfo (supply/decimals), 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":"Solana SPL token mint address (base58).","examples":["EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"]}},"required":["token"]}}}},"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":"Always 'solana'."},"token":{"type":"string","description":"The mint address checked."},"tokenInfo":{"type":"object","description":"decimals, supply, tokenProgram (spl-token or token-2022)."},"verdict":{"type":"string","enum":["GO","CAUTION","DANGER"],"description":"GO = authorities revoked, no on-chain red flags; CAUTION = mint authority active; DANGER = freeze authority active or not a valid mint."},"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."},"topHolders":{"type":"object","description":"Top-account concentration (note: the largest account is often the liquidity pool, not a whale)."},"notChecked":{"type":"array","items":{"type":"string"},"description":"What this check does NOT cover (LP locks, honeypot, etc.)."},"explorer":{"type":"string","description":"Solscan 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 mint."},"402":{"description":"Payment Required"}}}}}}