NIP-57: Zaps
NIP-57 definisce gli zap, un modo per associare pagamenti Lightning a identità e contenuti Nostr. Standardizza sia la richiesta di una invoice abilitata agli zap sia l’evento di ricevuta che i wallet pubblicano dopo il pagamento.
Come funziona
- Il client scopre l’endpoint LNURL del destinatario dai metadata del profilo o da un tag
zapnell’evento di destinazione. - Il client invia una richiesta zap firmata di kind
9734al callback LNURL del destinatario, non ai relay. - L’utente paga la invoice.
- Il server wallet del destinatario pubblica una ricevuta zap di kind
9735sui relay elencati nella richiesta zap. - I client convalidano e mostrano lo zap.
Richiesta zap (kind 9734)
La richiesta zap è un evento firmato che identifica il pagatore e la destinazione prevista. Di solito include:
- tag
pcon la pubkey del destinatario - tag
econ l’evento che riceve lo zap (opzionale) - tag
amountin millisatoshi - tag
relaysche elenca dove pubblicare la ricevuta
Il contenuto addressable può usare un tag a al posto di, o insieme a, un tag e. Il tag opzionale k registra il kind di destinazione.
Ricevuta zap (kind 9735)
Pubblicata dal server wallet del destinatario dopo la conferma del pagamento. Contiene:
- La richiesta zap originale in un tag
description - tag
bolt11con la invoice pagata - tag
preimageche prova il pagamento
I client dovrebbero convalidare la ricevuta rispetto al nostrPubkey LNURL del destinatario, all’importo della invoice e alla richiesta zap originale. Una ricevuta senza questa convalida è solo un’affermazione.
Fiducia e compromessi
Gli zap sono utili perché rendono visibili i pagamenti nel social graph, ma la ricevuta viene comunque creata dall’infrastruttura wallet del destinatario. La specifica stessa osserva che una ricevuta zap non è una prova universale di pagamento. È meglio intenderla come una dichiarazione firmata dal wallet secondo cui una invoice collegata a una richiesta zap è stata pagata.
Fonti primarie:
Citato in:
Vedi anche: