Files
nips/A3.md
T

2.1 KiB

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:

["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

{
  "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: 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
  • bitcoincash
  • cashme (Cash App $-prefixed cashtag)
  • ethereum
  • lightning (lightning address)
  • litecoin
  • monero
  • nano
  • paypal
  • revolut
  • solana
  • tron
  • venmo
  • zcash

New widely deployed formats can be added to this list later.

For an unknown payment type, in case of ambiguities, a specific address URI scheme may be used when one is available (such as bitcoincash from bitcoincash:<address>).