CoalesceCoalesce
Concepts

Clusters

Why Coalesce forms one shared payment channel instead of many separate ones.

Coordinating payments among a group of N people one relationship at a time means up to N·(N-1)/2 separate channels, each independently funded (and each funding transaction is its own trip to the chain), rebalanced, and monitored.

Coalesce instead forms a cluster: a group shares one on-chain Bitcoin UTXO and pays each other off-chain, settling to the blockchain only on open (dfund) and close (coopclose). Every member runs dfund independently, but all of those contributions are inputs to a single joint funding transaction, so opening a cluster of any size N still costs exactly one on-chain transaction, not one per pair and not one per member. From there, any member can pay any other member within that one cluster, off-chain, as many times as they want, without opening a separate channel or touching the chain again until close.

Beyond a single cluster

A node isn't limited to one cluster. A payment can reach someone in any other cluster by hopping through however many shared members actually separate the two, one hop if the clusters share a member directly, more if they don't, with each cluster along the way crediting it only once it has proof the payment actually landed.

Testing in progress

This is already built and running internally, but it's still being tested. There's no command for it yet, so it isn't in the CLI Reference.

What holds a cluster together

  • Dealerless keygen: the group's signing key is generated distributed-ly, held by no single party.
  • Checkpoints: payments finalize automatically without settling every transfer on-chain.
  • Safety model: what the quorum-honesty assumption actually guarantees.
  • Privacy: why settling a cluster's shared state to Bitcoin isn't the same as recording every payment inside it.

On this page