public inbox for
 help / color / mirror / Atom feed
From: Matt Corallo <>
To: Bitcoin Development Mailing List <>
Subject: [bitcoindev] BIP 21 Updates
Date: Thu, 30 May 2024 17:54:26 -0400	[thread overview]
Message-ID: <> (raw)

It was recently pointed out at [1] that BIP 21 mandates only base58 adresses, and doesn't allow for 
segwit or taproot addresses in the body of the URI. This is obviously somewhat nonsensical as nearly 
every wallet supporting BIP 21 today handles Segwit (and many even Taproot) just fine in that 
position today.

Further, nearly every BIP 21-handling lightning wallet today also supports decoding lightning 
payment instructions in the query parameters. With Silent Payments and BOLT 12 starting to get 
adoption and BIP 21 being the obvious place to put extra payment instructions with an (optional) 
on-chain fallback, there needs to be a standard way to decide which query parameter describes which 
payment instruction, and BIP 21 should document this in-practice usage.

Further, as future payment schemes (and existing ones like Silent Payments) may wish to not have the 
standard on-chain fallback, I'm also proposing the body of the URI be made optional.

None of these changes impact any existing wallets, as wallets already support bech32 and bech32m 
addresses, new query parameters are ignored by any existing spec-compliant wallet, and a BIP 21 URI 
with no body would only exist to provide a URI *without* a fallback for existing wallets, which 
would correctly reject them as invalid.

Thus, I'm proposing a change to (the already "Final") BIP 21. The relatively minimal change set is 
available at but I'm open to discussion on it here as well.


You received this message because you are subscribed to the Google Groups "Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
To view this discussion on the web visit

                 reply	other threads:[~2024-05-30 22:00 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox