Hi
@Boltz - Non-Custodial Bitcoin Bridge I'm integrating Boltz v2 reverse submarine swaps into a Bitcoin Lightning wallet app for kids (Lightning Piggy) (levergaing NWC and on-chain wallets). I'm hitting a consistent routing issue and hoping you can help.
My setup:
- Node alias: Zapp.ie
- Pubkey: 03233616a8639ea25bcda4acf0f9d5beaf791d39df60549e4e47ad24e7bb4b2bf0
- Direct channel with main Boltz LND node (026165...49ceb2), 5M sats capacity
- We pass referralId: 'lightning-piggy' on all swap requests
The problem:
When we call POST /v2/swap/reverse, the returned Lightning invoice is consistently issued by a node with pubkey 03e9c515b1e48c0e3bff9af8af1fce15d9b3f1ebb51e0311b1f80e820ba4cabb18 (alias "Boltz Mini" on explorers). This node isn't advertised in GET /v2/nodes, has no publicly announced channels, and is unreachable from our node - lncli queryroutes returns "unable to find a path to destination" even through ACINQ (1,169 channels, 147 BTC).
Every reverse swap attempt fails with pay_invoice timeout because LND can't find a route. Submarine swaps (on-chain > LN) work fine, it's only reverse swaps where this node selection is problematic.
Swap amounts we've tried: 25,000 and 26,000 sats. Both land on Boltz Mini.
Questions:
1. Is there an amount threshold above which swaps are routed via your main LND node (026165...49ceb2) instead of Boltz Mini? If so, what's the minimum recommended amount?
2. Can our referralId: 'lightning-piggy' be registered on your side and bound to the main LND node, so all our reverse swaps use that node?
3. Is there an API parameter (documented or undocumented) we could pass to force the invoice to be created by a specific node pubkey?
4. Does Boltz Mini have private channels with the main Boltz LND node? If not, how are clients expected to route to it?
5. Are there plans to document this node selection behaviour in the API docs?
FYI
@LightningPiggy