# ChainPatrol ## Docs - [Introduction](https://chainpatrol-mintlify-0bff4f71.mintlify.site/getting-started/what-we-do/introduction.md): How ChainPatrol protects crypto brands and their communities from phishing, fake domains, and social media impersonation through detection and takedowns. - [Brand Impersonation](https://chainpatrol-mintlify-0bff4f71.mintlify.site/getting-started/what-we-do/brand-impersonation.md): Types of brand impersonation attacks — including fake accounts, typosquatting, and deepfakes — and how crypto teams can defend their brand and community. - [General Phishing](https://chainpatrol-mintlify-0bff4f71.mintlify.site/getting-started/what-we-do/general-phishing.md): Overview of common crypto phishing attack vectors including wallet drainers, seed phrase theft, social engineering, malware, and developer key compromise. - [How We Use AI](https://chainpatrol-mintlify-0bff4f71.mintlify.site/getting-started/how-it-works/how-we-use-ai.md): How ChainPatrol's AI combines content, visual, and behavioral analysis to detect phishing and impersonation threats in seconds across 50+ platforms. - [Detection Sources](https://chainpatrol-mintlify-0bff4f71.mintlify.site/getting-started/how-it-works/detection-sources.md): Automated monitors that scan search engines, social media, app stores, and blockchain feeds to surface impersonation and phishing threats to your brand. - [Asset Scans](https://chainpatrol-mintlify-0bff4f71.mintlify.site/getting-started/how-it-works/asset-scans.md): How ChainPatrol runs time-stamped scans on URLs, social profiles, apps, and crypto addresses to detect phishing, track liveness, and score threats. - [Review](https://chainpatrol-mintlify-0bff4f71.mintlify.site/getting-started/how-it-works/review.md): How ChainPatrol combines automated risk scoring and human analyst review to approve block or allow proposals for suspected phishing and scam assets. - [Blocklist](https://chainpatrol-mintlify-0bff4f71.mintlify.site/getting-started/how-it-works/blocklist.md): Continuously updated database of confirmed phishing sites and malicious assets, distributed to wallets and browsers for real-time crypto protection. - [Takedown](https://chainpatrol-mintlify-0bff4f71.mintlify.site/getting-started/how-it-works/takedown.md): Lifecycle of ChainPatrol takedown requests: submission to hosts, registrars, and social platforms, monitoring for removal, and retraction of false positives. - [Watchlist](https://chainpatrol-mintlify-0bff4f71.mintlify.site/getting-started/how-it-works/watchlist.md): How ChainPatrol watchlists suspicious or offline assets, rescanning on an adaptive schedule to detect when they turn malicious or confirm takedown success. - [Onboarding Requirements](https://chainpatrol-mintlify-0bff4f71.mintlify.site/protect-your-brand/onboarding-requirements.md): Provide the assets, brand identity, and legal documents ChainPatrol needs to protect your organization from phishing and impersonation threats. - [Who Should Be Involved in Brand Protection](https://chainpatrol-mintlify-0bff4f71.mintlify.site/protect-your-brand/who-should-be-involved.md): Identify the stakeholders — executives, marketing, security, engineering, community, and support — who power a successful brand protection program. - [Services Setup](https://chainpatrol-mintlify-0bff4f71.mintlify.site/protect-your-brand/services-setup.md): Configure ChainPatrol services like detection, monitoring, reviewing, wallet blocking, and automated takedowns for your organization's brand protection. - [Ongoing Communication](https://chainpatrol-mintlify-0bff4f71.mintlify.site/protect-your-brand/ongoing-communication.md): Stay connected with ChainPatrol via Telegram, Slack, and email to report threats, share upcoming events, and keep your organization assets up to date. - [Organizations](https://chainpatrol-mintlify-0bff4f71.mintlify.site/concepts/organizations.md): How organizations in ChainPatrol group brands, assets, team members, and services like detection, reviewing, takedowns, and wallet blocking in one workspace - [Brands](https://chainpatrol-mintlify-0bff4f71.mintlify.site/concepts/brands.md): How brands in ChainPatrol define the company or executive identities protected from impersonation using brand terms, images, and known legitimate assets - [Reports](https://chainpatrol-mintlify-0bff4f71.mintlify.site/concepts/reports.md): How suspicious or safe assets get submitted to ChainPatrol with screenshots and context through the dashboard, API, or public Security Portal for review - [Reviews](https://chainpatrol-mintlify-0bff4f71.mintlify.site/concepts/reviews.md): How ChainPatrol reviewers approve, reject, skip, or escalate threat proposals using detection rules, scan evidence, and trusted reporter signals - [Detections](https://chainpatrol-mintlify-0bff4f71.mintlify.site/concepts/detections.md): How ChainPatrol's monitoring pipeline automatically flags suspicious assets, applies detection rules, scores confidence, and groups related campaign threats - [Asset Scans](https://chainpatrol-mintlify-0bff4f71.mintlify.site/concepts/asset-scans.md): How ChainPatrol captures point-in-time snapshots of URLs, social profiles, and addresses with screenshots, enrichment data, risk scores, and liveness - [Blocklist](https://chainpatrol-mintlify-0bff4f71.mintlify.site/concepts/blocklist.md): How ChainPatrol's blocklist confirms and distributes phishing sites, scam accounts, and malicious wallet addresses to browsers, wallets, and partners - [Allowlist](https://chainpatrol-mintlify-0bff4f71.mintlify.site/concepts/allowlist.md): How ChainPatrol tracks trusted brand-owned domains, wallets, and social accounts to reduce false positives and serve as a baseline for phishing detection - [Watchlist](https://chainpatrol-mintlify-0bff4f71.mintlify.site/concepts/watchlist.md): How ChainPatrol watchlists ambiguous or in-takedown assets, rescanning them on an adaptive schedule to catch changes and confirm removal automatically - [Takedowns](https://chainpatrol-mintlify-0bff4f71.mintlify.site/concepts/takedowns.md): How ChainPatrol files takedown requests with hosting providers, domain registrars, social platforms, and app stores to permanently remove phishing content - [Legal Docs](https://chainpatrol-mintlify-0bff4f71.mintlify.site/concepts/legal-docs.md): How trademark registrations, letters of authorization, and power of attorney documents support ChainPatrol takedown requests across providers - [Metrics](https://chainpatrol-mintlify-0bff4f71.mintlify.site/concepts/metrics.md): How ChainPatrol reports threat volume, takedowns filed and completed, and median response time across brands, asset types, and custom time windows - [Security Portal](https://chainpatrol-mintlify-0bff4f71.mintlify.site/concepts/security-portal.md): How the Security Portal gives your community a branded public page to report phishing, impersonation, and scam threats without needing a ChainPatrol account - [Discord Bot](https://chainpatrol-mintlify-0bff4f71.mintlify.site/integration/discord.md): Install the ChainPatrol Discord bot to let members report scam URLs, monitor channels for phishing links, and stream blocklist reports to a feed channel. - [Telegram Bot](https://chainpatrol-mintlify-0bff4f71.mintlify.site/integration/telegram.md): Add the ChainPatrol Telegram bot to your group to submit scam URL reports, run auto-link monitoring, and warn members about phishing links in real time. - [Slack Bot](https://chainpatrol-mintlify-0bff4f71.mintlify.site/integration/slack.md): Add the ChainPatrol Slack bot to submit scam URL reports, configure threats feed notifications, and receive real-time blocklist alerts in your workspace. - [Vercel](https://chainpatrol-mintlify-0bff4f71.mintlify.site/integration/vercel.md): Connect Vercel to ChainPatrol to verify legitimate deployments, reduce false positives, and accelerate takedowns of scam sites impersonating your team. - [Intercom](https://chainpatrol-mintlify-0bff4f71.mintlify.site/integration/intercom.md): Connect Intercom to ChainPatrol with the Canvas Kit app so support agents can report suspicious URLs from conversations and protect users from phishing. - [GitHub](https://chainpatrol-mintlify-0bff4f71.mintlify.site/integration/github.md): Install the ChainPatrol GitHub App to monitor pull requests, issues, and discussions for scam links and shield your open-source community from phishing. - [Canary Tokens](https://chainpatrol-mintlify-0bff4f71.mintlify.site/integration/canary-tokens.md): Set up Canary Tokens with ChainPatrol to detect when your website is cloned by phishing scammers and automatically block and take down malicious clones. - [Webhooks](https://chainpatrol-mintlify-0bff4f71.mintlify.site/integration/webhooks.md): Use ChainPatrol webhooks to receive real-time asset status and blocklist updates, verify signatures, and keep your wallet or SecOps pipeline in sync. - [Zapier](https://chainpatrol-mintlify-0bff4f71.mintlify.site/integration/zapier.md): Use the ChainPatrol Zapier app to automate scam URL reports from Discord, Slack, or Google Forms and push malicious links straight to the blocklist. - [ChainPatrol External API for scam URL and address blocking](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/overview.md): Index of every ChainPatrol External API endpoint for wallets, security apps, and marketplaces to check, submit, and monitor scam URLs and addresses. - [Authentication](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/authentication.md): Authenticate ChainPatrol External API requests with an X-API-KEY header and learn how to request an API key for phishing detection and takedown endpoints. - [Asset Check](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/asset-check.md): Check asset status - [Asset List](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/asset-list.md): List asset statuses - [Asset Changelog](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/asset-changelog.md): Asset changelog. Assets can be changed for various reasons, such as false positives, false negatives or normal reviews. - [Asset Search](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/asset-search.md): Search for an asset by content or ID and get its status, associated reports, and takedown details - [Asset Submit](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/asset-submit.md): Submit a list of assets such as domains, social profiles, or blockchain addresses. Automation will classify and assign them to appropriate organization(s). - [Unblock Asset](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/asset-unblock.md): Unblock an asset if it belongs to your organization, or create a dispute if it doesn't. Requires API key. - [Asset Parse](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/asset-parse.md): Parse and normalize asset content to extract structured information - [Start Asset Scan](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/asset-scan.md): Initiate an asset scan. Optionally provide an organization slug for brand impersonation detection and a callback URL to receive results when the scan completes. - [Get Scan Result](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/scan-result.md): Get detailed scan results including enrichments, rules/checks results, and labels for a specific asset scan. - [Get Asset Details](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/asset-details.md): Get Asset Details - [Get Blocklist Version](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/asset-blocklist-version.md): Returns the current blocklist snapshot and recent-additions feed metadata (tokens, counts, absolute CDN URLs) and the canonicalization algorithm version. Used by the browser extension to discover and cache blocklist artifacts. - [Confirm Blocklist Prefix Matches](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/asset-blocklist-confirm.md): Given a list of 4-byte (8-hex-char) hash prefixes and the algorithm version, returns the full SHA-256 hashes of blocked expressions whose prefixes match, grouped by prefix. Used by the browser extension to resolve true positives after a local prefix hit. - [Create Report](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/report-create.md): Create a new report on ChainPatrol for a particular organization - [Search Reports](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/reports-search.md): Answers 'do reports already exist for these specific assets?'. Takes a batch of asset contents, normalizes each one the way ChainPatrol normalizes assets, and returns the reports covering them along with which of your assets each report matched. Use it to avoid filing a duplicate before calling `POS… - [Create Dispute](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/dispute-create.md): Create a new dispute for an asset via the external API. Requires API key. - [Configure Webhook](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/webhook-config.md): Create and configure a webhook for an organization to receive real-time notifications for asset status updates and threat detections. Requires a valid API key with access to the specified organization. - [List Organization Brands](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/organization-brands.md): List every brand belonging to the organization associated with your API key. Returns parent brands (`type: ORGANIZATION`), individual / employee brands (`type: INDIVIDUAL`), and product brands (`type: PRODUCT`) in one call, including configuration fields: `brandColors` (HEX strings), `includedTerms`… - [List Organization Assets](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/organization-assets-list.md): List all assets belonging to your organization with optional filtering by type, group, and search query. Supports pagination. - [Add Organization Assets](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/organization-assets-add.md): Batch add multiple assets to your organization's allowlist. Each asset will be automatically parsed, classified, and approved as ALLOWED status. Supports optional group assignment. - [Update Organization Asset](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/organization-assets-update.md): Update an asset's name, description, or group assignment. The asset must belong to your organization. - [Remove Organization Asset](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/organization-assets-remove.md): Remove an asset from your organization's allowlist. This performs a soft delete. - [List Organization Asset Groups](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/organization-asset-groups-list.md): List all asset groups belonging to your organization with asset counts. - [Create Organization Asset Group](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/organization-asset-groups-create.md): Create a new asset group for organizing your organization's assets. - [Update Organization Asset Group](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/organization-asset-groups-update.md): Rename an existing asset group. - [Delete Organization Asset Group](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/organization-asset-groups-delete.md): Delete an asset group. Assets in this group will become ungrouped. - [List Organization Reports](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/organization-reports-list.md): Answers 'which of my organization's reports match these filters?'. Returns full report records — proposals, assets, scans, reporter, SLA — with filtering and pagination, newest first. The organization comes from your API key, or pass `slug` when your credentials can reach more than one. To check whe… - [Review Organization Proposal](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/organization-proposals-review.md): Records your organization's decision on a proposal that is waiting on you — one ChainPatrol escalated to you, or one on a report you submitted yourself. These are exactly the proposals your Review page shows and the ones `GET /organization/reports?needsCustomerReview=true` counts; find their IDs in… - [Get Organization Reports (Deprecated)](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/organization-reports.md): Get reports for an organization based on organization slug and filters - [List Detections](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/detection-list.md): List threat detection results for an organization using API key authentication. Returns human-readable confidence levels (none, low, medium, high) and report status. Supports filtering by source, confidence level, asset status, and asset type. Includes pagination and search capabilities. - [List Detection Sources](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/detection-sources-list.md): List the catalog of threat detection sources ChainPatrol can run, including the scopes each source supports and the JSON Schema its config object must satisfy. Sources that do not apply to the organization's industry are omitted. - [List Detection Configs](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/detection-configs-list.md): List all threat detection sources for an organization. Each source includes its individual configurations with details like schedule, status, and source-specific settings. - [Create Detection Config](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/detection-configs-create.md): Create a config that makes a detection source run for an organization. Sources that are disabled by default have no config, so they cannot be enabled through /detection/configs/update until one is created. A source can have several configs, each with its own query, schedule or brand. - [Update Detection Config](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/detection-configs-update.md): Update an organization threat detection config status, schedule, and config fields. - [Delete Detection Config](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/detection-configs-delete.md): Delete one detection config so it stops scanning. Other configs sharing the same source keep running. Deleting the last config for a source that is enabled by default is not permanent, since automation re-creates it; disable it through /detection/configs/update instead. - [Run Detection Configs](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/detection-configs-run.md): Run one or many organization detection configs and return run status per config. - [Validate Detection Configs](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/detection-configs-validate.md): Validate detection configs by checking recent detection results, optionally running each config first. - [Get Detection Drift Signals](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/detection-drift.md): Analyze organization detection configs and surface zero-result, noisy-source, and stale-query drift signals. - [List Threats](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/threats-list.md): List threats for an organization using API key authentication - [List Takedowns](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/takedowns-list.md): List takedowns for an organization. Authenticate with an API key (the org is derived from the key) or with a user session (pass `organizationSlug` in the request body). - [Get Metrics Summary](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/metrics-summary.md): Get customer-facing organization metrics and blocked threat breakdowns for a date range. - [Get Metrics Breakdown](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/metrics-breakdown.md): Get blocked threat counts grouped by day, asset type, or brand. - [Get Found Threats Count](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/metrics-found.md): Return the default 'found' metric for an organization, defined as customer-facing new threats. - [Get Blocked Threats by First-Report Source](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/metrics-found-by-source.md): Count distinct currently blocked assets whose earliest report for the organization falls in the date range, split into customer vs ChainPatrol (staff + automation). Blocked is current status or pending BLOCKED, not blockedAt. This does not equal /metrics/found. - [Get Organization Metrics](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/organization-metrics-list.md): Get metrics for your organization with optional date range and brand filtering. Organization is determined from your API key. - [Get Organization Metrics (Deprecated)](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/organization-metrics.md): Get public metrics for one or more organizations - [Validate API Key](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/validate.md): Validates if the provided API key is valid for Zapier integration - [Get Current User](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/user-me.md): Get details of currently logged in user - [Update Current User](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/user-me-update.md): Update the currently authenticated user's profile and settings - [List User Organizations](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/user-orgs.md): List organizations accessible to the current user along with each org's subscription status, which services (reporting, reviewing, protection, takedowns, detection, dark web monitoring) are enabled, integration connection status (Slack, Discord, Telegram, Vercel, Intercom, Moderation API), whether O… - [Get User Organization](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/user-orgs-get.md): Fetch a single organization by slug. Returns the same per-organization shape as `/user/orgs` (id, name, slug, avatarUrl, subscriptionStatus, services flags, integration connection status, `obligatoryAdminApproval`, `legalDocuments`, and `trademarkRegistrations`). The `integrations` object shows whic… - [Get Operations Queue Snapshot](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/operations-queues-snapshot.md): Return pending review and takedown queue state with SLA and age buckets for operational monitoring. - [List Healthchecks](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/healthchecks-list.md): Return the registry of healthchecks ChainPatrol exposes today, including planned checks that are not yet implemented on the backend. Clients should iterate this list and only call endpoints where `implemented` is true. - [Silent Detection Configs](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/healthchecks-detections-silent-configs.md): Validates that each enabled detection config has produced at least the configured minimum number of results within the lookback window. Returns the uniform healthcheck result shape. - [Reviewing Backlog](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/healthchecks-reviewing-backlog.md): Counts proposals in PENDING review state for the org and grades severity (ok/warn/fail) against the configurable thresholds. - [Old Proposals in Review](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/healthchecks-reviewing-old-proposals.md): Counts PENDING proposals older than the warn / fail age thresholds (default 7 / 14 days) and lists the oldest offenders. - [TODO Takedown Volume](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/healthchecks-takedowns-todo-volume.md): Counts takedowns sitting in TODO status for the org. A backlog typically signals either an automation gap on a new threat surface, or manual-filing capacity issues on the takedown team. - [IN_PROGRESS Takedown Volume](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/healthchecks-takedowns-in-progress-volume.md): Counts takedowns currently IN_PROGRESS for the org regardless of age. Complements `takedowns.stale-in-progress` (which only flags items past a staleness threshold) — a high overall pile-up signals submission-format or vendor-side issues even when individual items are not yet stale. - [Stale IN_PROGRESS Takedowns](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/healthchecks-takedowns-stale-in-progress.md): Counts takedowns that have sat in IN_PROGRESS past the staleness threshold (default 7 days) and lists the oldest offenders. - [Cancelled Takedown Count](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/healthchecks-takedowns-cancelled-count.md): Counts transitions into the CANCELLED status from the TakedownEvent log within the configured lookback window. Cancellations should be rare (typically 0-2 per week); a higher count usually signals a quality problem in the proposal funnel or a misuse of the CANCELLED status. - [Automated Takedowns Disabled](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/healthchecks-takedowns-automation-off.md): Flags orgs where takedown service is enabled but `isAutomatedTakedownsActive` has been off for longer than the configured age threshold (default warn 30 days, fail 60 days). Age is derived from the most recent SERVICES_AUTOMATED_TAKEDOWNS_UPDATED entry in OrganizationEvent, falling back to Organizat… - [Dead Asset Spike](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/healthchecks-assets-dead-asset-spike.md): Compares the count of `DETECTED_AS_DEAD` LivenessStatusEvent rows in the current window against the baseline rate from the prior `baselineDays`. Severity fires only when the current count clears `minSpikeCount` (suppresses noise when the org has near-zero baseline activity) and exceeds the configure… - [Missing Contact URL](https://chainpatrol-mintlify-0bff4f71.mintlify.site/external-api/healthchecks-organization-missing-contact-url.md): Flags organizations that have no contactUrl configured. The contact URL is the main communication channel (typically Slack or Telegram) used to reach the customer. - [ChainPatrol CLI](https://chainpatrol-mintlify-0bff4f71.mintlify.site/cli/overview.md): Install and use the ChainPatrol CLI to check assets, file reports, review proposals, and query detection and takedown data from your terminal or a script. - [Installation](https://chainpatrol-mintlify-0bff4f71.mintlify.site/cli/installation.md): Install the ChainPatrol CLI from npm, point it at an API environment, set a default organization, and enable zsh or bash shell completions. - [Authentication](https://chainpatrol-mintlify-0bff4f71.mintlify.site/cli/authentication.md): Authenticate the ChainPatrol CLI with the device-code login flow, or with a CHAINPATROL_API_KEY for CI, headless shells, and AI agents. - [Output and exit codes](https://chainpatrol-mintlify-0bff4f71.mintlify.site/cli/output.md): Global ChainPatrol CLI flags, JSON, markdown, and CSV output formats, and the deterministic exit codes scripts and CI jobs should branch on. - [Using the CLI with agents](https://chainpatrol-mintlify-0bff4f71.mintlify.site/cli/agents.md): Install the ChainPatrol Claude Code skill and use --json, --dry-run, --explain, and --no-input to drive the CLI safely from scripts and AI agents. - [asset command — check, list, and search assets](https://chainpatrol-mintlify-0bff4f71.mintlify.site/cli/commands/asset.md): Check URLs and addresses against the ChainPatrol blocklist, search assets by content or ID, list blocked assets in bulk, and see every supported asset type. - [reports command — create, list, and search reports](https://chainpatrol-mintlify-0bff4f71.mintlify.site/cli/commands/reports.md): Create ChainPatrol reports from the terminal, browse an organization's report queue with full filtering, and search by asset content to avoid duplicates. - [proposals command — review proposals from the terminal](https://chainpatrol-mintlify-0bff4f71.mintlify.site/cli/commands/proposals.md): Approve, reject, or watchlist the ChainPatrol proposals waiting on your organization's review from the terminal, with confirmation and dry-run support. - [detections command — run and manage detection configs](https://chainpatrol-mintlify-0bff4f71.mintlify.site/cli/commands/detections.md): Run ChainPatrol detection configs on demand, validate that they still return results, catch query drift, list detection results, and update a config. - [metrics command — query organization metrics](https://chainpatrol-mintlify-0bff4f71.mintlify.site/cli/commands/metrics.md): Query ChainPatrol organization metrics from the CLI: summary counts, newly found threats, breakdowns by day, type, or brand, and multi-organization rollups. - [threats command — list confirmed blocked threats](https://chainpatrol-mintlify-0bff4f71.mintlify.site/cli/commands/threats.md): List confirmed threats blocked by ChainPatrol from the CLI, filtered by content, date range, asset type, and sorted with cursor pagination. - [takedowns command — list takedown records with filters](https://chainpatrol-mintlify-0bff4f71.mintlify.site/cli/commands/takedowns.md): List ChainPatrol takedown records from the terminal with the same filters as the app's Takedowns view: status, liveness, brand, assignee, and date ranges. - [orgs command — list and inspect organizations](https://chainpatrol-mintlify-0bff4f71.mintlify.site/cli/commands/orgs.md): List ChainPatrol organizations and filter them by subscription status, service toggles, and pending approvals; inspect a single org, its allowlist, and brands. - [healthchecks command — list and run org healthchecks](https://chainpatrol-mintlify-0bff4f71.mintlify.site/cli/commands/healthchecks.md): List and run ChainPatrol organization healthchecks from the CLI across detections, reviewing, takedowns, and asset liveness, with CI-friendly exit codes. - [queues command — snapshot review and takedown queues](https://chainpatrol-mintlify-0bff4f71.mintlify.site/cli/commands/queues.md): Snapshot ChainPatrol's pending review proposals and open takedowns for one organization or across all of them, with configurable staleness windows. - [presets command — run saved CLI workflows](https://chainpatrol-mintlify-0bff4f71.mintlify.site/cli/commands/presets.md): Run saved ChainPatrol CLI workflows that bundle several calls into one command, such as the CS Weekly Health package for a customer check-in. - [Overview](https://chainpatrol-mintlify-0bff4f71.mintlify.site/sdk/overview.md): The ChainPatrol JavaScript SDK provides ThreatDetector, Relay, Storage, and API client tools to protect wallets and dApps from phishing and scam URLs. - [Quickstart](https://chainpatrol-mintlify-0bff4f71.mintlify.site/sdk/quickstart.md): Install the ChainPatrol JavaScript SDK and wire up ThreatDetector, Storage, and Relay to add phishing URL checks to your wallet or browser extension. - [Overview](https://chainpatrol-mintlify-0bff4f71.mintlify.site/sdk/threat-detector/overview.md): The ThreatDetector class wraps ChainPatrol's phishing and scam detection APIs with caching, storage adapters, and URL checks for dApps and wallets. - [Constructor](https://chainpatrol-mintlify-0bff4f71.mintlify.site/sdk/threat-detector/constructor.md): Instantiate a new ThreatDetector with local or cloud mode, an API key, storage adapter, proxy URL, and custom redirect URL for scam URL detection. - [url()](https://chainpatrol-mintlify-0bff4f71.mintlify.site/sdk/threat-detector/instance-methods/url.md): Check whether a URL is a phishing or scam site with ThreatDetector.url(), returning an ALLOWED, BLOCKED, or UNKNOWN status plus an optional redirectUrl. - [allow()](https://chainpatrol-mintlify-0bff4f71.mintlify.site/sdk/threat-detector/instance-methods/allow.md): Add a URL or domain to the ThreatDetector local allowlist so subsequent url() checks return an ALLOWED status without calling the ChainPatrol API. - [block()](https://chainpatrol-mintlify-0bff4f71.mintlify.site/sdk/threat-detector/instance-methods/block.md): Add a URL or domain to the ThreatDetector local blocklist so subsequent url() checks return BLOCKED status along with the ChainPatrol warning redirectUrl. - [ignore()](https://chainpatrol-mintlify-0bff4f71.mintlify.site/sdk/threat-detector/instance-methods/ignore.md): Add a domain to the ThreatDetector ignorelist when a user chooses to continue at their own risk, preventing repeated redirects to the warning page. - [Overview](https://chainpatrol-mintlify-0bff4f71.mintlify.site/sdk/storage/overview.md): Storage adapters cache ThreatDetector URL lookups to reduce ChainPatrol API calls, with browser localStorage, extension storage, and memory options. - [Browser](https://chainpatrol-mintlify-0bff4f71.mintlify.site/sdk/storage/browser.md): The Storage.browser() adapter caches ThreatDetector URL lookups in the browser's localStorage, ideal for dApps running in a standard web page context. - [Extension](https://chainpatrol-mintlify-0bff4f71.mintlify.site/sdk/storage/extension.md): The Storage.extension() adapter caches ThreatDetector results using the browser extension storage API for Chrome, Firefox, and Edge wallet extensions. - [Memory](https://chainpatrol-mintlify-0bff4f71.mintlify.site/sdk/storage/memory.md): The Storage.memory() adapter is the default in-memory cache for ThreatDetector, useful for testing and development where persistence isn't required. - [Overview](https://chainpatrol-mintlify-0bff4f71.mintlify.site/sdk/relay/overview.md): The Relay class passes ChainPatrol warning-page events between the warning page, content script, and background script of your browser extension wallet. - [send()](https://chainpatrol-mintlify-0bff4f71.mintlify.site/sdk/relay/static-methods/send.md): Use Relay.send() from the ChainPatrol warning page to dispatch an event, such as ContinueAtOwnRisk, to your browser extension's background listeners. - [run()](https://chainpatrol-mintlify-0bff4f71.mintlify.site/sdk/relay/static-methods/run.md): Call Relay.run() in a content script to start forwarding ChainPatrol warning-page events between the page and your browser extension background script. - [on()](https://chainpatrol-mintlify-0bff4f71.mintlify.site/sdk/relay/static-methods/on.md): Register a callback with Relay.on() to listen for ChainPatrol warning-page events like ContinueAtOwnRisk inside your browser extension background script. - [Overview](https://chainpatrol-mintlify-0bff4f71.mintlify.site/sdk/chainpatrol-client/overview.md): The ChainPatrolClient class connects your Node.js or browser JavaScript app to the ChainPatrol API for asset checks, listings, and submissions. - [Constructor](https://chainpatrol-mintlify-0bff4f71.mintlify.site/sdk/chainpatrol-client/constructor.md): Instantiate a new ChainPatrolClient with your API key and optional baseUrl to connect the JavaScript SDK to ChainPatrol's threat detection API. - [asset.check](https://chainpatrol-mintlify-0bff4f71.mintlify.site/sdk/chainpatrol-client/instance-methods/asset-check.md): Check the real-time threat status of a single URL, page, or crypto address with the ChainPatrol JavaScript SDK's asset.check API method. - [asset.list](https://chainpatrol-mintlify-0bff4f71.mintlify.site/sdk/chainpatrol-client/instance-methods/asset-list.md): Retrieve bulk lists of ChainPatrol-reviewed assets filtered by type, threat status, date range, and organization slug using the asset.list method. - [asset.submit](https://chainpatrol-mintlify-0bff4f71.mintlify.site/sdk/chainpatrol-client/instance-methods/asset-submit.md): Bulk submit up to 100 domains, URLs, or crypto addresses to ChainPatrol for automated threat classification and optional organization assignment. - [Asset types](https://chainpatrol-mintlify-0bff4f71.mintlify.site/glossary/overview.md): Reference for ChainPatrol asset type enums used in reports, checks, and lists: URL, PAGE, ADDRESS, plus social, messaging, app store, and other platforms. - [URL](https://chainpatrol-mintlify-0bff4f71.mintlify.site/glossary/asset-types/url.md): Report a domain or subdomain as a URL asset in ChainPatrol, normalized to lowercase punycode so blocking one domain also covers all of its subdomains. - [Page](https://chainpatrol-mintlify-0bff4f71.mintlify.site/glossary/asset-types/page.md): Use the PAGE asset type to report specific scam URLs on shared hosting platforms like linktr.ee, telegram.me, or wordpress.com without blocking the domain. - [Address](https://chainpatrol-mintlify-0bff4f71.mintlify.site/glossary/asset-types/address.md): Report a wallet address or smart contract address as a ChainPatrol asset, normalized to lowercase and detected via the 0x prefix and 20-byte length. - [Social and messaging](https://chainpatrol-mintlify-0bff4f71.mintlify.site/glossary/asset-types/social.md): ChainPatrol asset type enums for reporting scams on Twitter, Telegram, Discord, Facebook, Instagram, TikTok, YouTube, and other social platforms. - [Apps and extensions](https://chainpatrol-mintlify-0bff4f71.mintlify.site/glossary/asset-types/apps.md): ChainPatrol asset type enums for reporting apps and browser extensions on Google Play, Apple App Store, Amazon, Microsoft, Chrome, Firefox, and Opera. - [Other platforms](https://chainpatrol-mintlify-0bff4f71.mintlify.site/glossary/asset-types/other.md): ChainPatrol asset type enums for reporting email, GitHub, IPFS, OpenSea, DeBank, Google Forms, JotForm, Tawk.to, Teachable, and Archive.org assets. ## OpenAPI Specs - [openapi](https://app.chainpatrol.io/api/v2/openapi.json?v=2)