copexit/am-i-exposed/cli

Claude Code and agent skill by copexit/am-i-exposed

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Install

npx vskill@latest install copexit/am-i-exposed/cli

SKILL.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

bash
npm install -g am-i-exposed
# or run without installing:
npx am-i-exposed <command>

Requires Node.js >= 20.

Commands

Scan Transaction
bash
am-i-exposed scan tx <txid> [--json] [--network mainnet|testnet4|signet] [--api <url>] [--chain-depth N] [--min-sats N]

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
bash
am-i-exposed scan address <addr> [--json] [--network mainnet|testnet4|signet] [--api <url>]

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)
bash
am-i-exposed scan xpub <zpub|xpub|descriptor> [--json] [--gap-limit N] [--labels FILE] [--export-labels FILE] [--network mainnet|testnet4|signet]

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)
bash
am-i-exposed scan psbt <file_path_or_base64> [--json]

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
bash
am-i-exposed boltzmann <txid> [--json] [--timeout N] [--intrafees-ratio N]

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
bash
am-i-exposed chain-trace <txid> [--json] [--direction backward|forward|both] [--depth N] [--min-sats N]

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

FlagDescription
--jsonStructured JSON output (suppresses spinner and colors)
--network <net>mainnet (default), testnet4, or signet
--api <url>Custom mempool API URL
--no-entitiesSkip entity filter loading (faster startup)
--no-colorDisable colored output

JSON Output Schema

All commands with --json return a consistent envelope:

json
{
"version": "0.33.0",
"input": { "type": "txid|address|xpub|psbt", "value": "..." },
"network": "mainnet",
"score": 95,
"grade": "A+",
"txType": "whirlpool-coinjoin",
"findings": [
{
"id": "h4-whirlpool-coinjoin",
"severity": "good|low|medium|high|critical",
"title": "Human-readable finding title",
"description": "Detailed explanation",
"recommendation": "Actionable advice",
"scoreImpact": 30,
"confidence": "deterministic|high|medium|low",
"params": { "key": "value" }
}
],
"recommendation": {
"id": "post-coinjoin-hygiene",
"urgency": "immediate|soon|when-convenient",
"headline": "...",
"detail": "...",
"tools": [{ "name": "Sparrow Wallet", "url": "https://sparrowwallet.com" }]
},
"links": {
"analysis": "https://am-i.exposed/#tx=<txid>",
"mempool": "https://mempool.space/tx/<txid>"
}
}
Grades
GradeScore RangeMeaning
A+>= 90Excellent privacy
B75-89Good privacy
C50-74Moderate exposure
D25-49Poor privacy
F< 25Severe exposure
Severity Levels
SeverityMeaning
criticalDeterministic privacy failure (e.g., address reuse across 90+ txs)
highStrong heuristic match (e.g., obvious change output, known entity)
mediumModerate concern (e.g., round amounts, script type mixing)
lowMinor observation (e.g., wallet fingerprint, BIP69 ordering)
goodPositive 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

CodeMeaning
0Success
1Runtime error (network failure, API error, timeout)
2Invalid input (bad txid, invalid address, unparseable PSBT)

Agent Workflows

Pre-broadcast privacy check
bash
# 1. Craft transaction, export as PSBT
# 2. Check privacy before broadcasting
am-i-exposed scan psbt /tmp/proposed-tx.psbt --json
# 3. Parse result
# If .grade is "D" or "F" - modify coin selection, add outputs, or use CoinJoin
# If .grade is "A+" or "B" - safe to broadcast
Transaction forensics
bash
# Quick scan
am-i-exposed scan tx <txid> --json
# Deep scan with 3-hop chain trace
am-i-exposed scan tx <txid> --json --chain-depth 3
# Check .findings for entity proximity, taint, clustering
# Check .txType for transaction classification
Wallet health audit
bash
am-i-exposed scan xpub <zpub> --json --gap-limit 30
# Key fields to check:
# .walletInfo.reusedAddresses - should be 0
# .walletInfo.dustUtxos - should be 0
# .grade - should be B or better
Privacy-optimal coin selection
bash
# For each candidate PSBT:
am-i-exposed scan psbt candidate1.psbt --json | jq '.score'
am-i-exposed scan psbt candidate2.psbt --json | jq '.score'
# Select the PSBT with the highest score, then sign and broadcast
Boltzmann comparison
bash
# Compare entropy of different transactions
am-i-exposed boltzmann <txid1> --json | jq '.boltzmann.entropy'
am-i-exposed boltzmann <txid2> --json | jq '.boltzmann.entropy'
# Higher entropy = more ambiguous = better privacy
Entity proximity check
bash
am-i-exposed chain-trace <txid> --json --depth 3 --direction backward
# Check .trace.findings for entity proximity warnings
# Check if known exchanges, mixers, or flagged entities are within N hops

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

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
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/copexit/am-i-exposed/cli/badge)](https://verified-skill.com/skills/copexit/am-i-exposed/cli)

Something wrong with this skill or its page? Tell us.