Why? Let LN handle the LN stuff, nostr can do the nostr stuff. LN wallets are perfectly capable of paying a BOLT 12 offer using the built-in onion messages, and they can figure out reliability if there’s ever an issue with it. Don’t try to rebuild what LN already has.
Discussion
we are not going to delegate to opening an app to fetch an invoice. noone uses nostr this way.
You delegate to the wallet to pay an offer. The fact that there’s a thing called an “invoice” exchanged is irrelevant (and an unfortunate naming mistake).
If you have a built-in wallet, you delegate to that. If you use NWC, the new spec is defined in terms of offers, not invoices. The payer has no need to ever see or think about that invoice, it’s entirely a lightning-internal thing.
with lnurl we include a nostr note in the invoice, that's how we get proof that someone initiated the zaps (but not necessarily proof they paid it)
we would need something similar for bolt12, which is why i asked about including data or signature when fetching the invoice from the offer. if we can't do that then we are stuck with lnurl and bolt11
the main unfortunate thing is that it is 2025 and we still have not figured out a good solution to payment flows that require preimages, a good chunk of software doesn't support them, nwc is still not widely adopted...
It's a solved problem if you don't outsource your thinking to Spiral

what is your beef with spiral? and didn't rusty initiate bolt12 not them? I don't get it.
i think it would be good if there was more "here are our use cases" discussions and see if we can map it into lightning instead of acting hostile toward lightning devs. why?
Rusty did afaik yes, while Spiral did much of the NGO-level astroturf. Both representing minor implementations focused on the mobile node fantasy.
I recall one such use-case in the repo discussion being Fedimint/Liquid related shitcoinery. Solving the transport of bolt11's would have been adequate if that wasn't their priority, not a whole new BOLT to poison the protocol-level.
The shit that comes out of the NGO's and Blockstream have been a reliable counter-signal in every regard.
Wallet connections are still pretty new and not every wallet supports them as I said, which makes it really hard to use *anything* that requires proofs.
Fortunately this isn't about wallet connections, its about getting invoices (and pre-images) to the web without every Lightning node needing to set up a web server.
Right, wallets should (though I don’t know about currently) support either setting the payer_note or signing a message with the payer-key as a part of generating proof-of-payment, both of which would suffice.
Definitely need to spec that part out and make sure wallet support it as a part of the BIP 353 payment proof logic, but I don’t think exposing BOLT 12 invoices outside of the LN wallet makes sense.
LN stuff is payments.
Bolt12 is arbitrary data on LN, may as well be jpegs on chain.
We'll let Nostr handle arbitrary data.
bolt12 is a lot of things, sounds like you don't like one aspect of it. from what I can tell that concern is pretty overblown due to limits on packet size? the benefit of fetching invoices behind nats natively on lightning without tls/web tech seems pretty useful.
I don't like many aspects, it was completely contrived from a lack of principles by the minor implementations pushing the mobile node fantasy.
Even if I didn't care about jpegs on Lightning:
- The performance/reliability are a non-starter
- It doesn't do bi-direction for commercial applications
- It puts the concern at the wrong layer, the payments layer protocol versus the Line-of-Business Application
- My underlying principle is that Lightning is the native money of the internet, so things MUST work in a browser
(but not reliant on on that web tech you can still QR code a noffer with just a relay ip and node pubkey)
- If you want to add functionality, the SDK doesn't touch your underlying node implementation or the BOLT specs and can work with any of them
Nostr offers checks all those boxes, with the added benefit of having an identity layer that can be optionally leveraged along side it.
1. what are the issues with performance and reliability? socket perf with noise is better than tls
2. bidirectional comms are supported via a persistent lightning connection and bidirectional packets. commando is and example of this
3. is this really a big deal
4. it does work in the browser, i have demos (like lnlink.org) that shows fetching invoices over lightning (bolt11 ironically)
i think nostr is cool, but making that a requirement for all lightning applications seems wrong
1) It mimics Tor, each hop is added latency and failure probability, whereas Nostr being a web server is the same performance people expect from any website
2/3) Bi-direction needs to be at the app layer if its to be used in commerce, payments often have additional context... you're not firing the zap receipt from Lightning for example
4) That appears to be a middleware plugin to talk websockets, since the browser requires websockets... nostr is just json and websockets already