163 / 691NWC

Nostr Wallet Connect

Pedidos autorizados de uma aplicação a uma carteira Lightning

Nostr Wallet Connect liga uma aplicação a uma carteira por pedidos encriptados; o serviço da carteira define o alcance do acesso.

Nostr Wallet Connect (NWC) é o protocolo NIP-47 para controlar remotamente uma carteira Lightning por relays Nostr. Os relays transportam mensagens, não os bitcoins; um nó próprio ou serviço de custódia podem utilizá-lo.

A aplicação cliente envia um pedido, o serviço verifica-o e chama a sua interface de pagamento. NWC não determina quem detém as chaves bitcoin. Um nó próprio e uma carteira com custódia podem usar o mesmo protocolo, mas diferem em confiança e possibilidades de recuperação. [NWC — NIP-47: Core protocol] [NWC — Project overview]

O URI contém a chave pública do serviço, um relay e secret: a chave privada da ligação do cliente. Não é a seed da carteira, mas permite assinar pedidos autorizados. O QR ou uma cópia pode dar acesso a outra aplicação. Chaves separadas por ligação reduzem a sua associação. [NWC — NIP-47: Core protocol]

O evento público info anuncia capacidades; get_info devolve métodos disponíveis para essa ligação. O núcleo inclui pay_invoice, make_invoice, lookup_invoice, get_balance e get_info. Histórico, keysend e notificações são extensões opcionais. Verifique suporte e permissão separadamente: um nome de método não é consentimento geral para pagar. [NWC — NIP-47: Core protocol] [NWC — Optional specifications] [NWC-02 — Notifications]

Info usa kind 13194, pedidos 23194 e respostas 23195. A etiqueta p identifica a contraparte, e a etiqueta e da resposta referencia o pedido. O cliente verifica assinatura, chave esperada do serviço, associação e result_type. Receber um evento do relay não comprova execução. [NWC — NIP-47: Core protocol]

Montantes e taxas NIP-47 estão em msat; 1000 msat equivalem a um satoshi. Confundir unidades altera o valor mil vezes. pay_invoice bem-sucedido devolve preimage; uma falha indica error. Criar uma fatura com make_invoice não a paga; lookup_invoice permite consultar o estado. [NWC — NIP-47: Core protocol]

A negociação atual prefere nip44_v2; nip04 permanece para compatibilidade, e a ausência de encryption significa o modo antigo. NIP-44 sozinho não oferece forward secrecy. O relay pode ver tipos, etiquetas, chaves de ligação e tempos. A chave principal de identidade não deve servir numa ligação NWC. [NWC — NIP-47: Core protocol] [Nostr — NIP-44: Encrypted payloads]

Pedidos e respostas NWC são eventos efémeros. Um relay indisponível ou serviço offline pode perder uma mensagem; também pode faltar apenas a resposta a um pagamento concluído. Após um timeout, verifique primeiro por lookup_invoice ou pela carteira. Silêncio não é falha certa e um novo pedido não é repetição automaticamente segura. [NWC — NIP-47: Core protocol]

O serviço pode limitar métodos, orçamento ou validade e revogar a chave de ligação. Deve impor esses limites no serviço, não só no ecrã do cliente. Apagar uma ligação na aplicação pode manter a permissão na carteira. Revogar bloqueia usos futuros, mas não reverte pagamentos concluídos. [NWC — NIP-47: Core protocol]

Para ter uma visão mais completa, leia este verbete junto com Nostr, Lightning Network, BOLT 11, Carteira, Chave privada, Satoshi. Também há referências a este verbete em Nostr, BOLT 11.

DOC · 001NWC — NIP-47: Core protocolEspecificação ↗DOC · 002NWC — Project overviewFonte primária ↗DOC · 003NWC — Optional specificationsEspecificação ↗DOC · 004Nostr — NIP-44: Encrypted payloadsEspecificação ↗DOC · 005NWC-02 — NotificationsEspecificação ↗
Fontes em primeiro lugar · Não é recomendação de investimento