mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-07-30 19:46:17 +00:00
Audited all 143 plan files across the 10 plans/ folders. Each plan now carries a Status header (shipped | in-progress | queued | abandoned) backed by codebase evidence, and every folder has a README.md index grouping plans by status. Shipped plans were moved into a per-folder plans/archive/ (via git mv, history preserved) so each plans/ folder surfaces only live work: shipped (archived): 122 in-progress: 8 queued: 7 abandoned: 4 docs/plans/ is the frozen legacy folder; its plans were stamped and indexed in place (48 of 52 archived) but it remains closed to new plans. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016hpUivtmq4pgzqRbY6MYrA
1.9 KiB
1.9 KiB
Phase 2: Embedded Self-Custodial Wallet — Research Summary
Status: queued — research summary explicitly "parked" pending NWC parity; no embedded-wallet (Breez/ldk-node/lightning-kmp) code exists. Audited 2026-06-30.
Date: 2026-05-21 Status: Research complete, parked. Return after NWC parity (Phase 1) ships.
Context
No desktop Nostr client has an embedded wallet. All use NWC. This would be a first.
Top Candidates (High Sovereignty)
| Breez SDK Spark | ldk-node-jvm | lightning-kmp | |
|---|---|---|---|
| Sovereignty | Full | Full | Full |
| Architecture | No channels | Channels + LSPS2 | Single channel + splicing |
| KMP/JVM | KMP artifact (breez-sdk-spark-kmp:0.7.10) |
JVM JAR (ldk-node-jvm:0.7.0) |
KMP (lightning-kmp:1.8.4) |
| LSP lock-in | None | Any LSPS2 | ACINQ only |
| Embedding docs | Breez docs | Good | None |
| License | MIT | MIT/Apache-2.0 | Apache-2.0 |
Recommended path
- Spike Breez SDK Spark — verify KMP artifact works on JVM desktop (not just Android)
- Fallback: ldk-node-jvm — proven JVM, any LSP, well-documented
- Skip: lightning-kmp — ACINQ LSP lock-in, no embedding docs
Eliminated
- phoenixd: subprocess, no Windows native
- Breez SDK Liquid: Android-only bindings
- Greenlight: weak JVM support
- Cashu: not self-custodial (mint trust)
Open Questions
- Does
breez-sdk-spark-kmpinclude JVM desktop native libs? - Spark fee economics for small zaps (10-100 sats)?
- Does
ldk-node-jvmbundle macOS arm64/x64 + Linux x64 natives? - Which LSPS2 LSPs are publicly available?
- Would ACINQ accept third-party lightning-kmp clients?
Nostr App Landscape
| App | Wallet | Type |
|---|---|---|
| Primal | Strike (custodial), maybe migrating to Spark | Built-in |
| 0xchat | cashu-dart | Cashu ecash |
| YakiHonne | Cashu + NWC | Dual |
| Amethyst Android | NWC + Cashu token parsing | External |
| All desktop clients | NWC only | External |