Skip to content

Commit

Permalink
add to readme
Browse files Browse the repository at this point in the history
  • Loading branch information
callebtc authored and Egge21M committed Oct 18, 2024
1 parent 28e6f9f commit 459d66f
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 23 deletions.
29 changes: 20 additions & 9 deletions xx.md → 18.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,19 +55,30 @@ Transport specifies methods for sending the ecash to the receiver. A transport c
- a: target of Transport
- g: optional tags for the Transport

There are different transport layers:
### Transport types

- nostr
- type: `nostr`
- target: `<nprofile>`
- tags: `[["1", "NIP-04"], ["2", "NIP-17"], ["3", "NIP-61"]]`
- post
- type: `post`
- target: `<endpoint url>`
The supported transport types are:

#### Nostr

- type: `nostr`
- target: `<nprofile>`
- tags: `[["NIP-04", "true"], ["NIP-17", "true"]]`

The payment request MUST specify which type of Nostr message they support in the `tags`. For [NIP-04](https://github.com/nostr-protocol/nips/blob/master/04.md) and [NIP-17](https://github.com/nostr-protocol/nips/blob/master/17.md) direct messages, the sender sends a `PaymentRequestPayload` as the message content.

Note that the use of NIP-04 direct messages is strongly discouraged, since it reveals metadata about sender and receiver public keys.

#### HTTP POST

- type: `post`
- target: `<endpoint url>`

The execute the payment, the sender makes a `POST` request to the specified endpoint URL with the `PaymentRequestPayload` as the body.

## Payment payload

Regardless of the transport layer, the payload sent to the receiver is a JSON serialized object as follows:
If not specified otherwise, the payload sent to the receiver is a `PaymentRequestPayload` JSON serialized object as follows:

```json
{
Expand Down
30 changes: 16 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,19 +20,20 @@ Wallets and mints `MUST` implement all mandatory specs and `CAN` implement optio

### Optional

| # | Description | Wallets | Mints |
| -------- | --------------------------------- | --------------------------------------------------------------------------- | ------------------------------------------------------- |
| [07][07] | Token state check | [Nutshell][py], [Moksha][moksha], [Nutstash][ns], [cashu-ts][ts], [cdk-cli] | [Nutshell][py], [Moksha][moksha], [cdk-mintd], [nutmix] |
| [08][08] | Overpaid Lightning fees | [Nutshell][py], [Moksha][moksha], [Nutstash][ns], [cashu-ts][ts], [cdk-cli] | [Nutshell][py], [Moksha][moksha], [cdk-mintd], [nutmix] |
| [09][09] | Signature restore | [Nutshell][py], [cdk-cli], [cashu-ts][ts], [gonuts] | [Nutshell][py], [cdk-mintd], [nutmix] |
| [10][10] | Spending conditions | [Nutshell][py], [cdk-cli], [cashu-ts][ts] | [Nutshell][py], [cdk-mintd], [nutmix] |
| [11][11] | Pay-To-Pubkey (P2PK) | [Nutshell][py], [cdk-cli], [cashu-ts][ts] | [Nutshell][py], [cdk-mintd], [nutmix] |
| [12][12] | DLEQ proofs | [Nutshell][py], [cdk-cli] | [Nutshell][py], [cdk-mintd], [nutmix] |
| [13][13] | Deterministic secrets | [Nutshell][py], [Moksha][moksha], [cashu-ts][ts], [cdk-cli], [gonuts] | - |
| [14][14] | Hashed Timelock Contracts (HTLCs) | [Nutshell][py], [cdk-cli] | [Nutshell][py], [cdk-mintd], [nutmix] |
| [15][15] | Partial multi-path payments (MPP) | [Nutshell][py] | [Nutshell][py], [nutmix] |
| [16][16] | Animated QR codes | [Cashu.me][cashume] | - |
| [17][17] | WebSocket subscriptions | [Nutshell][py] | [Nutshell][py] |
| # | Description | Wallets | Mints |
| -------- | --------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------- |
| [07][07] | Token state check | [Nutshell][py], [Moksha][moksha], [Nutstash][ns], [cashu-ts][ts], [cdk-cli] | [Nutshell][py], [Moksha][moksha], [cdk-mintd] |
| [08][08] | Overpaid Lightning fees | [Nutshell][py], [Moksha][moksha], [Nutstash][ns], [cashu-ts][ts], [cdk-cli] | [Nutshell][py], [Moksha][moksha], [cdk-mintd] |
| [09][09] | Signature restore | [Nutshell][py], [cdk-cli], [cashu-ts][ts], [gonuts] | [Nutshell][py], [cdk-mintd] |
| [10][10] | Spending conditions | [Nutshell][py], [cdk-cli], [cashu-ts][ts] | [Nutshell][py], [cdk-mintd], [nutmix] |
| [11][11] | Pay-To-Pubkey (P2PK) | [Nutshell][py], [cdk-cli], [cashu-ts][ts] | [Nutshell][py], [cdk-mintd], [nutmix] |
| [12][12] | DLEQ proofs | [Nutshell][py], [cdk-cli] | [Nutshell][py], [cdk-mintd] |
| [13][13] | Deterministic secrets | [Nutshell][py], [Moksha][moksha], [cashu-ts][ts], [cdk-cli], [gonuts] | - |
| [14][14] | Hashed Timelock Contracts (HTLCs) | [Nutshell][py], [cdk-cli] | [Nutshell][py], [cdk-mintd] |
| [15][15] | Partial multi-path payments (MPP) | [Nutshell][py] | [Nutshell][py] |
| [16][16] | Animated QR codes | [Cashu.me][cashume] | - |
| [17][17] | WebSocket subscriptions | [Nutshell][py] | [Nutshell][py] |
| [18][18] | Payment requests | [Cashu.me][cashume], [Boardwalk][bwc] | -

#### Wallets:

Expand All @@ -45,7 +46,7 @@ Wallets and mints `MUST` implement all mandatory specs and `CAN` implement optio
- [Nutstash][ns]
- [Cashu.me][cashume]
- [Gonuts][gonuts]
- [Boardwalk Cash][bwc]
- [Boardwalk][bwc]

#### Mints:

Expand Down Expand Up @@ -87,3 +88,4 @@ Wallets and mints `MUST` implement all mandatory specs and `CAN` implement optio
[15]: 15.md
[16]: 16.md
[17]: 17.md
[18]: 18.md

0 comments on commit 459d66f

Please sign in to comment.