{"openapi":"3.1.0","info":{"title":"rug-check","version":"2.0.0","x-deprecations":"API v2: enum values are canonical English. Every `<field>_en` mirror is deprecated (identical to the field, removal planned in v3). Add ?lang=da for the previous Danish values (v1 format with _en mirrors). news_sentiment/social level 'neutral' without data is now 'no_data' (old value in legacy_level).","description":"Rug Pull Detector API for Base: one call returns rug_pull true/false with confidence and 5 honest signals (liquidity removal, wash trading, LP lock, owner wallet, honeypot/tax). Unmeasurable signals are 'unknown' and never counted; named liquidity (pooled_all_pools_usd, top_pool_liquidity_usd). $0.02 per call via x402 (USDC on Base). Not investment advice.","x-guidance":"Rug-pull check for an ERC-20 on Base. Input: address (0x contract). Output: rug_pull true/false, confidence (low/medium/high), reason, named liquidity and 5 signals (ok/warning/unknown) with the decision rule. ?lang=da for Danish values. Call before an agent buys, lists or accepts an unknown Base token. Not investment advice.","x-related":[{"name":"token-verdict","description":"One-call verdict: all 4 checks + English conclusion (Base, $0.05)","url":"https://token-verdict.restockalarm.workers.dev/"},{"name":"token-risk","description":"Token risk score (Base)","url":"https://token-risk.restockalarm.workers.dev/"},{"name":"holder-check","description":"Holder analysis (Base)","url":"https://holder-check.restockalarm.workers.dev/"},{"name":"momentum-score","description":"Momentum score (Base)","url":"https://momentum-score.restockalarm.workers.dev/"},{"name":"token-safety","description":"Token Safety suite (all Base token APIs incl. one-call verdict)","url":"https://product-katalog.restockalarm.workers.dev/token-safety"},{"name":"token-safety-mcp","description":"Remote MCP server with the same tools ($0.02, token_verdict $0.05 via x402 for MCP)","url":"https://token-safety-mcp.restockalarm.workers.dev/mcp"}],"contact":{"name":"Space Command Kits","email":"spacecommand+circle@mail.grokbot.com","url":"https://rug-check.restockalarm.workers.dev/"}},"externalDocs":{"description":"Token Safety suite — all Base token APIs incl. one-call verdict","url":"https://product-katalog.restockalarm.workers.dev/token-safety"},"servers":[{"url":"https://rug-check.restockalarm.workers.dev"}],"paths":{"/v1/rug":{"get":{"operationId":"getV1Rug","summary":"Rug pull check for an ERC-20 token on Base: rug_pull true/false, confidence, 5 signals (ok/warning/unknown), named liquidity and the decision rule","description":"Rug pull check for an ERC-20 token on Base: rug_pull true/false, confidence, 5 signals (ok/warning/unknown), named liquidity and the decision rule. $0.02 USDC per call via x402 (Base or Polygon), or 4 credits per call with header X-API-Key (card credit packs).","x-details":"Decision rule: rug_pull = true if a HARD signal fires: honeypot_tax = warning because the sell simulation fails (honeypot) or sell tax >= 50%, or liquidity_removal = warning (>= 50% of the token side of the top pools removed in the last ~2 h, or pooled liquidity < $1,000 per honeypot.is while DexScreener does not report >= $1,000). Otherwise true if >= 2 of the soft signals (lp_lock, creator_wallet_activity, wash_trading, honeypot_tax with tax > 10%) are warning. Signals with status 'unknown' are never counted. confidence: high if a hard signal fired or >= 4 signals were measured with none in warning; medium if >= 3 measured (or verdict from soft signals); else low.","x-api-key-credits":4,"x-guidance":"Rug-pull check for an ERC-20 on Base. Input: address (0x contract). Output: rug_pull true/false, confidence (low/medium/high), reason, named liquidity and 5 signals (ok/warning/unknown) with the decision rule. ?lang=da for Danish values. Call before an agent buys, lists or accepts an unknown Base token. Not investment advice.","tags":["rug-check"],"parameters":[{"name":"address","in":"query","required":false,"description":"ERC-20 contract address on Base (0x + 40 hex). If omitted, the AERO example is returned with example=true; an invalid address is 400.","schema":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"}},{"name":"lang","in":"query","required":false,"description":"Optional. Output language for enum values: en (default, canonical) or da (previous Danish values + deprecated *_en mirrors)","schema":{"type":"string","enum":["en","da"],"default":"en"}}],"x-payment-info":{"price":{"mode":"fixed","currency":"USDC","amount":"0.020000"},"protocols":[{"x402":{}}],"networks":["eip155:8453","eip155:137"],"payTo":"0x7B97303d62517eA9E26D1E1b199Eac42a487F430"},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["address","chain","rug_pull","confidence","reason","signals","signals_measured","signals_unknown","sources","cached","disclaimer"],"properties":{"address":{"type":"string"},"chain":{"type":"string","const":"base"},"rug_pull":{"type":"boolean","description":"true = high rug-pull risk (binary)"},"confidence":{"type":"string","enum":["low","medium","high"]},"confidence_en":{"type":"string","deprecated":true,"description":"Deprecated mirror (removal in v3)"},"reason":{"type":"string"},"liquidity":{"type":["object","null"],"description":"Canonical liquidity (same in every token endpoint)","properties":{"pooled_all_pools_usd":{"type":"number"},"top_pool_liquidity_usd":{"type":["number","null"]},"top_pool":{"type":["object","null"]},"pools_counted":{"type":"integer"},"source":{"type":"string"}}},"api_version":{"type":"string"},"lang":{"type":"string"},"deprecated":{"type":"string"},"signals":{"type":"object","properties":{"liquidity_removal":{"type":"object","required":["status","detail"],"properties":{"status":{"type":"string","enum":["ok","warning","unknown"],"description":"Canonical English (API v2). ?lang=da: ok/advarsel/ukendt"},"status_en":{"type":"string","deprecated":true,"description":"Deprecated mirror (removal in v3)"},"detail":{"type":"string"},"top_pool_liquidity_usd":{"type":"number"},"honeypot_is_pooled_usd":{"type":"number"},"liquidity_usd":{"type":"number","deprecated":true},"reserve_usd":{"type":"number","deprecated":true,"description":"Deprecated: use top_pool_liquidity_usd"}}},"wash_trading":{"type":"object","required":["status","detail"],"properties":{"status":{"type":"string","enum":["ok","warning","unknown"],"description":"Canonical English (API v2). ?lang=da: ok/advarsel/ukendt"},"status_en":{"type":"string","deprecated":true,"description":"Deprecated mirror (removal in v3)"},"detail":{"type":"string"},"top_pool_liquidity_usd":{"type":"number"},"honeypot_is_pooled_usd":{"type":"number"},"liquidity_usd":{"type":"number","deprecated":true},"reserve_usd":{"type":"number","deprecated":true,"description":"Deprecated: use top_pool_liquidity_usd"}}},"lp_lock":{"type":"object","required":["status","detail"],"properties":{"status":{"type":"string","enum":["ok","warning","unknown"],"description":"Canonical English (API v2). ?lang=da: ok/advarsel/ukendt"},"status_en":{"type":"string","deprecated":true,"description":"Deprecated mirror (removal in v3)"},"detail":{"type":"string"},"top_pool_liquidity_usd":{"type":"number"},"honeypot_is_pooled_usd":{"type":"number"},"liquidity_usd":{"type":"number","deprecated":true},"reserve_usd":{"type":"number","deprecated":true,"description":"Deprecated: use top_pool_liquidity_usd"}}},"creator_wallet_activity":{"type":"object","required":["status","detail"],"properties":{"status":{"type":"string","enum":["ok","warning","unknown"],"description":"Canonical English (API v2). ?lang=da: ok/advarsel/ukendt"},"status_en":{"type":"string","deprecated":true,"description":"Deprecated mirror (removal in v3)"},"detail":{"type":"string"},"top_pool_liquidity_usd":{"type":"number"},"honeypot_is_pooled_usd":{"type":"number"},"liquidity_usd":{"type":"number","deprecated":true},"reserve_usd":{"type":"number","deprecated":true,"description":"Deprecated: use top_pool_liquidity_usd"}}},"honeypot_tax":{"type":"object","required":["status","detail"],"properties":{"status":{"type":"string","enum":["ok","warning","unknown"],"description":"Canonical English (API v2). ?lang=da: ok/advarsel/ukendt"},"status_en":{"type":"string","deprecated":true,"description":"Deprecated mirror (removal in v3)"},"detail":{"type":"string"},"top_pool_liquidity_usd":{"type":"number"},"honeypot_is_pooled_usd":{"type":"number"},"liquidity_usd":{"type":"number","deprecated":true},"reserve_usd":{"type":"number","deprecated":true,"description":"Deprecated: use top_pool_liquidity_usd"}}}}},"signals_measured":{"type":"integer","minimum":0,"maximum":5},"signals_measured_list":{"type":"array","items":{"type":"string"},"description":"Names of the signals that were actually measured"},"signals_unknown":{"type":"array","items":{"type":"string"}},"decision_rule":{"type":"string"},"sources":{"type":"array","items":{"type":"string"}},"cached":{"type":"boolean"},"disclaimer":{"type":"string"}}},"example":{"address":"0x940181a94a35a4569e4529a3cdfb74e38fd98631","chain":"base","token":{"name":"Aerodrome","symbol":"AERO"},"liquidity":{"pooled_all_pools_usd":49750000,"top_pool_liquidity_usd":35190000,"top_pool":{"address":"0x6cdcb1c4a4d1c3c6d054b27ac5b77e89eafb971d","name":"aerodrome: AERO-USDC"},"pools_counted":30,"source":"dexscreener"},"rug_pull":false,"confidence":"medium","reason":"no warning in 2 measured signals (3 unknown). Measured: liquidity_removal, honeypot_tax; unknown (not counted): wash_trading, lp_lock, creator_wallet_activity","signals":{"liquidity_removal":{"status":"ok","detail":"0.4% of the token side of the top 3 pool(s) removed in the last ~2 h"},"wash_trading":{"status":"unknown","detail":"not measured"},"lp_lock":{"status":"unknown","detail":"concentrated liquidity"},"creator_wallet_activity":{"status":"unknown","detail":"no owner()"},"honeypot_tax":{"status":"ok","detail":"buy tax 0%, sell tax 0%"}},"signals_measured":2,"signals_measured_list":["liquidity_removal","honeypot_tax"],"signals_unknown":["wash_trading","lp_lock","creator_wallet_activity"],"cached":false,"disclaimer":"Ikke investeringsråd / not investment advice. Automated heuristic from public on-chain and DEX data; a 'false' is not a safety guarantee and a 'true' is not proof of fraud. Do your own research."}}}},"400":{"description":"Invalid input"},"402":{"description":"Payment Required (x402)"},"404":{"description":"No contract at this address on Base"},"422":{"description":"Contract has no token or market data"},"503":{"description":"Core signals could not be measured right now. Header Retry-After (s). Not charged: x402 is not settled and API-key credits are refunded."}}}}}}