Implement Nostr as verification code method (alternative to SMS) #5

Closed
opened 2026-01-11 16:23:21 +00:00 by padreug · 1 comment
Owner

Feature Description

Add Nostr as an alternative verification code delivery method for customer compliance flows, replacing or supplementing SMS verification.

Motivation

  • SMS verification has costs and privacy concerns
  • Nostr provides a decentralized, censorship-resistant communication channel
  • Aligns with Bitcoin/Lightning ecosystem philosophy
  • No dependency on telecom providers

Implementation Considerations

  • Customer provides their Nostr npub during verification flow
  • Server sends verification code as encrypted DM (NIP-04 or NIP-44)
  • Customer confirms code received via Nostr
  • Configure relay(s) to use for sending messages
  • Handle cases where customer doesn't receive message (relay issues)
  • Admin UI configuration for enabling Nostr verification

Technical Notes

  • Could leverage existing nostrclient/nostrrelay infrastructure
  • Need to consider UX for customers unfamiliar with Nostr
  • May want to offer as option alongside SMS rather than full replacement initially
## Feature Description Add Nostr as an alternative verification code delivery method for customer compliance flows, replacing or supplementing SMS verification. ## Motivation - SMS verification has costs and privacy concerns - Nostr provides a decentralized, censorship-resistant communication channel - Aligns with Bitcoin/Lightning ecosystem philosophy - No dependency on telecom providers ## Implementation Considerations - [ ] Customer provides their Nostr npub during verification flow - [ ] Server sends verification code as encrypted DM (NIP-04 or NIP-44) - [ ] Customer confirms code received via Nostr - [ ] Configure relay(s) to use for sending messages - [ ] Handle cases where customer doesn't receive message (relay issues) - [ ] Admin UI configuration for enabling Nostr verification ## Technical Notes - Could leverage existing nostrclient/nostrrelay infrastructure - Need to consider UX for customers unfamiliar with Nostr - May want to offer as option alongside SMS rather than full replacement initially
Author
Owner

Closing as part of aiolabs/lamassu-server archival.

Carried forward to the Nostr-native stack. The Nostr-DM-verification-code design has substantive future value (KYC compliance without telecom dependency, no PII leakage, decentralized) and is captured as a future workstream in aiolabs/satmachineadmin#40 ("Future workstream — customer KYC compliance via Nostr DM").

The Nostr-native architecture already has the plumbing this design needs:

  • Customer npub end-to-end in Payment.extra.nostr_sender_pubkey (path B / aiolabs/lnbits!43)
  • NIP-44 v2 envelope machinery (cassette config aiolabs/satmachineadmin#29, fee config aiolabs/satmachineadmin#37/#39)
  • Operator signer abstraction for publishing DMs (aiolabs/lnbits PR #17, aiolabs/satmachineadmin PR #30)

When KYC compliance scopes (jurisdictional thresholds, regulatory requirement), open a fresh implementation issue referencing the workstream sketch in aiolabs/satmachineadmin#40.

Closing as part of `aiolabs/lamassu-server` archival. **Carried forward to the Nostr-native stack.** The Nostr-DM-verification-code design has substantive future value (KYC compliance without telecom dependency, no PII leakage, decentralized) and is captured as a future workstream in **`aiolabs/satmachineadmin#40`** ("Future workstream — customer KYC compliance via Nostr DM"). The Nostr-native architecture already has the plumbing this design needs: - **Customer npub** end-to-end in `Payment.extra.nostr_sender_pubkey` (path B / `aiolabs/lnbits!43`) - **NIP-44 v2 envelope** machinery (cassette config `aiolabs/satmachineadmin#29`, fee config `aiolabs/satmachineadmin#37/#39`) - **Operator signer abstraction** for publishing DMs (`aiolabs/lnbits` PR #17, `aiolabs/satmachineadmin` PR #30) When KYC compliance scopes (jurisdictional thresholds, regulatory requirement), open a fresh implementation issue referencing the workstream sketch in `aiolabs/satmachineadmin#40`.
Commenting is not possible because the repository is archived.
No labels
No milestone
No project
No assignees
1 participant
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
aiolabs/lamassu-server#5
No description provided.