diff options
Diffstat (limited to '47.md')
| -rw-r--r-- | 47.md | 6 |
1 files changed, 3 insertions, 3 deletions
| @@ -4,7 +4,7 @@ NIP-47 | |||
| 4 | Nostr Wallet Connect | 4 | Nostr Wallet Connect |
| 5 | -------------------- | 5 | -------------------- |
| 6 | 6 | ||
| 7 | `draft` `optional` `author:kiwiidb` `author:bumi` `author:semisol` `author:vitorpamplona` | 7 | `draft` `optional` |
| 8 | 8 | ||
| 9 | ## Rationale | 9 | ## Rationale |
| 10 | 10 | ||
| @@ -17,7 +17,7 @@ This NIP describes a way for clients to access a remote Lightning wallet through | |||
| 17 | * **wallet service**: Nostr app that typically runs on an always-on computer (eg. in the cloud or on a Raspberry Pi). This app has access to the APIs of the wallets it serves. | 17 | * **wallet service**: Nostr app that typically runs on an always-on computer (eg. in the cloud or on a Raspberry Pi). This app has access to the APIs of the wallets it serves. |
| 18 | 18 | ||
| 19 | ## Theory of Operation | 19 | ## Theory of Operation |
| 20 | 1. **Users** who which to use this NIP to send lightning payments to other nostr users must first acquire a special "connection" URI from their NIP-47 compliant wallet application. The wallet application may provide this URI using a QR screen, or a pasteable string, or some other means. | 20 | 1. **Users** who wish to use this NIP to send lightning payments to other nostr users must first acquire a special "connection" URI from their NIP-47 compliant wallet application. The wallet application may provide this URI using a QR screen, or a pasteable string, or some other means. |
| 21 | 21 | ||
| 22 | 2. The **user** should then copy this URI into their **client(s)** by pasting, or scanning the QR, etc. The **client(s)** should save this URI and use it later whenever the **user** makes a payment. The **client** should then request an `info` (13194) event from the relay(s) specified in the URI. The **wallet service** will have sent that event to those relays earlier, and the relays will hold it as a replaceable event. | 22 | 2. The **user** should then copy this URI into their **client(s)** by pasting, or scanning the QR, etc. The **client(s)** should save this URI and use it later whenever the **user** makes a payment. The **client** should then request an `info` (13194) event from the relay(s) specified in the URI. The **wallet service** will have sent that event to those relays earlier, and the relays will hold it as a replaceable event. |
| 23 | 23 | ||
| @@ -403,7 +403,7 @@ Response: | |||
| 403 | ## Example pay invoice flow | 403 | ## Example pay invoice flow |
| 404 | 404 | ||
| 405 | 0. The user scans the QR code generated by the **wallet service** with their **client** application, they follow a `nostr+walletconnect:` deeplink or configure the connection details manually. | 405 | 0. The user scans the QR code generated by the **wallet service** with their **client** application, they follow a `nostr+walletconnect:` deeplink or configure the connection details manually. |
| 406 | 1. **client** sends an event to the **wallet service** service with kind `23194`. The content is a `pay_invoice` request. The private key is the secret from the connection string above. | 406 | 1. **client** sends an event to the **wallet service** with kind `23194`. The content is a `pay_invoice` request. The private key is the secret from the connection string above. |
| 407 | 2. **wallet service** verifies that the author's key is authorized to perform the payment, decrypts the payload and sends the payment. | 407 | 2. **wallet service** verifies that the author's key is authorized to perform the payment, decrypts the payload and sends the payment. |
| 408 | 3. **wallet service** responds to the event by sending an event with kind `23195` and content being a response either containing an error message or a preimage. | 408 | 3. **wallet service** responds to the event by sending an event with kind `23195` and content being a response either containing an error message or a preimage. |
| 409 | 409 | ||