I did it!

I can now issue a record (credential) to a NFC tag associated with a #nostr #safebox.

So I've proven I can have a fully functional wallet with only a NFC tag.

I can:

1. Pay to NFC Tag

2. Pay from NFC Tag

3. Present a record (i.e., prove) using a NFC Tag

4. Accept a Record using a NFC Tag.

and of course,

5. Login with a NFC Tag.

IMHO, this is BIG! It's now possible to have a wallet that exists independently of a phone, and which can be used with a super cheap NFC Tag.

Onward!

https://video.nostr.build/af0fcb97d28f770f72597039a937deccb7b313e3e8de8becd0e58e89122fbf25.mp4

Reply to this note

Please Login to reply.

Discussion

Where's the best place to get NFC tags?

Amazon

Ntag216 or 213 or…

Amazing. What’s next? This is huge.

It’s definitely big, I can envision an offline Verifiable Credential similar to an OpenPGP DID via a presentation exchange.

https://gnupg.org/ftp/specs/OpenPGP-smart-card-application-3.4.1.pdf

https://identity.foundation/presentation-exchange/

I'm totally familiar with presentation exchange protocols and decided to build everything from the ground up with nostr. Also card security - keeping all of the encryption and logic in the application versus the card actually makes things more secure. I also replicated the things I liked from the tokenized card payment system (Visa, Mastercard). The best thing about nostr is that I did not have to ask for permission to do what I am doing. I just built what I wanted.

I absolutely love it, I would like to check it out. Are you going to open source it? Does it require an invite?

What make/version NFC tag/card, and size do you recommend? I ran into limitations with NTAG215 tags only being 504 bytes.

I did notice you wrote a urn:vwi spec similar to a DID. Nostr is great because of the permission-less capabilities you mentioned. We actually have a chance of fliping the internet right side up again. 👏

This uses "someone elses node", right?

How do you decide how much to spend? Does the NFC tag only reveal as much as minimally needed?

I encode a default tip amount (21 sats) if no amount is specified by the acquiring app. The info is encrypted and can only be decrypted by the vault that did the issuance. Also, the vault needed to ‘trust’ the acquiring instance (known public key) before it does anything.