Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 61 additions & 0 deletions 47.md
Original file line number Diff line number Diff line change
Expand Up @@ -538,6 +538,67 @@ Notification:
}
}
```
```markdown
## Extended Parameters for Non-BOLT11 Addresses

For payment addresses that don't encode amounts (such as Arkade addresses starting with `ark1`),
the `amount` parameter MUST be included with `pay_invoice`.

### pay_invoice with amount parameter

Request:
```json
{
"method": "pay_invoice",
"params": {
"invoice": "ark1qq4hfssprtcg...",
"amount": 50000 // millisatoshis, REQUIRED for non-BOLT11
}
}
```

Response unchanged. For Arkade, wallets MAY return `txid` instead of `preimage`:
```json
{
"result_type": "pay_invoice",
"result": {
"txid": "9934a446314e..." // VTXO transaction ID
}
}
```

### Address Type Detection

| Prefix | Type | Amount Parameter |
|--------|------|------------------|
| `lnbc`, `lntb`, `lnbcrt` | BOLT11 | Optional (ignored) |
| `ark1` | Arkade | Required |

Wallets MUST return error code `AMOUNT_REQUIRED` if amount is missing for non-BOLT11 addresses.

## Arkade Zap Receipts

For Arkade zaps, the kind 9735 event SHOULD include these tags:

- `["arkade", "<vtxo-txid>"]` - Payment proof (VTXO transaction ID)
- `["amount", "<millisats>"]` - Payment amount
- `["description", "<json>"]` - kind 9734 zap request

Example:
```json
{
"kind": 9735,
"tags": [
["p", "recipient-pubkey"],
["arkade", "9934a446314e..."],
["amount", "50000"],
["description", "{...}"]
]
}
```
```



## Example pay invoice flow

Expand Down