{"uid":"cap_kRDVaSOVZimlppN2sYNjd","slug":"rugguard-v1-explain-smart-contract-rug-risk-explanation-e8b10a6d","name":"RugGuard /v1/explain — Smart Contract Rug Risk Explanation","description":"Pay-per-call rug check for crypto smart contracts. Built for AI agents on Agentic.market (x402). USDC fractional pricing, no API key.","url":"https://rugguard.redfleet.fr/v1/explain?utm_source=zero.xyz","method":"GET","headers":{},"bodySchema":{"type":"object","required":["scan_id"],"properties":{"scan_id":{"type":"string","description":"UUID returned by a previous /v1/scan call."}}},"responseSchema":{"type":"object","title":"ExplainResponse","examples":[{"value":{"chain":"base","flags":[{"code":"OWNER_NOT_RENOUNCED","severity":"high"},{"code":"LP_NOT_LOCKED","severity":"critical"},{"code":"MINT_AUTHORITY_ACTIVE","severity":"critical"}],"score":32,"scan_id":"01J9-aaaa-bbbb-cccc-dddddddddddd","verdict":"low_risk","contract":"0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed","endpoint":"/v1/scan","disclaimer":"RugGuard is a data analytics tool, not a security guarantee. Best-effort heuristic scoring. See /security.html.","elapsed_ms":18575,"scanned_at":"2026-04-28T12:00:00Z","score_confidence":"medium","score_calculation":"weighted_sum_normalized_0_100","heuristics_evaluated":[{"code":"OWNER_NOT_RENOUNCED","weight":15,"outcome":"fail","evidence":{"owner":"0x704Ec5C12Ca20a293C2C0B72B22619A4231f3c0d","is_zero_or_dead":false},"severity":"high"},{"code":"LP_NOT_LOCKED","weight":25,"outcome":"fail","evidence":{"best_burnt_pct":0,"pool_addresses":["0xdc7a26f2d05e6f0b62e21e11ce8a9b6dc0c0e7f4"],"lockers_detected":[]},"severity":"critical"},{"code":"TOP10_CONCENTRATION_HIGH","weight":20,"outcome":"pass","evidence":{"top10_pct":22.1},"severity":"high"},{"code":"HONEYPOT_DETECTED","weight":30,"outcome":"skip","evidence":{"reason":"goplus_returned_no_honeypot_signal"},"severity":"critical"}]},"summary":"low_risk explain — full per-heuristic audit trail","description":"Audit trail of a `low_risk` scan. Each entry shows the heuristic code, the weight that contributed to the score, the outcome (pass/fail/skip), and the structured evidence returned by the heuristic at scan time. Use this for compliance, post-mortems, or surfacing a user-visible explanation."},{"value":{"chain":"base","flags":[{"code":"OWNER_NOT_RENOUNCED","severity":"high"}],"score":100,"scan_id":"0a1b2c3d-4444-4abc-8def-555566667777","verdict":"uncertain","contract":"0x9999999999999999999999999999999999999999","endpoint":"/v1/scan","disclaimer":"RugGuard is a data analytics tool, not a security guarantee. Best-effort heuristic scoring. See /security.html.","elapsed_ms":9421,"scanned_at":"2026-04-28T12:00:00Z","score_confidence":"insufficient_data","score_calculation":"weighted_sum_normalized_0_100","heuristics_evaluated":[{"code":"OWNER_NOT_RENOUNCED","weight":15,"outcome":"fail","evidence":{"owner":"0xabc...","is_zero_or_dead":false},"severity":"high"},{"code":"HONEYPOT_DETECTED","weight":30,"outcome":"skip","evidence":{"reason":"goplus_no_data_for_address"},"severity":"critical"},{"code":"TOP10_CONCENTRATION_HIGH","weight":20,"outcome":"skip","evidence":{"reason":"goplus_no_data_for_address"},"severity":"high"}]},"summary":"uncertain explain — most heuristics SKIPped","description":"When `verdict` is `uncertain`, `/v1/explain` exposes which heuristics SKIPped and why (`evidence.reason`). This is the diagnostic surface — agents can decide whether to retry later (e.g., GoPlus rate-limited) or to abstain entirely (contract is dead / unindexed)."}],"required":["scan_id","chain","contract","score","verdict","score_confidence","endpoint","scanned_at","flags","heuristics_evaluated"],"properties":{"chain":{"type":"string","title":"Chain"},"flags":{"type":"array","items":{"type":"object","title":"FlagOut","required":["code","severity"],"properties":{"code":{"type":"string","title":"Code","description":"Stable flag identifier, e.g. OWNER_NOT_RENOUNCED."},"severity":{"type":"string","title":"Severity","description":"One of low | medium | high | critical."}}},"title":"Flags"},"score":{"type":"integer","title":"Score","maximum":100,"minimum":0},"scan_id":{"type":"string","title":"Scan Id"},"verdict":{"type":"string","title":"Verdict"},"contract":{"type":"string","title":"Contract"},"endpoint":{"type":"string","title":"Endpoint"},"signature":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signature","description":"Base64 Ed25519 signature over the canonicalized body. Null when signing is unconfigured. See /v1/pubkey + rugguard-verify CLI."},"disclaimer":{"type":"string","title":"Disclaimer","default":"RugGuard is a data analytics tool, not a security guarantee. Best-effort heuristic scoring. See /security.html."},"elapsed_ms":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Elapsed Ms"},"scanned_at":{"type":"string","title":"Scanned At","format":"date-time"},"key_fingerprint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key Fingerprint","description":"Routing identifier (first 8 bytes of SHA-256(pubkey) hex). Matches /v1/pubkey.fingerprint; not a cryptographic primitive."},"score_confidence":{"type":"string","title":"Score Confidence","description":"insufficient_data | low | medium | high — recomputed from the persisted heuristic results."},"score_calculation":{"type":"string","title":"Score Calculation","default":"weighted_sum_normalized_0_100"},"heuristics_evaluated":{"type":"array","items":{"type":"object","title":"HeuristicEvaluation","required":["code","weight","severity","outcome"],"properties":{"code":{"type":"string","title":"Code","description":"Stable heuristic identifier, e.g. LP_NOT_LOCKED."},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error","description":"Exception class name if the heuristic crashed."},"weight":{"type":"integer","title":"Weight","description":"Contribution to the weighted score when this heuristic decides."},"outcome":{"type":"string","title":"Outcome","description":"pass | fail | skip."},"evidence":{"type":"object","title":"Evidence","description":"Heuristic-specific structured evidence."},"severity":{"type":"string","title":"Severity","description":"low | medium | high | critical."}},"description":"One heuristic's result as recorded at scan time. Used by /v1/explain."},"title":"Heuristics Evaluated"}},"description":"Response shape for GET /v1/explain?scan_id=..."},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.005","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"settled","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.005/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_1qn3w96F_aJpBe1pQ7-t3","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.005","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Returns a human-readable rug risk explanation, score, flags, and verdict for a previously scanned smart contract, given a scan_id from /v1/scan.","exampleAgentPrompt":"I just scanned contract 0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed and got scan_id '01J9-aaaa-bbbb-cccc-dddddddddddd' — can you pull the RugGuard explanation and tell me whether it flagged anything critical like unlocked liquidity or active mint authority?","exampleUseCases":null,"resultDescription":"Returns a JSON object with the numeric risk score (0-100), a verdict string (e.g. 'low_risk'), an array of flags each with a stable code (e.g. 'LP_NOT_LOCKED') and severity (low/medium/high/critical), a list of heuristics evaluated with weight, outcome, and evidence, the chain and contract address, scanned_at timestamp, score confidence, and a disclaimer about best-effort heuristic scoring.","failureModes":["scan_id not found or expired — returns 404 or error indicating the scan does not exist","malformed UUID for scan_id — returns 400 validation error","scan still processing — may return incomplete or pending state","service unavailable — returns 5xx if backend is down","payment not completed — returns 402 if x402 payment was not processed correctly"],"whenToPreferThis":"Use this endpoint after calling /v1/scan to obtain a detailed, human-interpretable explanation of rug risk for a smart contract. Prefer this over /v1/scan when you already have a scan_id and want the full breakdown of flags, heuristics, and scoring rationale rather than triggering a fresh scan. Ideal for AI agents that need to present risk reasoning to a user or make a pre-trade safety decision based on heuristic evidence.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-12T06:37:01.332Z","isFirstParty":false,"canonicalSlug":"rugguard-v1-explain-smart-contract-rug-risk-explanation-e8b10a6d"}