Files
nips/A3.md
T

65 lines
1.9 KiB
Markdown

# NIP-A3
## payto: Payment Targets
`draft` `optional`
This NIP standardizes how payment addresses are declared across any network or platform.
#### Tag Format
Payment targets are specified using `payto` tags with the following structure:
```text
["payto", "<type>", "<address>"]
```
Where:
- The first element is always the literal string `"payto"`
- The second element is the payment `type` (e.g., `"bitcoin"`, `"lightning"`), always lowercase.
- The third element is the `address` (e.g., address, username)
Clients may perform additional network- or platform-specific validation for recognized types.
### Example
```json
{
"pubkey": "afc93622eb4d79c0fb75e56e0c14553f7214b0a466abeba14cb38968c6755e6a",
"kind": 10133,
"content": "",
"tags": [
["payto", "bitcoin", "bc1qxq66e0t8d7ugdecwnmv58e90tpry23nc84pg9k"],
["payto", "nano", "nano_1dctqbmqxfppo9pswbm6kg9d4s4mbraqn8i4m7ob9gnzz91aurmuho48jx3c"],
["payto", "unknowntype", "l7tbta5b9xze6ckkfc99uohzxd009b0r"]
],
...
}
```
For each `payto` tag in kind `10133` events, clients can render the payment address as a button or link. Clients may use a specific URI scheme when one is available, such as `bitcoin:<address>` or `ethereum:<address>`. Otherwise fall back to the `payto` URI scheme defined by [RFC-8905](https://www.rfc-editor.org/rfc/rfc8905.html): `payto://<type>/<address>`.
Possible rendered URIs:
- `bitcoin:bc1qxq66e0t8d7ugdecwnmv58e90tpry23nc84pg9k`
- `payto://nano/nano_1dctqbmqxfppo9pswbm6kg9d4s4mbraqn8i4m7ob9gnzz91aurmuho48jx3c`
- `payto://unknowntype/l7tbta5b9xze6ckkfc99uohzxd009b0r`
### Commonly Used Tags
- `bip352` (silent payments)
- `bip353` (DNS addresses)
- `bitcoin`
- `cashme` (Cash App `$`-prefixed cashtag)
- `ethereum`
- `lightning` (lightning address)
- `litecoin`
- `monero`
- `nano`
- `paypal`
- `revolut`
- `solana`
- `venmo`
- `zcash`
New widely deployed formats can be added to this list later.