{"openapi":"3.1.0","info":{"title":"DeepCounterfeit API","description":"Detects memecoins impersonating brands, listed companies, tokenized stocks and private companies. Data: pump.fun (Solana, live), GeckoTerminal new pools (Solana/BSC/Base/Robinhood Chain), DexScreener profiles.\n\n**Auth:** send your API key as `X-API-Key: <key>` or `Authorization: Bearer <key>`. Get one at [/signup](/signup).\n\n**AI agents:** remote MCP server at `/mcp` (Streamable HTTP; tools check_token, check_name, search_alerts, get_brand_report, list_brands, get_stats). The `/v1/agent/*` endpoints mirror the MCP tools and also work without a key on the Free tier (5 calls/min, 24 h delayed). Setup for Claude, Cursor, ChatGPT and the OpenAI Agents SDK: [/agents](/agents) · [/llms.txt](/llms.txt) · machine-readable spec: [/openapi.json](/openapi.json).","version":"1.0","x-mcp-server":"https://deepcounterfeit.com/mcp","x-guidance":"Brand-impersonation lookups for crypto tokens. Free/keyless: GET /v1/agent/check-token/{address} (verdict, matched brand, risk), GET /v1/agent/check-name?name=&symbol= (pre-launch/pre-buy name check), GET /v1/agent/alerts, /v1/agent/brand-report/{brand}, /v1/agent/brands, /v1/agent/stats (Free tier: 5 calls/min, data delayed 24 h). Real-time without a key: x402 USDC pay-per-call on GET /v1/x402/token/{address} and GET /v1/x402/alerts. With an API key (Bearer or X-API-Key) all endpoints are real time. MCP server: /mcp. Results are evidence for human review, not legal findings or investment advice.","contact":{"name":"DeepCounterfeit","url":"https://deepcounterfeit.com","email":"admin@deepcounterfeit.com"},"termsOfService":"https://deepcounterfeit.com/terms"},"paths":{"/health":{"get":{"summary":"Health","description":"Liveness + data health. 503 only when the core pump.fun feed is stale (so Render restarts a wedged detector);\nother stale feeds, disk and memory problems are reported in `degraded` / `alerts` with HTTP 200.","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[]}},"/v1/brands":{"get":{"summary":"Brands","operationId":"brands_v1_brands_get","parameters":[{"name":"category","in":"query","required":false,"schema":{"type":"string","title":"Category"}},{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/alerts":{"get":{"summary":"Alerts","operationId":"alerts_v1_alerts_get","parameters":[{"name":"brand","in":"query","required":false,"schema":{"type":"string","title":"Brand"}},{"name":"chain","in":"query","required":false,"schema":{"type":"string","title":"Chain"}},{"name":"min_risk","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Min Risk"}},{"name":"since","in":"query","required":false,"schema":{"type":"number","default":0,"title":"Since"}},{"name":"tier","in":"query","required":false,"schema":{"type":"string","default":"alert","title":"Tier"}},{"name":"severity","in":"query","required":false,"schema":{"type":"string","title":"Severity"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}},{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/token/{address}":{"get":{"summary":"Token","operationId":"token_v1_token__address__get","parameters":[{"name":"address","in":"path","required":true,"schema":{"type":"string","title":"Address"}},{"name":"chain","in":"query","required":false,"schema":{"type":"string","title":"Chain"}},{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/stats":{"get":{"summary":"Stats","operationId":"stats_v1_stats_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"number","default":1,"title":"Days"}},{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/webhooks":{"post":{"summary":"Add Hook","operationId":"add_hook_v1_webhooks_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Hook"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"List Hooks","operationId":"list_hooks_v1_webhooks_get","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/webhooks/{hid}":{"delete":{"summary":"Del Hook","operationId":"del_hook_v1_webhooks__hid__delete","parameters":[{"name":"hid","in":"path","required":true,"schema":{"type":"integer","title":"Hid"}},{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/reports/{brand}":{"get":{"summary":"Report","operationId":"report_v1_reports__brand__get","parameters":[{"name":"brand","in":"path","required":true,"schema":{"type":"string","title":"Brand"}},{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/import":{"post":{"summary":"Admin Import","description":"Seed tokens/alerts (admin key only). Body: {tokens:[...], alerts:[...]} using the store column names.","operationId":"admin_import_admin_import_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/signup":{"get":{"summary":"Signup Page","operationId":"signup_page_signup_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}},"security":[]},"post":{"summary":"Signup","operationId":"signup_signup_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Signup"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/billing/checkout":{"post":{"summary":"Checkout","operationId":"checkout_billing_checkout_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Checkout"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/billing/webhook":{"post":{"summary":"Stripe Webhook","operationId":"stripe_webhook_billing_webhook_post","parameters":[{"name":"stripe-signature","in":"header","required":false,"schema":{"type":"string","title":"Stripe-Signature"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/":{"get":{"summary":"Home","operationId":"home__get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}},"security":[]}},"/pricing":{"get":{"summary":"Pricing Page","operationId":"pricing_page_pricing_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}},"security":[]}},"/privacy":{"get":{"summary":"Privacy","operationId":"privacy_privacy_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}},"security":[]}},"/terms":{"get":{"summary":"Terms","operationId":"terms_terms_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}},"security":[]}},"/dashboard":{"get":{"summary":"Dash","operationId":"dash_dashboard_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}},"security":[]}},"/static/site.css":{"get":{"summary":"Css","operationId":"css_static_site_css_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[]}},"/v1/public/summary":{"get":{"summary":"Public Summary","operationId":"public_summary_v1_public_summary_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[]}},"/sample-report.pdf":{"get":{"summary":"Sample Report","operationId":"sample_report_sample_report_pdf_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[]}},"/contact":{"post":{"summary":"Contact","description":"Stores demo/contact requests only. Nothing is emailed or forwarded.","operationId":"contact_contact_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Lead"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/leads":{"get":{"summary":"Admin Leads","operationId":"admin_leads_admin_leads_get","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/feed.json":{"get":{"summary":"Feed","description":"Public: 24 h delayed, brand match + coin only (publicview). With a paid/trial API key: the full real-time feed.","operationId":"feed_feed_json_get","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[]}},"/v1/agent/check-token/{address}":{"get":{"tags":["agents"],"summary":"Check a token address for brand impersonation (verdict, risk, creator facts)","operationId":"rest_check_token_v1_agent_check_token__address__get","parameters":[{"name":"address","in":"path","required":true,"schema":{"type":"string","title":"Address"}},{"name":"chain","in":"query","required":false,"schema":{"type":"string","title":"Chain"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{},{"bearer":[]},{"apiKey":[]}]}},"/v1/agent/check-name":{"get":{"tags":["agents"],"summary":"Check a token name/ticker for brand impersonation before launch or purchase","operationId":"rest_check_name_v1_agent_check_name_get","parameters":[{"name":"name","in":"query","required":false,"schema":{"type":"string","title":"Name"}},{"name":"symbol","in":"query","required":false,"schema":{"type":"string","title":"Symbol"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{},{"bearer":[]},{"apiKey":[]}]}},"/v1/agent/alerts":{"get":{"tags":["agents"],"summary":"Search impersonation alerts (brand, chain, since, severity)","operationId":"rest_alerts_v1_agent_alerts_get","parameters":[{"name":"brand","in":"query","required":false,"schema":{"type":"string","title":"Brand"}},{"name":"chain","in":"query","required":false,"schema":{"type":"string","title":"Chain"}},{"name":"since","in":"query","required":false,"schema":{"type":"string","title":"Since"}},{"name":"severity","in":"query","required":false,"schema":{"type":"string","title":"Severity"}},{"name":"min_risk","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Min Risk"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{},{"bearer":[]},{"apiKey":[]}]}},"/v1/agent/brand-report/{brand}":{"get":{"tags":["agents"],"summary":"Brand impersonation summary with top cases","operationId":"rest_brand_v1_agent_brand_report__brand__get","parameters":[{"name":"brand","in":"path","required":true,"schema":{"type":"string","title":"Brand"}},{"name":"days","in":"query","required":false,"schema":{"type":"number","default":30,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{},{"bearer":[]},{"apiKey":[]}]}},"/v1/agent/brands":{"get":{"tags":["agents"],"summary":"List watched brands","operationId":"rest_brands_v1_agent_brands_get","parameters":[{"name":"query","in":"query","required":false,"schema":{"type":"string","title":"Query"}},{"name":"category","in":"query","required":false,"schema":{"type":"string","title":"Category"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{},{"bearer":[]},{"apiKey":[]}]}},"/v1/agent/stats":{"get":{"tags":["agents"],"summary":"Aggregate impersonation statistics and source health","operationId":"rest_stats_v1_agent_stats_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"number","default":1,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{},{"bearer":[]},{"apiKey":[]}]}},"/v1/x402/status":{"get":{"tags":["x402 pay-per-call"],"summary":"Which x402 networks are live, price and endpoints","operationId":"x402_status_ep_v1_x402_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[]}},"/v1/x402/token/{address}":{"get":{"tags":["x402 pay-per-call"],"summary":"Real-time token impersonation check (x402, USDC)","operationId":"x402_token_v1_x402_token__address__get","parameters":[{"name":"address","in":"path","required":true,"schema":{"type":"string","title":"Address"}},{"name":"chain","in":"query","required":false,"schema":{"type":"string","title":"Chain"}}],"responses":{"200":{"description":"Paid result","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"402":{"description":"Payment Required (x402 v2 challenge in the PAYMENT-REQUIRED header and JSON body)"}},"description":"Pay per call with x402 v2 (scheme exact, USDC on Base, Solana, Polygon, Arbitrum, Avalanche). Returns verdict, matched brands, risk 0-100 with reasons, creator wallet and on-chain facts, real time.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.010000"},"protocols":[{"x402":{}}]},"security":[]}},"/v1/x402/alerts":{"get":{"tags":["x402 pay-per-call"],"summary":"Real-time impersonation alerts, up to 50 (x402, USDC)","operationId":"x402_alerts_v1_x402_alerts_get","parameters":[{"name":"brand","in":"query","required":false,"schema":{"type":"string","title":"Brand"}},{"name":"chain","in":"query","required":false,"schema":{"type":"string","title":"Chain"}},{"name":"since","in":"query","required":false,"schema":{"type":"string","default":"24h","title":"Since"}},{"name":"severity","in":"query","required":false,"schema":{"type":"string","title":"Severity"}}],"responses":{"200":{"description":"Paid result","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"402":{"description":"Payment Required (x402 v2 challenge in the PAYMENT-REQUIRED header and JSON body)"}},"description":"Pay per call with x402 v2. Newest impersonation coins filtered by brand, chain, since and severity, real time.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.010000"},"protocols":[{"x402":{}}]},"security":[]}},"/v1/status":{"get":{"summary":"Status Json","operationId":"status_json_v1_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/pay/create":{"post":{"tags":["billing"],"summary":"Create a crypto payment request (USDC on Solana/EVM chains, or BTC)","operationId":"pay_create_pay_create_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Create"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/pay/{iid}/status":{"get":{"tags":["billing"],"summary":"Payment request status (poll)","operationId":"pay_status_pay__iid__status_get","parameters":[{"name":"iid","in":"path","required":true,"schema":{"type":"string","title":"Iid"}},{"name":"t","in":"query","required":false,"schema":{"type":"string","default":"","title":"T"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/account/status":{"post":{"tags":["billing"],"summary":"Plan, expiry and renewal status for an API key","operationId":"account_status_account_status_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcctQ"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AcctQ":{"properties":{"api_key":{"type":"string","title":"Api Key"}},"type":"object","required":["api_key"],"title":"AcctQ"},"Checkout":{"properties":{"plan":{"type":"string","title":"Plan"},"email":{"type":"string","title":"Email"}},"type":"object","required":["plan","email"],"title":"Checkout"},"Create":{"properties":{"product":{"type":"string","title":"Product"},"period":{"type":"string","title":"Period","default":"month"},"chain":{"type":"string","title":"Chain"},"email":{"type":"string","title":"Email"},"api_key":{"type":"string","title":"Api Key","default":""},"brand":{"type":"string","title":"Brand","default":""}},"type":"object","required":["product","chain","email"],"title":"Create"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"Hook":{"properties":{"url":{"type":"string","title":"Url"},"brands":{"items":{"type":"string"},"type":"array","title":"Brands","default":[]},"min_risk":{"type":"integer","title":"Min Risk","default":50}},"type":"object","required":["url"],"title":"Hook"},"Lead":{"properties":{"name":{"type":"string","title":"Name"},"email":{"type":"string","title":"Email"},"company":{"type":"string","title":"Company","default":""},"interest":{"type":"string","title":"Interest","default":""},"message":{"type":"string","title":"Message","default":""},"website":{"type":"string","title":"Website","default":""}},"type":"object","required":["name","email"],"title":"Lead"},"Signup":{"properties":{"email":{"type":"string","title":"Email"},"company":{"type":"string","title":"Company","default":""}},"type":"object","required":["email"],"title":"Signup"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}},"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"API key as Bearer token"},"apiKey":{"type":"apiKey","in":"header","name":"X-API-Key"}}},"servers":[{"url":"https://deepcounterfeit.com"},{"url":"https://impersonation-monitor.onrender.com"}],"security":[{"bearer":[]},{"apiKey":[]},{}],"externalDocs":{"description":"Agent guide (MCP, x402, auth)","url":"https://deepcounterfeit.com/agents"}}