mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-10-05 19:28:25 +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
54 lines
1.9 KiB
Markdown
54 lines
1.9 KiB
Markdown
# 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
|
|
|
|
1. **Spike Breez SDK Spark** — verify KMP artifact works on JVM desktop (not just Android)
|
|
2. **Fallback: ldk-node-jvm** — proven JVM, any LSP, well-documented
|
|
3. **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
|
|
|
|
1. Does `breez-sdk-spark-kmp` include JVM desktop native libs?
|
|
2. Spark fee economics for small zaps (10-100 sats)?
|
|
3. Does `ldk-node-jvm` bundle macOS arm64/x64 + Linux x64 natives?
|
|
4. Which LSPS2 LSPs are publicly available?
|
|
5. 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 |
|