circular is a Core Lightning plugin that helps lightning nodes rebalance their channels.
It optimizes on fees, and it's designed to be used by routing nodes who do not need reliability in their payments and just want to rebalance their channels at the cheapest possible rate. It features a custom pathfinding algorithm that remembers liquidity information about the graph thanks to failed payments. Initially it doesn't know anything about the graph, but it will learn about it as it fails payments.
circular makes it easy to rebalance large amounts between your channels. Pathfinding is deterministic and straightforward. When there is a payment failure, the failing channel will be marked as unusable for that kind of amount until it is refreshed. Instead, if there is a success the information doesn't change, so if you issue the same command another time it will find the same successful route thanks to determinism in pathfinding. Shorter routes are prioritized.
reply