Nostr Wallet Connect (NWC) spiegato
NWC collega il tuo client Nostr e il tuo portafoglio Lightning. Ti permette di inviare zap dalla tua feed senza che il portafoglio sia integrato. Come funziona l'abbinamento.
Prima di Nostr Wallet Connect, ogni client Nostr doveva costruire la sua integrazione di portafoglio, o spedire senza la funzionalità zap. Ciò ha prodotto due risultati negativi: i client che spedivano zap erano costretti a eseguire un portafoglio, e i client che non volevano eseguire un portafoglio non potevano supportare zap.
NWC ha risolto questo problema separando il portafoglio dal client. Il portafoglio è un'app a sé stante; il client invia richieste di spesa su Nostr stesso; tutti vincono.
Se usi zap su qualsiasi client senza portafoglio integrato, stai usando NWC che tu lo pensi o meno. Questa guida rende il meccanismo esplicito in modo che tu comprenda cosa fa la stringa di connessione, quali sono i suoi limiti e come revocarla.
TL;DR. NWC è un protocollo (NIP-47) per un client Nostr per chiedere a un portafoglio Lightning di pagare fatture. L'abbinamento è una stringa che assomiglia a
nostr+walletconnect://.... La stringa concede il permesso di spendere fino a un budget configurabile. Qualsiasi portafoglio può parlare NWC a qualsiasi client consapevole di NWC, quindi l'abbinamento funziona in tutto l'ecosistema.
Quando sei pronto, prendi il tuo indirizzo @nostr.blog
Il problema prima di NWC
Prima di NWC, un client Nostr che voleva supportare zap aveva tre cattive opzioni.
Opzione 1: Integra un portafoglio nel client. Gestisci canali Lightning, gestisci la custodia, sii un'azienda di portafogli. La maggior parte dei client non poteva permettersi l'ingegneria.
Opzione 2: Chiedi all'utente il suo nsec e le sue credenziali di portafoglio. Firma gli eventi lato client e invia richieste di pagamento di fatture all'API del portafoglio direttamente. Ciò significava che il client vedeva la chiave API del portafoglio, il che è un incubo per la sicurezza.
Opzione 3: Non supportare zap. Alcuni client hanno preso questo percorso, il che li ha resi meno utili.
NWC disaccoppia il portafoglio dal client usando Nostr stesso come canale di segnalazione. Il client non vede mai le credenziali del portafoglio. Il portafoglio non ha mai bisogno di sapere nulla di specifico di Nostr tranne come ricevere richieste.
Come funziona il protocollo
NWC è definito in NIP-47. Il flusso:
- Il portafoglio genera una stringa di connessione. Contiene un URL di relay Nostr, una pubkey su cui il portafoglio ascolta, e un segreto condiviso per la crittografia.
- L'utente incolla la stringa nel client. O scansiona un codice QR. In entrambi i casi, il client ora sa dove inviare le richieste.
- Il client invia richieste di spesa crittografate su Nostr. "Paga questa fattura per 1000 sats" va in un evento crittografato alla pubkey in ascolto del portafoglio al relay specificato.
- Il portafoglio riceve la richiesta e paga. Se l'importo è entro il budget della connessione, il portafoglio paga la fattura immediatamente.
- Il portafoglio risponde con il risultato. Evento Nostr crittografato indietro al client: il pagamento è riuscito o fallito, ecco la prova.
L'intera operazione avviene in meno di un secondo. Il client non gestisce mai Lightning direttamente; parla solo a Nostr. Il portafoglio non ha mai bisogno di capire le funzioni sociali di Nostr; ascolta solo richieste di spesa.
Cosa contiene la stringa di connessione
Una tipica stringa NWC:
nostr+walletconnect://abc123def456...?relay=wss://relay.example.com&secret=xyz789...
Tre parti.
Una pubkey. L'identità in ascolto del portafoglio su Nostr. Il client invia richieste a questa pubkey.
Un relay. Dove il portafoglio ascolta. Il client e il portafoglio si connettono entrambi a questo relay per scambiare messaggi.
Un segreto. Usato per crittografare i messaggi tra il client e il portafoglio, in modo che il relay veda solo testo cifrato.
Insieme, questi tre valori danno al client il permesso di inviare comandi di spesa al portafoglio. Il relay è la cassetta postale; la pubkey è l'indirizzo; il segreto è il lucchetto.
Budget e permessi
Ogni connessione NWC ha limiti impostati dal portafoglio quando la connessione è stata creata.
- Importo massimo per pagamento. Tipicamente da 10.000 a 100.000 sats a seconda di cosa imposti. Spendere più richiede un nuovo approvazione.
- Importo massimo al giorno/settimana/mese. Budget rotante che si riempie su un programma.
- Data di scadenza. Alcuni portafogli fanno scadere automaticamente le connessioni dopo un periodo; altri le lasciano aperte fino alla revoca.
- Metodi consentiti. Alcuni portafogli ti permettono di concedere solo "paga fattura", negando "cerca saldo" o "elenca transazioni."
Il budget significa che anche se una stringa di connessione trapela, il danno è limitato. Un attaccante non può svuotare l'intero portafoglio; può spendere solo fino al budget, a quel punto il portafoglio rifiuta ulteriori richieste fino a quando non aumenti il limite o non generi una nuova connessione.
Configurazione di NWC, passo dopo passo
Flusso concreto per un tipico utente che abbina un portafoglio a un client Nostr.
- Apri il tuo portafoglio Lightning. Wallet of Satoshi, Phoenix, Alby Hub, Zeus, o qualsiasi portafoglio che supporta NWC.
- Trova le impostazioni NWC. Cerca "Connessioni", "Nostr Wallet Connect" o "App" nel menu delle impostazioni. Ogni portafoglio la mette in un posto leggermente diverso.
- Crea una nuova connessione. Dagli un nome in modo da ricordare quale app è. Imposta un budget.
- Copia la stringa NWC generata. O ottieni un codice QR.
- Apri il tuo client Nostr. Vai alle impostazioni, trova "Portafoglio Lightning" o "Impostazioni Zap."
- Incolla la stringa NWC o scansiona il QR. Il client testa la connessione.
- Successo. I pulsanti zap si illuminano; il tuo prossimo zap passa attraverso il portafoglio abbinato.
Se il client mostra "connessione fallita" dopo l'abbinamento, la causa più comune è una mancata corrispondenza del relay (il relay nella stringa NWC è uno che il client non può raggiungere) o un firewall che blocca le connessioni WebSocket.
Perché questo batte un portafoglio integrato
Tre veri vantaggi di NWC rispetto ai portafogli integrati.
Portabilità. Puoi cambiare client Nostr senza cambiare portafoglio. Il tuo saldo, la cronologia e i canali rimangono al loro posto; il nuovo client si abbina semplicemente allo stesso portafoglio tramite una nuova connessione NWC.
Specializzazione. Gli sviluppatori di portafogli si concentrano sull'infrastruttura Lightning; gli sviluppatori di client si concentrano sull'UX sociale. Ogni lato migliora nel suo dominio, e l'interoperabilità funziona attraverso le combinazioni.
Confine di sicurezza. Il client non ha mai credenziali di portafoglio. Un client difettoso può al massimo inviare fatture sbagliate; non può svuotare il portafoglio o esportare la frase seed.
L'unico caso in cui integrato è chiaramente meglio è per gli utenti che vogliono l'onboarding con il massimo attrito ridotto. Un client con un portafoglio incluso porta l'utente a inviare zap un passo più veloce rispetto all'abbinamento di un portafoglio esterno. Ecco perché l'iscrizione a nostr.blog include un portafoglio per impostazione predefinita, e gli utenti possono comunque abbinare portafogli esterni tramite NWC in seguito se preferiscono.
Revoca di una connessione NWC
Se perdi un dispositivo, smetti di usare un client o vuoi ruotare le credenziali, revoca la connessione dal lato del portafoglio.
- Apri il portafoglio.
- Trova la connessione nell'elenco delle impostazioni.
- Tocca revoca o elimina.
- La stringa di connessione non funziona più; qualsiasi client che la detiene riceve "non autorizzato" alla prossima richiesta.
È istantaneo. A differenza delle chiavi API che potresti trapelare in un repository GitHub, le connessioni NWC possono essere terminate in secondi e nessuna sessione persistente rimane. Questa è una proprietà di sicurezza significativa.
Problemi comuni di NWC
"Connessione scaduta." Il relay nella stringa NWC non è raggiungibile dalla tua rete, o il portafoglio è offline. Verifica che l'app del portafoglio sia aperta e connessa; alcuni portafogli richiedono che l'app sia attiva per rispondere.
"Pagamento fallito" nonostante una fattura valida. I canali del portafoglio potrebbero mancare della liquidità per instradare il pagamento. Questo è un problema a livello Lightning, non specifico di NWC. Prova un importo diverso o un momento diverso.
"Autorizzazione negata." Il budget della connessione è esaurito, la connessione è scaduta, o il tipo di richiesta non è nei metodi consentiti. Controlla le impostazioni di connessione del portafoglio.
"Il client non riesce a rilevare il portafoglio." Dopo l'incollamento, il client si blocca. Chiudi e riapri il client; alcuni client mettono in cache lo stato della connessione e richecano solo al lancio.
Dove sta andando NWC
NIP-47 non è definitivo. Il lavoro attivo nel 2026 copre:
- Permessi più ricchi. Più granulari di "può spendere fino a X per periodo", con regole per destinatario o per importo.
- Instradamento multi-portafoglio. Un client abbinato a più portafogli sceglie il migliore per ogni pagamento in base al saldo, alla commissione o al percorso.
- Migliore segnalazione degli errori. Codici di errore standardizzati in modo che i client possano mostrare messaggi utili quando i pagamenti falliscono.
- Supporto per portafoglio offline. NWC attuale presuppone che entrambi i lati siano online; le bozze consentono richieste in coda che si risolvono quando il portafoglio si ricollega.
Il protocollo è sufficientemente stabile per l'uso quotidiano nel 2026 e continuerà a evolversi. L'abbinamento di un portafoglio oggi è un'operazione di un minuto; nulla della progettazione attuale si interromperà in seguito.
Domande frequenti
NWC è la stessa cosa che connettere un portafoglio?
NWC è sicuro?
Un portafoglio può connettersi a più client tramite NWC?
Qual è la differenza tra NWC e LNURL?
Ho bisogno di NWC per usare zap su Nostr?
Continua a leggere
Cosa sono gli zap su Nostr? Mance in Bitcoin, pubblicamente visibili
Gli zap sono mance Lightning in Bitcoin con un click che appaiono nei feed di Nostr. Cosa sono, come funziona il flusso di ricevuta e come inviare o ricevere uno zap.
7 min di letturaWallet e LightningCome inviare uno zap su Nostr: passo dopo passo
Inviare il tuo primo zap richiede circa due minuti una volta che il tuo portafoglio è finanziato. Ecco la configurazione, il flusso effettivo e cosa fare se lo zap non arriva.
6 min di letturaWallet e LightningLightning Network spiegato per gli utenti Nostr
Il layer Bitcoin che rende pratici i suggerimenti inferiori a un centesimo. Come funziona Lightning, perché Nostr lo utilizza per gli zap e cosa devi fare per inviare e ricevere sats.
8 min di lettura