Electron Cash plugins for the 00 Protocol privacy suite.
Receive BCH at one-time unlinkable addresses. No OP_RETURN, no address reuse, outputs are indistinguishable from standard P2PKH.
How it works (BIP352 aggregated ECDH):
Sender: a_sum = Σ input_privkeys mod N
input_hash = SHA256(smallest_outpoint || A_sum)
shared = (a_sum × input_hash) × B_scan
outputAddr = P2PKH(B_spend + SHA256(sharedX || k)·G)
Receiver: shared = (b_scan × input_hash) × A_sum ← same value
1 ECDH per TX — 5–10× faster than per-input scanning
Features:
- BIP352 aggregated ECDH scanning (1 ECDH/TX)
- Legacy v1 single-input ECDH fallback for old payments
- Indexer-based scanning — no full node required
- Key derivation:
m/352'/145'/0'/1'/0(scan) ·m/352'/145'/0'/0'/0(spend) - Paycode format:
stealth:<scan_pub_33bytes_hex><spend_pub_33bytes_hex>
Files:
stealth/
├── __init__.py Plugin manifest
├── plugin.py Electron Cash plugin entry point + JS bridge
├── qt.py GUI (stealth code, scan, send)
├── cmdline.py CLI interface
└── scripts/
├── stealth.js BIP352 crypto (pure JS, no external deps)
└── stealth.test.js 15 unit tests
Run tests:
node stealth/scripts/stealth.test.js
# Expected: 15/15 ✅- Download or clone this repo
- In Electron Cash: Tools → Installed Plugins → Add Plugin
- Select the plugin folder (e.g.
stealth/)
Or copy the plugin folder directly into your Electron Cash plugins/ directory.
MIT