cashubtc / nuts

Cashu protocol specifications https://cashubtc.github.io/nuts/
MIT License
152 stars 52 forks source link

Watch-only Cashu Wallet #153

Open vforvilela opened 3 months ago

vforvilela commented 3 months ago

Is it possible to create the equivalent of a watch-only wallet using Cashu, meaning a wallet that can receive tokens and swap [NUT-03] them but cannot spend the new ones, while the real wallet retains the ability to spend?

Use case: A server that can securely receive payments without becoming an attractive target.

If it is possible, is there an implementation available?

thesimplekid commented 3 months ago

You could use NUT-11 for this. A server could receive tokens and then swap them for P2PK locked tokens of some configured pubkey it does not have the secret key for, then store them or send them in some way until they can be unlocked and redeemed.

I sort of do this in x-cashu-search there the api server receives the tokens and verifies that they are already p2pk locked and then forwards them via nostr to be claimed later, no reason you couldn't add a step where it receives unlocked tokens and locks them if that fits your use case better.