Nostr Wallet Connect (NWC) uitgelegd
NWC verbindt uw Nostr-client met uw Lightning-portemonnee. Het stelt uw feed in staat om zaps te sturen zonder dat de portemonnee ingebakken is. Hoe het koppelen werkt.
Voor Nostr Wallet Connect moest elke Nostr-client zijn eigen portemonnee-integratie bouwen, of zonder zap-functionaliteit verschepen. Dit produceerde twee slechte resultaten: clients die zaps verzonden, werden gedwongen een portemonnee uit te voeren, en clients die geen portemonnee wilden uitvoeren, konden zaps niet ondersteunen.
NWC loste dit op door de portemonnee van de client te scheiden. De portemonnee is zijn eigen app; de client stuurt uitgaververzoeken over Nostr zelf; iedereen wint.
Als u zaps gebruikt op een client zonder ingebouwde portemonnee, gebruikt u NWC of u denkt erover na of niet. Deze gids maakt het mechanisme expliciet zodat u begrijpt wat de verbindingsreeks doet, wat de limieten zijn, en hoe u deze kunt intrekken.
TL;DR. NWC is een protocol (NIP-47) voor een Nostr-client om een Lightning-portemonnee te vragen facturen te betalen. Het koppelen is een reeks die eruitziet als
nostr+walletconnect://.... De reeks verleent uitgavemachtiging tot aan een instelbaar budget. Elke portemonnee kan NWC spreken met elke NWC-bewuste client, dus het koppelen werkt in het hele ecosysteem.
Als je er klaar voor bent, claim je @nostr.blog-adres
Het probleem voor NWC
Voor NWC had een Nostr-client die zaps wilde ondersteunen drie slechte opties.
Optie 1: Bak een portemonnee in de client in. Beheer Lightning-kanalen, zorg voor bewaring, wees een portemonnee-bedrijf. De meeste clients konden de engineering niet betalen.
Optie 2: Vraag de gebruiker om hun nsec en portemonneereferenties. Onderteken gebeurtenissen aan de clientzijde en stuur factuurbetaalverzoeken rechtstreeks naar de portemonnee-API. Dit betekende dat de client de API-sleutel van de portemonnee zag, wat een nachtmerrie is voor beveiliging.
Optie 3: Ondersteun geen zaps. Sommige clients kozen dit pad, wat hen minder nuttig maakte.
NWC ontkoppelt de portemonnee van de client door Nostr zelf als het signaalkanaal te gebruiken. De client ziet nooit portemonneereferenties. De portemonnee hoeft niets Nostr-specifics te weten, behalve hoe verzoeken moeten worden ontvangen.
Hoe het protocol werkt
NWC is gedefinieerd in NIP-47. De stroom:
- Portemonnee genereert een verbindingsreeks. Bevat een Nostr relay-URL, een pubkey waarop de portemonnee luistert, en een gedeeld geheim voor versleuteling.
- Gebruiker plakt de reeks in de client. Of scant een QR-code. Hoe dan ook, de client weet nu waar verzoeken moeten worden verzonden.
- Client stuurt versleutelde uitgaververzoeken via Nostr. "Betaal deze factuur voor 1000 sats" gaat in een versleutelde gebeurtenis naar de luisterpubkey van de portemonnee op de opgegeven relay.
- Portemonnee ontvangt het verzoek en betaalt. Als het bedrag binnen het budget van de verbinding ligt, betaalt de portemonnee de factuur onmiddellijk.
- Portemonnee antwoordt met het resultaat. Versleutelde Nostr-gebeurtenis terug naar de client: betaling geslaagd of mislukt, hier is het bewijs.
Het hele gebeuren duurt minder dan een seconde. De client handelt nooit rechtstreeks met Lightning af; het praat gewoon met Nostr. De portemonnee hoeft Nostr-socialefuncties nooit te begrijpen; het luistert gewoon naar uitgaververzoeken.
Wat de verbindingsreeks bevat
Een typische NWC-reeks:
nostr+walletconnect://abc123def456...?relay=wss://relay.example.com&secret=xyz789...
Drie delen.
Een pubkey. De luister-identiteit van de portemonnee op Nostr. De client stuurt verzoeken naar deze pubkey.
Een relay. Waar de portemonnee luistert. De client en de portemonnee maken beide verbinding met deze relay om berichten uit te wisselen.
Een geheim. Gebruikt om berichten tussen de client en de portemonnee te versleutelen, zodat de relay alleen ciphertekst ziet.
Samen geven deze drie waarden de client toestemming om uitgavecommando's naar de portemonnee te sturen. De relay is de brievenbus; de pubkey is het adres; het geheim is het slot.
Budget en machtigingen
Elke NWC-verbinding heeft limieten die door de portemonnee worden ingesteld wanneer de verbinding werd gemaakt.
- Max bedrag per betaling. Meestal 10.000 tot 100.000 sats, afhankelijk van wat u instelt. Om meer uit te geven is een nieuwe goedkeuring nodig.
- Max bedrag per dag/week/maand. Rolling budget dat volgens een schema wordt aangevuld.
- Vervaldatum. Sommige portemonnees verlopen verbindingen automatisch na een periode; anderen laten ze open totdat ze worden ingetrokken.
- Toegestane methoden. Sommige portemonnees laten u alleen "betaal factuur" verlenen, "saldo opzoeken" of "transacties weergeven" weigeren.
Het budget betekent dat zelfs als een verbindingsreeks lekt, de schade begrensd is. Een aanvaller kan de hele portemonnee niet leegmaken; ze kunnen tot het budget uitgeven, waarna de portemonnee verdere verzoeken weigert totdat u de limiet aanvult of een nieuwe verbinding genereert.
NWC instellen, stap voor stap
Concrete stroom voor een typische gebruiker die een portemonnee met een Nostr-client koppelt.
- Open uw Lightning-portemonnee. Wallet of Satoshi, Phoenix, Alby Hub, Zeus, of een portemonnee die NWC ondersteunt.
- Zoek de NWC-instellingen. Zoek naar "Verbindingen," "Nostr Wallet Connect," of "Apps" in het instellingenmenu. Elke portemonnee plaatst het op een iets ander plek.
- Maak een nieuwe verbinding. Geef het een naam zodat u onthoudt waarvoor u het gebruik. Stel een budget in.
- Kopieer de gegenereerde NWC-reeks. Of krijg een QR-code.
- Open uw Nostr-client. Ga naar instellingen, zoek "Lightning-portemonnee" of "Zap-instellingen."
- Plak de NWC-reeks of scan de QR. De client test de verbinding.
- Succes. Zap-knoppen gaan branden; uw volgende zap gaat via de gekoppelde portemonnee.
Als de client "verbinding mislukt" toont na het koppelen, is de meest voorkomende oorzaak een relay-mismatch (de relay in de NWC-reeks is er een die de client niet kan bereiken) of een firewall die WebSocket-verbindingen blokkeert.
Waarom dit een ingebouwde portemonnee verslaat
Drie echte voordelen van NWC ten opzichte van ingebakken portemonnees.
Draagbaarheid. U kunt Nostr-clients wisselen zonder portemonnees te wisselen. Uw saldo, geschiedenis en kanalen blijven waar ze zijn; de nieuwe client koppelt gewoon via een nieuwe NWC-verbinding met dezelfde portemonnee.
Specialisatie. Portemonneeontwikkelaars concentreren zich op Lightning-infrastructuur; clientontwikkelaars concentreren zich op sociale UX. Elke zijde wordt beter in haar eigen domein, en de interoperabiliteit werkt over combinaties.
Beveiligingsgrens. De client heeft nooit portemonneereferenties. Een buggy-client kan in het ergste geval verkeerde facturen sturen; het kan de portemonnee niet leegmaken of de seed-frase exporteren.
Het enige geval waarbij ingebakken duidelijk beter is, is voor gebruikers die maximale onwrijvingsintroductie willen. Een client met een bundelde portemonnee krijgt de gebruiker één stap sneller zappen dan het koppelen van een externe portemonnee. Dit is waarom de nostr.blog-aanmelding standaard een portemonnee bevat, en gebruikers kunnen later via NWC externe portemonnees koppelen als zij dat liever doen.
Een NWC-verbinding intrekken
Als u een apparaat verliest, een client niet meer gebruikt, of referenties wilt roteren, trek de verbinding van de portemonneezijde in.
- Open de portemonnee.
- Zoek de verbinding in de instellingenlijst.
- Tik op intrekken of verwijderen.
- De verbindingsreeks werkt niet meer; elke client die deze bevat, krijgt "niet-geautoriseerd" bij het volgende verzoek.
Dit is onmiddellijk. Anders dan API-sleutels die u in een GitHub-repo kunt lekken, kunnen NWC-verbindingen in seconden worden gedood en blijven geen sessies behouden. Dit is een betekenisvolle veiligheidseigenschap.
Veelvoorkomende NWC-problemen
"Verbinding verlopen." De relay in de NWC-reeks is onbereikbaar vanuit uw netwerk, of de portemonnee is offline. Controleer of de portemonnee-app open is en verbonden; sommige portemonnees vereisen dat de app actief is om te reageren.
"Betaling mislukt" ondanks een geldige factuur. De kanalen van de portemonnee hebben mogelijk niet genoeg liquiditeit om de betaling door te voeren. Dit is een Lightning-laagprobleem, niet NWC-specifiek. Probeer een ander bedrag of een ander moment.
"Toestemming geweigerd." Het budget van de verbinding is uitgeput, de verbinding is verlopen, of het aanvraagtype staat niet in de toegestane methoden. Controleer de verbindingsinstellingen van de portemonnee.
"Client kan portemonnee niet detecteren." Na plakken, de client hangt. Sluit en open de client opnieuw; sommige clients cachen de verbindingsstatus en controleren alleen bij het starten opnieuw.
Waar NWC naar toe gaat
NIP-47 is niet definitief. Actief werk in 2026 bestrijkt:
- Rijkere machtigingen. Granulair dan "mag tot X per periode uitgeven," met regels per ontvanger of per bedrag.
- Multi-portemonnee-routering. Een client gekoppeld met meerdere portemonnees kiest de beste voor elke betaling op basis van saldo, tarief of route.
- Beter foutenrapportage. Gestandaardiseerde foutcodes zodat clients nuttige berichten kunnen weergeven wanneer betalingen mislukken.
- Ondersteuning voor offline-portemonnee. Huidige NWC gaat ervan uit dat beide zijden online zijn; concepten staan in de wachtrij voor verzoeken die oplossen wanneer de portemonnee opnieuw verbinding maakt.
Het protocol is stabiel genoeg voor dagelijks gebruik in 2026 en zal blijven evolueren. Een portemonnee koppelen vandaag is een operatie van één minuut; niets in het huidige ontwerp zal later breken.
Veelgestelde vragen
Is NWC hetzelfde als het verbinden van een portemonnee?
Is NWC veilig?
Kan één portemonnee via NWC verbinden met meerdere clients?
Wat is het verschil tussen NWC en LNURL?
Heb ik NWC nodig om zaps op Nostr te gebruiken?
Lees verder
Wat zijn zaps op Nostr? Bitcoin tips, openbaar zichtbaar
Zaps zijn één-klik Bitcoin Lightning tips die verschijnen in Nostr feeds. Wat ze zijn, hoe de ontvangstbevestiging werkt, en hoe je er een verstuurt of ontvangt.
7 min leestijdWallets en LightningHoe je een zap op Nostr verstuurt: stap voor stap
Het versturen van je eerste zap duurt ongeveer twee minuten zodra je wallet is gefinancierd. Hier vind je de setup, de werkelijke flow, en wat je moet doen als de zap niet aankomt.
6 min leestijdWallets en LightningLightning Network uitgelegd voor Nostr-gebruikers
De Bitcoin-laag die tips van minder dan een cent praktisch maakt. Hoe Lightning werkt, waarom Nostr het gebruikt voor zaps, en wat je nodig hebt om sats te verzenden en ontvangen.
8 min leestijd