💡 The Plain-English Definition
The channel graph is the public map of the entire Lightning Network — a record of which nodes are connected to which, and the capacity of each channel between them. Routing nodes (nodes that earn fees by forwarding payments) use this map to find paths from sender to recipient.
🤔 But Why Though?
Unlike Bitcoin’s base layer where any transaction goes directly to any address, Lightning payments travel through a network of channels — hopping from node to node until they reach the recipient. To find these paths, a payment needs to know the layout of the network. Every Lightning node broadcasts its channel announcements to the network. Other nodes collect these and build their own local copy of the graph — a list of all channels, their capacities, and the fee policies of each node. When a payment needs routing, the sender’s node searches this graph for a viable path.
What the channel graph reveals is more than many Lightning users realise. It shows which nodes exist, which channels connect them, and each channel’s total capacity. What it does not show is the current balance distribution within each channel — whether a 1 BTC channel has 0.9 on one side and 0.1 on the other is invisible. Running a public Lightning node means your channels appear in the graph, and observers can see your node’s connections and capacity. Users who want more privacy can use unannounced channels (private channels that don’t appear in the graph) at the cost of reduced routing capability.
🌍 The Real-World Analogy
The channel graph is like a road atlas of a city — showing all the roads, their widths (capacities), and the toll rates (fees) on each stretch. A delivery driver (your payment) uses this atlas to find the fastest, cheapest route from pickup to drop-off. But the atlas doesn’t show how many cars are currently on each road (channel balance), so the driver sometimes finds a route that looked clear but is actually congested — requiring a reroute.
⚡ So What?
For most Lightning users, the channel graph is invisible infrastructure — their wallet queries it automatically when sending a payment. Understanding it explains why Lightning payments sometimes fail (no viable path exists with sufficient balance across all hops) and why routing is improving over time (the graph grows denser as more channels open). For node operators, understanding the graph informs decisions about which nodes to open channels with to maximise routing opportunities.
