btcpayserver-plugins
btcpayserver-plugins copied to clipboard
LNbank usability fails
Hi, I just wanted to swap LN amount to an on-chain and were not successful:
- Opened boltz.exhange, filled amount from LN bank account, get invoice, put it to LNbank, failed on not having margin for fees, 19356420 milisats required (wtf?)
- So I wanted to send less, again filled amount on Boltz, get invoice, tried to pay, but now I get no_route error. Checked in RTL that I does not have such liquidity on one channel, but if it could split it to multiple channels it could be possible.
- So I wanted to transfer smaller amount, but previous attempt is still in pending state, so it is blocking money to be send somewhere else. On the detail I see "Expires in 6 days" and have no button to cancel it manually.
Solutions:
- Have magic Send all button what will calculate amount what can be send - outbound liquidity and needed fees (0 if sending to another account)
- Can use multiple channels for one transaction
- Ability to send all to 0 amount invoices and to LNURL-Pay (e.g. copied from another account)
- Offer LNURL-Withdraw
- Cancel transaction what failed on no_route
- LNbank needs to keep a fee reserve of 2,5% — we do not know the fees upfront and deduct only the actual paid amount after the payment has been made.
- Which implementation is the underlying node using? I need to check if we can support multipart payments here.
- That's most likely because you paid a hold invoice: It is paid from your side when sent and hence needs to be handled as paid — it won't expire anymore and we cannot cancel it ourselves, that's up to the other party that got paid.
As for the proposed solutions:
- If you are paying an invoice of another LNbank account, no fees are calculated and charged, so that's already the case.
- Zero amount invoices are supported since LNbank v1.2.2
- LNURL-Withdraw support is tracked here: dennisreimann/btcpayserver-plugin-lnbank#18