Feature: Optional npub identification for cash-in via NIP-17 #4
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Allow users to optionally identify themselves during cash-in by sending a NIP-17 encrypted message to the ATM. The signature proves ownership of the npub, enabling direct CLINK offer delivery and receipts.
Complexity: Medium
Dependencies: NIP-17 (Gift Wrap), NIP-44 (already implemented), CLINK
Motivation
Currently, cash-in requires the user to scan a QR code to receive the CLINK offer. With npub identification:
Cryptographic Proof
The elegance is that the signature is the proof of ownership:
No third party, no OAuth, no identity provider. Pure Nostr-native authentication.
Proposed Flow
NIP-17 Structure
User → ATM (Identification)
ATM → User (Receipt)
Privacy Properties
Implementation Tasks
@lamassu/nostr-clientWallet Compatibility
NIP-17 support in wallets (as of 2024):
Questions to Resolve
References
[reserved] migration number alignmentto Feature: Optional npub identification for cash-in via NIP-17Scope note: NIP-17 + CLINK are LP-side; LNbits ignores both
This issue's "optional npub identification for cash-in" mechanism (NIP-17 gift-wrapped DMs paired with the CLINK ndebit flow) is Lightning.Pub-side / CLINK-side territory. LNbits has no knowledge of CLINK and the
nostr-native-transportwork (see #22) does not add CLINK support. So:subscribe_payments— but the identity association doesn't live in the LNbits payment object. If the ATM needs to record "this cash-in was from npub X", it owns that mapping locally (e.g.session_id → npub) and threadsextra={"session_id": "..."}through the LNbits invoice; the npub itself never reaches LNbits.This issue stays scoped to the ATM + CLINK + ShockWallet side. No re-architecture needed for the LNbits migration. If LNbits ever adopts CLINK (deferred — see #22), the NIP-17 association would carry over naturally.