Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pay invoice via a specific route if chan_id is specified #197

Open
peartobear opened this issue Apr 8, 2020 · 4 comments
Open

Pay invoice via a specific route if chan_id is specified #197

peartobear opened this issue Apr 8, 2020 · 4 comments
Assignees
Labels
enhancement New feature or request P1

Comments

@peartobear
Copy link
Contributor

peartobear commented Apr 8, 2020

Letting Boltz construct a route via a specified channel when the channel id is specified would allow for creation of more custom channel opening and normal submarine swaps.

@michael1011 michael1011 self-assigned this Apr 8, 2020
@michael1011 michael1011 added the enhancement New feature or request label Apr 8, 2020
@armurbalda armurbalda reopened this Apr 28, 2023
@armurbalda armurbalda changed the title Boltz Backend should pay invoice via a specific route if chan_id is specified Pay invoice via a specific route if chan_id is specified Apr 28, 2023
@armurbalda armurbalda added the P2 label May 26, 2023
@kilrau
Copy link
Member

kilrau commented Sep 21, 2023

To be clear: this is needed for swap INs to come in/rebalance a specific channel

@kilrau
Copy link
Member

kilrau commented Dec 21, 2023

Idea just came up to also let users specify the "to be rebalenced" channel via routing hints in the invoice (even if the channels in the hints are public). With these hints it should be much easier and faster for us to construct the route.

@TrezorHannes
Copy link

Let's add a CLI or ideally CLI + WebUI to determine the last hop before my node, so I can specify the incoming channel.
This probably requires for boltz-backend to probe the route again after a pubkey is set as last hop, because likely it's either

  • a sink node with high cost to route to. Since other boltz channel peers would have exploited this route if it's a low PPM channel for them, you need to consider the lost opportunity costs
  • a node where there is no direct channel b/w Boltz and the target incoming channel for the swapper. This would require Boltz-backend to check for possible routes, peer channel fees incurring and available liquidity

So to allow a profitable, fair and transparent process, it would require to add the incurring costs to the swap fee. Otherwise there is a risk of an exploit. For example, I could determine fixedfloat as incoming channel, 99% of liquidity is on their side. Boltz would need to route via them, which likely is a 3000ppm endevour.

@kilrau
Copy link
Member

kilrau commented Jan 4, 2025

Bumping prio here, as now this is becoming relevant for Boltz Pro

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request P1
Projects
None yet
Development

No branches or pull requests

5 participants