btcpayserver-plugins icon indicating copy to clipboard operation
btcpayserver-plugins copied to clipboard

LNbank usability fails

Open iBobik opened this issue 2 years ago • 1 comments

Hi, I just wanted to swap LN amount to an on-chain and were not successful:

  1. 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?)
  2. 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.
  3. 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

iBobik avatar Jun 01 '22 15:06 iBobik

  1. 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.
  2. Which implementation is the underlying node using? I need to check if we can support multipart payments here.
  3. 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

dennisreimann avatar Jun 03 '22 17:06 dennisreimann