{"x402Version":1,"supportedVersions":[1,2],"network":"base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x728bf8c4cb1aAB7680efe207917855b047900157","facilitator":"https://api.cdp.coinbase.com/platform/v2/x402","service":{"name":"RugGuard","version":"0.0.1","summary":"Pay-per-call rug-check API for crypto smart contracts on Base + Solana. Pre-trade systemic risk scan for AI agents on x402; quick scan $0.01, deep scan $0.05.","description":"RugGuard runs 14 deterministic heuristics on Base contracts (and 5 on Solana SPL tokens) and returns a weighted risk score 0-100, a verdict, and structured red flags. Catalog includes `OWNER_NOT_RENOUNCED`, `LP_NOT_LOCKED`, `LP_INSUFFICIENT_LIQUIDITY`, `HONEYPOT_DETECTED`, `HONEYPOT_TAX_HIGH`, `HONEYPOT_ASYMMETRIC`, `MINT_AUTHORITY_ACTIVE`, `HIDDEN_OWNER`, `OWNER_CAN_PAUSE`, `TOP10_CONCENTRATION_HIGH`, `SOURCE_NOT_VERIFIED`, `DEPLOYER_WALLET_YOUNG`, `DEPLOYER_RUG_HISTORY`, `BYTECODE_SIMILAR_TO_RUG` (MinHash on 4-byte shingles vs known rug templates) on Base; `SOL_MINT_AUTHORITY_ACTIVE`, `SOL_FREEZE_AUTHORITY_ACTIVE`, `SOL_TOP10_CONCENTRATION_HIGH`, `SOL_DEPLOYER_RUG_HISTORY`, `SOL_LP_NOT_LOCKED` on Solana. Two tiers: `GET /v1/scan/{chain}/{contract}` ($0.01, <300 ms cache hit, <15 s cold) for the routine pre-trade call; `GET /v1/scan/deep/...` ($0.05) bypasses the cache and returns the full per-heuristic audit trail inline. `GET /v1/explain?scan_id=...` ($0.005) replays a previous scan's evidence for compliance / post-mortem. `GET /v1/metrics` publishes live empirical recall and per-chain sample counts (free). Settled in USDC on Base via the Coinbase CDP facilitator (x402). No API key, no signup — the wallet that pays is the identity. Best-effort analytics, not a security guarantee — see /security.html.","contact":{"name":"RugGuard","url":"https://rugguard.redfleet.fr","email":"contact@redfleet.fr"},"license":{"name":"Proprietary — see /terms.html","url":"https://rugguard.redfleet.fr/terms.html"},"category":"security","tags":["rug-check","rug-pull","honeypot-detection","token-security","token-risk","pre-trade","lp-lock","mint-authority","top-holder-concentration","solana","base"],"landing_url":"https://rugguard.redfleet.fr/","openapi_url":"https://rugguard.redfleet.fr/openapi.json","trust_url":"https://rugguard.redfleet.fr/trust.html","validation_url":"https://rugguard.redfleet.fr/validation.html"},"resources":[{"resource":"https://rugguard.redfleet.fr/v1/scan/{chain}/{contract}","method":"GET","network":"base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","maxAmountRequired":"10000","priceUsdc":"0.01","payTo":"0x728bf8c4cb1aAB7680efe207917855b047900157","name":"RugGuard quick scan","description":"Pre-trade rug-check on Base or Solana. Returns score 0-100, verdict, structured flags. Cache hit <300 ms, cold <15 s.","category":"security","extensions":{"bazaar":{"discoverable":true,"name":"RugGuard quick scan","category":"security","tags":["rug-check","rug-pull","honeypot-detection","token-security","token-risk","pre-trade","lp-lock","mint-authority","top-holder-concentration","solana","base"],"routeTemplate":"/v1/scan/:chain/:contract","info":{"input":{"type":"http","method":"GET","discoverable":true,"queryParams":{},"pathParams":{"chain":"base","contract":"0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed"}},"output":{"type":"object","example":{"scan_id":"01J9-aaaa-bbbb-cccc-dddddddddddd","chain":"base","contract":"0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed","score":62,"verdict":"medium_risk","score_confidence":"high","rug_probability_30d":0.41,"flags":[{"code":"OWNER_NOT_RENOUNCED","severity":"high"},{"code":"TOP10_CONCENTRATION_HIGH","severity":"high"}],"summary":{"owner_renounced":false,"lp_locked":true,"top10_concentration_pct":71.4,"honeypot":false,"source_verified":true},"scanned_at":"2026-05-17T00:00:00+00:00","cache_hit":false,"disclaimer":"Data analytics best-effort, not a security guarantee."}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","additionalProperties":false,"properties":{"type":{"const":"http","type":"string"},"method":{"enum":["GET"],"type":"string"},"queryParams":{"type":"object"},"pathParams":{"type":"object","additionalProperties":false,"properties":{"chain":{"type":"string","enum":["base","solana"],"description":"Chain identifier. `base` = EVM (14 heuristics). `solana` = SPL (5 heuristics)."},"contract":{"type":"string","description":"Token contract address. EVM: `0x` + 40 hex chars. Solana: base58 mint address."}},"required":["chain","contract"]}},"required":["type","method","pathParams"]},"output":{"type":"object","properties":{"scan_id":{"type":"string","format":"uuid"},"chain":{"type":"string","enum":["base","solana"]},"contract":{"type":"string"},"score":{"type":"integer","minimum":0,"maximum":100,"description":"Weighted risk score, 0 = safe, 100 = critical."},"verdict":{"type":"string","enum":["safe","low_risk","medium_risk","high_risk","critical","uncertain"]},"score_confidence":{"type":"string","enum":["insufficient_data","low","medium","high"]},"rug_probability_30d":{"type":["number","null"],"minimum":0.0,"maximum":1.0},"flags":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","description":"Heuristic identifier, e.g. OWNER_NOT_RENOUNCED."},"severity":{"type":"string","enum":["info","low","medium","high","critical"]}},"required":["code","severity"]}},"summary":{"type":"object","additionalProperties":true},"scanned_at":{"type":"string","format":"date-time"},"cache_hit":{"type":"boolean"},"disclaimer":{"type":"string"},"signature":{"type":["string","null"]},"key_fingerprint":{"type":["string","null"]}},"required":["scan_id","chain","contract","score","verdict","scanned_at"]}},"required":["input"]}}}},{"resource":"https://rugguard.redfleet.fr/v1/scan/deep/{chain}/{contract}","method":"GET","network":"base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","maxAmountRequired":"50000","priceUsdc":"0.05","payTo":"0x728bf8c4cb1aAB7680efe207917855b047900157","name":"RugGuard deep scan","description":"Bypasses cache. Returns full per-heuristic audit trail (code, decision, severity, weight, evidence) inline.","category":"security","extensions":{"bazaar":{"discoverable":true,"name":"RugGuard deep scan","category":"security","tags":["rug-check","rug-pull","honeypot-detection","token-security","token-risk","pre-trade","lp-lock","mint-authority","top-holder-concentration","solana","base"],"routeTemplate":"/v1/scan/deep/:chain/:contract","info":{"input":{"type":"http","method":"GET","discoverable":true,"queryParams":{},"pathParams":{"chain":"base","contract":"0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed"}},"output":{"type":"object","example":{"scan_id":"01J9-aaaa-bbbb-cccc-dddddddddddd","chain":"base","contract":"0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed","score":62,"verdict":"medium_risk","score_confidence":"high","endpoint":"/v1/scan/deep","elapsed_ms":1240,"flags":[{"code":"OWNER_NOT_RENOUNCED","severity":"high"},{"code":"TOP10_CONCENTRATION_HIGH","severity":"high"}],"heuristics_evaluated":[{"code":"OWNER_NOT_RENOUNCED","decision":"fail","severity":"high","weight":1.0,"evidence":"owner=0x704E...3c0d has setTaxRate, blacklist, pause privileges."},{"code":"TOP10_CONCENTRATION_HIGH","decision":"fail","severity":"high","weight":1.5,"evidence":"Top 10 wallets hold 71% of supply."},{"code":"LP_NOT_LOCKED","decision":"pass","severity":"critical","weight":2.0,"evidence":"LP locked at Unicrypt for 365d."}],"score_calculation":"weighted_sum_normalized_0_100","scanned_at":"2026-05-17T00:00:00+00:00","disclaimer":"Data analytics best-effort, not a security guarantee."}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","additionalProperties":false,"properties":{"type":{"const":"http","type":"string"},"method":{"enum":["GET"],"type":"string"},"queryParams":{"type":"object"},"pathParams":{"type":"object","additionalProperties":false,"properties":{"chain":{"type":"string","enum":["base","solana"],"description":"Chain identifier. `base` = EVM (14 heuristics). `solana` = SPL (5 heuristics)."},"contract":{"type":"string","description":"Token contract address. EVM: `0x` + 40 hex chars. Solana: base58 mint address."}},"required":["chain","contract"]}},"required":["type","method","pathParams"]},"output":{"type":"object","properties":{"scan_id":{"type":"string","format":"uuid"},"chain":{"type":"string","enum":["base","solana"]},"contract":{"type":"string"},"score":{"type":"integer","minimum":0,"maximum":100,"description":"Weighted risk score, 0 = safe, 100 = critical."},"verdict":{"type":"string","enum":["safe","low_risk","medium_risk","high_risk","critical","uncertain"]},"score_confidence":{"type":"string","enum":["insufficient_data","low","medium","high"]},"rug_probability_30d":{"type":["number","null"],"minimum":0.0,"maximum":1.0},"flags":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","description":"Heuristic identifier, e.g. OWNER_NOT_RENOUNCED."},"severity":{"type":"string","enum":["info","low","medium","high","critical"]}},"required":["code","severity"]}},"summary":{"type":"object","additionalProperties":true},"scanned_at":{"type":"string","format":"date-time"},"cache_hit":{"type":"boolean"},"disclaimer":{"type":"string"},"signature":{"type":["string","null"]},"key_fingerprint":{"type":["string","null"]},"endpoint":{"type":"string"},"elapsed_ms":{"type":["integer","null"]},"heuristics_evaluated":{"type":"array","description":"Per-heuristic audit trail (deep scan only). Each entry carries the code, decision (fail | pass | skip), severity, weight, and the evidence string that drove the decision.","items":{"type":"object","properties":{"code":{"type":"string"},"decision":{"type":"string","enum":["fail","pass","skip"]},"severity":{"type":"string"},"weight":{"type":"number"},"evidence":{"type":"string"}},"required":["code","decision"]}},"score_calculation":{"type":"string"}},"required":["scan_id","chain","contract","score","verdict","scanned_at","heuristics_evaluated"]}},"required":["input"]}}}},{"resource":"https://rugguard.redfleet.fr/v1/scan/batch","method":"POST","network":"base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","maxAmountRequired":"5000","priceUsdc":"0.005","payTo":"0x728bf8c4cb1aAB7680efe207917855b047900157","name":"RugGuard batch scan","description":"Batch quick-scan (1-50 tokens per request). Body: JSON array of {chain, contract}. Priced per token.","category":"security"},{"resource":"https://rugguard.redfleet.fr/v1/explain","method":"GET","network":"base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","maxAmountRequired":"5000","priceUsdc":"0.005","payTo":"0x728bf8c4cb1aAB7680efe207917855b047900157","name":"RugGuard scan replay","description":"Replays a prior scan's evidence via ?scan_id=... — audit trail for compliance / post-mortem.","category":"security"},{"resource":"https://rugguard.redfleet.fr/v1/pretrade/check","method":"POST","network":"base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","maxAmountRequired":"10000","priceUsdc":"0.01","payTo":"0x728bf8c4cb1aAB7680efe207917855b047900157","name":"RugGuard pre-trade check","description":"Prescriptive policy verdict for an intended trade: block | caution | allow, plus risk score, confidence, and max suggested exposure. Body: {chain, contract, intended_trade_usd, policy}. Recommendation, not order — final responsibility with the caller.","category":"security"},{"resource":"https://rugguard.redfleet.fr/v1/discover/{chain}","method":"GET","network":"base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","maxAmountRequired":"50000","priceUsdc":"0.05","payTo":"0x728bf8c4cb1aAB7680efe207917855b047900157","name":"RugGuard discover new deployments","description":"Enumerates recently-deployed contracts on the target chain with an initial risk pass. Chain = base | solana.","category":"security"},{"resource":"https://rugguard.redfleet.fr/v1/wallet/{address}","method":"GET","network":"base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","maxAmountRequired":"10000","priceUsdc":"0.01","payTo":"0x728bf8c4cb1aAB7680efe207917855b047900157","name":"RugGuard wallet profile","description":"Deployer / holder profile for an on-chain address: history of contracts deployed, prior rugs, held tokens.","category":"security"},{"resource":"https://rugguard.redfleet.fr/v1/watch/{chain}/{contract}","method":"POST","network":"base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","maxAmountRequired":"500000","priceUsdc":"0.50","payTo":"0x728bf8c4cb1aAB7680efe207917855b047900157","name":"RugGuard watch subscription","description":"Subscribe to state-change webhook callbacks on a contract. Fixed upfront fee covers up to 288 checks (24 h at 5 min).","category":"security"}],"free_endpoints":[{"resource":"https://rugguard.redfleet.fr/health","description":"Liveness probe."},{"resource":"https://rugguard.redfleet.fr/v1/metrics","description":"Live empirical recall + per-chain sample counts (forward sampler output)."},{"resource":"https://rugguard.redfleet.fr/v1/pubkey","description":"Ed25519 signing pubkey + list of signed endpoints."},{"resource":"https://rugguard.redfleet.fr/v1/usage/wallet/{address}","description":"Per-wallet scan history + spend log."},{"resource":"https://rugguard.redfleet.fr/openapi.json","description":"Full OpenAPI 3.1 document."}],"signing":{"status":"active","algorithm":"Ed25519","pubkey_base64":"g1X/7sRRUDuoMzMMjJi8RLorTamBq1YuG6Fe4wpY1P4=","fingerprint":"a0c71156d8747078","signed_endpoints":["/v1/scan/{chain}/{contract}","/v1/scan/deep/{chain}/{contract}","/v1/explain","/v1/pretrade/check"],"pubkey_url":"https://rugguard.redfleet.fr/v1/pubkey","verification_cli":"https://github.com/dbe006/rugguard-verify"},"disclaimer":"RugGuard returns data-analytics best-effort output; not a security guarantee, not financial advice. Recommendation vs order remains the caller's responsibility. See /terms.html."}