copexit/am-i-exposed/cli
Claude Code and agent skill by copexit/am-i-exposed
- community
Checking that the SKILL.md file is still in the repository.
Install
npx vskill@latest install copexit/am-i-exposed/cliSKILL.md
am-i-exposed - Bitcoin Privacy Scanner CLI
Analyze Bitcoin transactions, addresses, wallets, and PSBTs for chain analysis exposure. Runs 32 transaction heuristics, 12 chain analysis modules, Boltzmann entropy computation (Rust/WASM), and entity matching against 364+ known entities.
All analysis runs locally. Only mempool.space API calls are made for blockchain data. PSBT analysis requires zero network access.
Installation
Requires Node.js >= 20.
Commands
Scan Transaction
Runs all 32 transaction heuristics including CoinJoin detection, change detection, wallet fingerprinting, entity detection, entropy analysis, and more. Returns a privacy score (0-100), grade (A+/B/C/D/F), findings array, and transaction type classification.
When to use: Evaluate the privacy of any confirmed or mempool transaction. Use --chain-depth 3 to also trace the transaction graph for entity proximity and taint analysis.
Scan Address
Analyzes address reuse, UTXO hygiene, spending patterns, entity identification, temporal correlation, and fingerprint evolution.
When to use: Evaluate whether an address has been exposed to chain analysis. Check before sending funds to an address.
Scan Wallet (xpub/zpub)
Derives addresses from extended public key or output descriptor, scans each for activity, and runs a wallet-level privacy audit covering address reuse, UTXO hygiene, toxic change, consolidation history, and script type consistency.
When to use: Audit an entire wallet's privacy posture. Especially useful before consolidation or migration.
Scan PSBT (Pre-Broadcast)
Analyzes an unsigned or partially signed transaction BEFORE broadcasting. Requires zero network access - all analysis is performed on the PSBT data directly. This is the key feature for AI agents crafting transactions.
When to use: Check if a transaction you're about to broadcast will have good privacy. If grade is D or F, modify coin selection and retry.
Boltzmann Analysis
Computes Boltzmann entropy (bits), wallet efficiency (0-100%), link probability matrix, and deterministic links using a Rust/WASM implementation. Requires 2+ inputs.
When to use: Deep analysis of how linkable inputs and outputs are. Higher entropy = better privacy. Efficiency shows how close to a perfect CoinJoin structure.
Chain Trace
Multi-hop transaction graph analysis. Traces backward (input provenance) and/or forward (output destinations) up to N hops. Runs entity proximity detection, taint analysis, clustering, and spending pattern analysis on the discovered graph.
When to use: Investigate where funds came from or where they went. Detect known entities (exchanges, mixers, darknet markets) within N hops.
Global Flags
| Flag | Description | |
|---|---|---|
--json | Structured JSON output (suppresses spinner and colors) | |
--network <net> | mainnet (default), testnet4, or signet | |
--api <url> | Custom mempool API URL | |
--no-entities | Skip entity filter loading (faster startup) | |
--no-color | Disable colored output |
JSON Output Schema
All commands with --json return a consistent envelope:
Grades
| Grade | Score Range | Meaning | |
|---|---|---|---|
| A+ | >= 90 | Excellent privacy | |
| B | 75-89 | Good privacy | |
| C | 50-74 | Moderate exposure | |
| D | 25-49 | Poor privacy | |
| F | < 25 | Severe exposure |
Severity Levels
| Severity | Meaning | |
|---|---|---|
critical | Deterministic privacy failure (e.g., address reuse across 90+ txs) | |
high | Strong heuristic match (e.g., obvious change output, known entity) | |
medium | Moderate concern (e.g., round amounts, script type mixing) | |
low | Minor observation (e.g., wallet fingerprint, BIP69 ordering) | |
good | Positive privacy practice (e.g., CoinJoin detected, uniform scripts) |
Transaction Types
The txType field classifies the transaction:
whirlpool-coinjoin, wabisabi-coinjoin, joinmarket-coinjoin, generic-coinjoin, stonewall, simplified-stonewall, tx0-premix, bip47-notification, ricochet, consolidation, exchange-withdrawal, batch-payment, self-transfer, peel-chain, coinbase, simple-payment, unknown
Exit Codes
| Code | Meaning | |
|---|---|---|
| 0 | Success | |
| 1 | Runtime error (network failure, API error, timeout) | |
| 2 | Invalid input (bad txid, invalid address, unparseable PSBT) |
Agent Workflows
Pre-broadcast privacy check
Transaction forensics
Wallet health audit
Privacy-optimal coin selection
Boltzmann comparison
Entity proximity check
Privacy Notes
- No addresses or transaction IDs are logged or persisted by the CLI
- Entity detection uses bundled data files (~92MB), no external APIs
- PSBT analysis requires zero network access
- Only mempool.space API is used for blockchain data (or your custom --api endpoint)
- All analysis runs locally on your machine
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingcli/skill.md
Popularity
- Repository stars
- 74
- Repository forks
- 12
- 7-day trend score
- 22
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 23 May 2026, 5 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/copexit/am-i-exposed/cli)