You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Payjoins don't work out of the box via the API. It doesn't look impossible to get them working, though. Adding support for making a Payjoin payment should be slightly easier than receiving payments since it looks like there's less moving parts involved. Receiving payments requires spinning up an onion service. Support for making payments would be a good first step.
It would be nice for Jam to support Payjoins as well. Roughly speaking, there's two cases to consider:
1️⃣ Making a Payjoin payment
2️⃣ Receiving a Payjoin payment
From what it looks we should be able to take the implementation from the sendpayment.py script as template and transfer it over to the API endpoint without much hassle—similarly to how we did it for the Scheduler implementation.
The taker/direct-send endpoint doesn't support it yet, though.
I think it has been historically mistake to have destination and amount_sats as two parameters to this RPC, instead better API would have been to provide just BIP21 URI. Then payjoin send support in Jam would be trivial.
Joinmarket comes with built-in Payjoin support. See the Joinmarket docs on Payjoin for more details.
TL;DR 📖
Payjoins don't work out of the box via the API. It doesn't look impossible to get them working, though. Adding support for making a Payjoin payment should be slightly easier than receiving payments since it looks like there's less moving parts involved. Receiving payments requires spinning up an onion service. Support for making payments would be a good first step.
It would be nice for Jam to support Payjoins as well. Roughly speaking, there's two cases to consider:
1️⃣ Making a Payjoin payment
2️⃣ Receiving a Payjoin payment
Making a Payjoin Payment 💸
This is a relatively straight forward flow already implemented in Joinmarket's
sendpayment.py
script. Thetaker/direct-send
endpoint doesn't support it yet, though.Making a Payjoin payment in Joinmarket roughly consists of parsing the BIP21 URI and passing control to the built-in Payjoin manager instead of broadcasting a regular transaction.
From what it looks we should be able to take the implementation from the
sendpayment.py
script as template and transfer it over to the API endpoint without much hassle—similarly to how we did it for the Scheduler implementation.Receiving a Payjoin Payment 💰
Receiving a payment involves spinning up an ephemeral onion service. The
receive-payjoin.py
script doesn't look too complicated. Whether we can easily port it to a new RPC-API endpoint remains to be seen, I'd be surprised if it turns out to be super hard, though. After all, themaker/start
endpoint does something similar.The text was updated successfully, but these errors were encountered: