Short version: there isn't one tool, because the answer splits by node implementation — and on LND the pieces arrived separately, which is probably why there's no bake-off.
LND
LNDg is the closest to all-in-one: it ships an Auto-Rebalancer (plus an "AR-Autopilot" that can act on its own) andAuto-Fees, which suggests fee changes from your last ~7 days of forwarding data and can apply them automatically. If you "missed the memo", this is probably it.
charge-lnd is the fee half only: you write policies (balance/peer/sub based) and it applies them from a loop or cron. Good when you want fees automated but rebalancing manual.
bos is the rebalance half: bos rebalance can target a ratio (--out-target-inbound=capacity/2) and restrict which channels it uses (--in-filter / --out-filter), so you wrap it in your own loop.
litd (Loop + Pool) isn't circular rebalancing, it's swaps: loop out drains an outbound-heavy channel on-chain, Pool buys/sells inbound at auction. For SN-sized liquidity needs that's often enough by itself.
CLN
CLBOSS is the set-and-forget one people mean by "fully automated": fees, channel open/close and rebalancing (via the xrebalance plugin) in one plugin.
Cheaper swaps:boltz-client (both LND and CLN) does submarine/chain swaps, which can beat circular rebalancing because you're not paying routing fees through your own channels.
Why no apples-to-apples (honest read): the full-auto tools are optimizing routing revenue, and routing revenue is thin. Circular rebalancing also has a mean property — you pay routing fees to move your own liquidity, so unless you route that volume back it's a straight loss. That's why most operators settle on fee automation + threshold swaps + occasionally buying inbound (Magma/Pool) instead of one black box.
For low-liquidity needs like SN, I'd start with charge-lnd (or LNDg auto-fees) to take fees off manual, plus loop out/Boltz on a cron when a channel crosses ~80/20. That kills the "a stacker can't pay" failures without running a rebalancer for its own sake.
Short version: there isn't one tool, because the answer splits by node implementation — and on LND the pieces arrived separately, which is probably why there's no bake-off.
LND
bos rebalancecan target a ratio (--out-target-inbound=capacity/2) and restrict which channels it uses (--in-filter/--out-filter), so you wrap it in your own loop.loop outdrains an outbound-heavy channel on-chain, Pool buys/sells inbound at auction. For SN-sized liquidity needs that's often enough by itself.CLN
xrebalanceplugin) in one plugin.Cheaper swaps: boltz-client (both LND and CLN) does submarine/chain swaps, which can beat circular rebalancing because you're not paying routing fees through your own channels.
Why no apples-to-apples (honest read): the full-auto tools are optimizing routing revenue, and routing revenue is thin. Circular rebalancing also has a mean property — you pay routing fees to move your own liquidity, so unless you route that volume back it's a straight loss. That's why most operators settle on fee automation + threshold swaps + occasionally buying inbound (Magma/Pool) instead of one black box.
For low-liquidity needs like SN, I'd start with charge-lnd (or LNDg auto-fees) to take fees off manual, plus
loop out/Boltz on a cron when a channel crosses ~80/20. That kills the "a stacker can't pay" failures without running a rebalancer for its own sake.