Gossip-observer
Lightning Network P2P Metrics
This page displays metrics computed over Lightning Network gossip traffic. Code here. Feel free to suggest new metrics or edits in a Github issue.
The collected data is freely available on Zenodo, and updated monthly.
There is an ongoing Delving Bitcoin thread discussing Lightning gossip, traffic patterns, and designs for a replacement gossip protocol.
Our proposal for such a replacement is sketched out in this draft BOLT; feedback is very welcome.
Windows ending 2026-09-29 (UTC, inclusive) · generated 2026-10-22T22:25:37+00:00 · rollup v7 · peer cutoff 50
Sliding windows
Various metrics computed over sliding windows of3d, 7d, 14d, 30d, 90d; darker line = longer window.









sliding_metrics.csv (end_day, window_days, type, metric, value)
At a glance
Every metric for every window in one table; rates divide by the days actually covered.
| Metric | 1d | 3d | 7d | 14d | 30d | 90d |
|---|---|---|---|---|---|---|
| New messages | ||||||
| Unique new messages / s | 5.14 | 4.73 | 4.37 | 4.61 | 4.76 | 5.48 |
| channel_update / s | 3.50 | 3.34 | 3.22 | 3.35 | 3.44 | 3.75 |
| node_announcement / s | 1.64 | 1.39 | 1.15 | 1.25 | 1.31 | 1.72 |
| channel_announcement / day | 327 | 275 | 352 | 278 | 256 | 327 |
| Avg size | 231.3 B | 222.8 B | 214.9 B | 217.0 B | 218.7 B | 229.2 B |
| With new content (not refresh) | 9.0% | 9.0% | 9.3% | 8.7% | 8.4% | 7.9% |
| Copies per message per collector | 7.65 | 7.73 | 7.28 | 7.12 | 7.53 | 7.91 |
| Inbound gossip bandwidth / s (all copies) | 147.8 KiB | 132.5 KiB | 107.9 KiB | 113.0 KiB | 122.6 KiB | 157.3 KiB |
| Convergence: collectors | ||||||
| Reached 90% of active collectors | 64.6% | 63.7% | 58.9% | 58.4% | 57.7% | 60.7% |
| → 50% of collectors, median | 55.2 s | 50.8 s | 48.1 s | 52.0 s | 54.5 s | 53.6 s |
| → 90% of collectors, median | 217 s | 184 s | 142 s | 149 s | 163 s | 190 s |
| → 90% of collectors, p90 | 341 s | 309 s | 270 s | 269 s | 292 s | 328 s |
| → 90%, channel_update median | 169 s | 142 s | 113 s | 117 s | 128 s | 145 s |
| → 90%, node_announcement median | 291 s | 259 s | 217 s | 220 s | 240 s | 262 s |
| Convergence: peers | ||||||
| Messages sent by ≥ cutoff peers | 70.4% | 68.1% | 61.9% | 62.0% | 61.9% | 66.6% |
| → 50% of sending peers, median | 149 s | 146 s | 141 s | 141 s | 143 s | 143 s |
| → 90% of sending peers, median | 260 s | 256 s | 248 s | 247 s | 249 s | 248 s |
| → 90% of sending peers, p90 | 397 s | 395 s | 391 s | 387 s | 392 s | 392 s |
| → 90% of sending peers, channel_update median | 228 s | 230 s | 228 s | 224 s | 225 s | 218 s |
| Connected peers (median per hour) | 537 | 632 | 635 | 638 | 638 | 636 |
| Share of connected peers relaying a message, median | 26.0% | 24.7% | 22.5% | 21.5% | 22.3% | 23.7% |
| Reached 25% of connected peers | 55.5% | 47.7% | 33.1% | 26.7% | 35.6% | 43.4% |
| → 10% of connected peers, median | 114 s | 120 s | 121 s | 123 s | 122 s | 118 s |
| → 25% of connected peers, median | 211 s | 234 s | 242 s | 241 s | 237 s | 217 s |
| Signed timestamp → first sighting, median | 64.7 s | 62.8 s | 57.5 s | 56.9 s | 57.9 s | 61.3 s |
| channel_update behaviour | ||||||
| Refresh (only timestamp changed) | 48.2% | 50.6% | 57.6% | 58.4% | 59.1% | 56.2% |
| Fee change | 15.2% | 15.5% | 15.3% | 14.7% | 15.0% | 13.6% |
| Disable | 13.6% | 12.3% | 9.3% | 9.4% | 9.3% | 11.7% |
| Enable | 14.0% | 12.8% | 9.6% | 9.8% | 9.6% | 12.0% |
| Out of order (older than already seen) | 2.2% | 2.0% | 1.4% | 1.3% | 1.4% | 1.2% |
| Entities | ||||||
| Active SCIDs (channel_update) | 31,131 | 32,595 | 35,011 | 37,877 | 43,461 | 71,024 |
| Top 1% of SCIDs' share of updates | 28.6% | 29.3% | 33.4% | 34.5% | 35.9% | 34.0% |
| Top 1% of signing nodes' share of updates | 66.5% | 67.5% | 70.5% | 71.2% | 72.0% | 69.7% |
| Announcing nodes | 3,772 | 4,217 | 4,464 | 4,733 | 5,390 | 7,316 |
| Top 1% of nodes' share of announcements | 20.6% | 23.5% | 27.8% | 28.0% | 27.6% | 23.6% |
| Graph (collector snapshots) | ||||||
| Live channels (both directions ≤14 d) | 27,352 | 27,366 | 27,384 | 27,624 | 28,222 | 32,957 |
| Live channels added / day | 277 | 244 | 233 | 237 | 246 | 306 |
| Live channels removed / day | 273 | 251 | 267 | 294 | 307 | 411 |
| Announcement-only channels (zombies) | 302,440 | 249,083 | 198,668 | 176,384 | 233,443 | 255,384 |
| Days with data | 1/1 | 3/3 | 7/7 | 14/14 | 30/30 | 90/90 |

1-day window
2026-09-29 → 2026-09-29 · 1/1 days with data
By message type
| Type | New / day | Avg size | New content | Reach p50 | Reached 90% | →50% p50 | →90% p50 | →90% p90 | ≥ cutoff peers | →50% senders p50 | →90% senders p50 | Peers relaying p50 | Publish p50 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| channel_announcement | 327 | 430.0 B | 100.0% | 18.00 | 90.2% | 23.3 s | 95.0 s | 136 s | 91.1% | 74.8 s | 125 s | 32.6% | – |
| node_announcement | 141,773 | 426.3 B | 0.2% | 18.00 | 76.2% | 72.0 s | 291 s | 382 s | 82.6% | 216 s | 373 s | 26.3% | 134 s |
| channel_update | 302,151 | 139.7 B | 13.1% | 17.00 | 59.1% | 47.7 s | 169 s | 270 s | 64.6% | 128 s | 228 s | 25.9% | 48.6 s |
| all | 444,251 | 231.3 B | 9.0% | 18.00 | 64.6% | 55.2 s | 217 s | 341 s | 70.4% | 149 s | 260 s | 26.0% | 64.7 s |
Unique message rate

Propagation


Message size

Who produces the gossip




channel_update behaviour
| Kind | Share of updates |
|---|---|
| refresh | 48.2% |
| fee | 15.2% |
| enable | 14.0% |
| disable | 13.6% |
| htlc | 6.5% |
| out_of_order | 2.2% |
| no_prev | 0.2% |
| cltv | 0.1% |
Rate tiers per channel direction
| Tier | Directions | % of directions | % of updates | % of bandwidth | >10 in one hour |
|---|---|---|---|---|---|
| ≤24/day (≤1/h) | 47,190 | 93.81 | 38.72 | 51.79 | 8 |
| 24-144/day (≤1/10 min) | 2,973 | 5.91 | 39.63 | 39.49 | 67 |
| 144-1440/day (≤1/min) | 142 | 0.282 | 21.64 | 8.72 | 137 |
| >1440/day | 0 | 0 | 0 | 0 | 0 |

Collectors


Gossip our collectors originated

Bandwidth

CSV data
messages.csvtraffic.csvcollectors.csvcollector_pair_lag.csvtop_scids.csvtop_nodes.csvtop_nodes_by_channel_updates.csvscid_concentration.csvnode_concentration.csvnode_channel_update_concentration.csvrate_tiers.csvchannel_update_kinds.csvchannel_update_gaps.csvcollector_originated.csvreach.csvpropagation_box.csvconvergence_quantiles.csvpeer_coverage.csvnew_msgs_timeseries.csvbandwidth_timeseries.csvsize_quantiles.csv
3-day window
2026-09-27 → 2026-09-29 · 3/3 days with data
By message type
| Type | New / day | Avg size | New content | Reach p50 | Reached 90% | →50% p50 | →90% p50 | →90% p90 | ≥ cutoff peers | →50% senders p50 | →90% senders p50 | Peers relaying p50 | Publish p50 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| channel_announcement | 275 | 430.0 B | 100.0% | 18.00 | 86.4% | 22.2 s | 86.7 s | 132 s | 88.1% | 74.8 s | 126 s | 29.6% | – |
| node_announcement | 120,175 | 421.8 B | 0.3% | 18.00 | 75.4% | 66.2 s | 259 s | 354 s | 80.6% | 219 s | 373 s | 24.2% | 135 s |
| channel_update | 288,368 | 139.7 B | 12.6% | 17.00 | 58.8% | 45.3 s | 142 s | 242 s | 62.9% | 130 s | 230 s | 25.0% | 47.4 s |
| all | 408,818 | 222.8 B | 9.0% | 17.00 | 63.7% | 50.8 s | 184 s | 309 s | 68.1% | 146 s | 256 s | 24.7% | 62.8 s |
Unique message rate

Propagation



Drill down: low_reach_announcementslow_reach_announcements_by_node
Message size

Who produces the gossip




Drill down: top_scid_directionstop_signing_nodes
channel_update behaviour
| Kind | Share of updates |
|---|---|
| refresh | 50.6% |
| fee | 15.5% |
| enable | 12.8% |
| disable | 12.3% |
| htlc | 6.5% |
| out_of_order | 2.0% |
| no_prev | 0.2% |
| cltv | 0.1% |
Rate tiers per channel direction
| Tier | Directions | % of directions | % of updates | % of bandwidth | >10 in one hour |
|---|---|---|---|---|---|
| ≤24/day (≤1/h) | 51,200 | 95.49 | 44.78 | 61.79 | 56 |
| 24-144/day (≤1/10 min) | 2,285 | 4.26 | 33.85 | 30.33 | 95 |
| 144-1440/day (≤1/min) | 133 | 0.248 | 21.37 | 7.88 | 131 |
| >1440/day | 0 | 0 | 0 | 0 | 0 |

Drill down: frequent_refreshesfrequent_fee_updatesfrequent_enable_disablefrequent_policy_by_node
Collectors


Gossip our collectors originated

Bandwidth

CSV data
messages.csvtraffic.csvcollectors.csvcollector_pair_lag.csvtop_scids.csvtop_nodes.csvtop_nodes_by_channel_updates.csvscid_concentration.csvnode_concentration.csvnode_channel_update_concentration.csvrate_tiers.csvchannel_update_kinds.csvchannel_update_gaps.csvcollector_originated.csvreach.csvpropagation_box.csvconvergence_quantiles.csvpeer_coverage.csvnew_msgs_timeseries.csvbandwidth_timeseries.csvsize_quantiles.csv
7-day window
2026-09-23 → 2026-09-29 · 7/7 days with data
By message type
| Type | New / day | Avg size | New content | Reach p50 | Reached 90% | →50% p50 | →90% p50 | →90% p90 | ≥ cutoff peers | →50% senders p50 | →90% senders p50 | Peers relaying p50 | Publish p50 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| channel_announcement | 352 | 430.0 B | 100.0% | 17.00 | 60.9% | 22.4 s | 68.3 s | 110 s | 61.5% | 76.0 s | 128 s | 26.0% | – |
| node_announcement | 99,045 | 425.4 B | 0.2% | 17.00 | 73.0% | 62.8 s | 217 s | 321 s | 76.8% | 216 s | 371 s | 22.3% | 137 s |
| channel_update | 278,103 | 139.7 B | 12.4% | 17.00 | 53.9% | 44.1 s | 113 s | 203 s | 56.6% | 129 s | 228 s | 22.7% | 43.9 s |
| all | 377,500 | 214.9 B | 9.3% | 17.00 | 58.9% | 48.1 s | 142 s | 270 s | 61.9% | 141 s | 248 s | 22.5% | 57.5 s |
Unique message rate

Propagation



Message size

Who produces the gossip




channel_update behaviour
| Kind | Share of updates |
|---|---|
| refresh | 57.6% |
| fee | 15.3% |
| enable | 9.6% |
| disable | 9.3% |
| htlc | 6.5% |
| out_of_order | 1.4% |
| cltv | 0.1% |
| no_prev | 0.1% |
Rate tiers per channel direction
| Tier | Directions | % of directions | % of updates | % of bandwidth | >10 in one hour |
|---|---|---|---|---|---|
| ≤24/day (≤1/h) | 57,296 | 96.47 | 43.41 | 64.51 | 108 |
| 24-144/day (≤1/10 min) | 1,945 | 3.27 | 31.40 | 27.69 | 112 |
| 144-1440/day (≤1/min) | 153 | 0.258 | 25.19 | 7.80 | 151 |
| >1440/day | 0 | 0 | 0 | 0 | 0 |

Collectors


Gossip our collectors originated

Bandwidth

CSV data
messages.csvtraffic.csvcollectors.csvcollector_pair_lag.csvtop_scids.csvtop_nodes.csvtop_nodes_by_channel_updates.csvscid_concentration.csvnode_concentration.csvnode_channel_update_concentration.csvrate_tiers.csvchannel_update_kinds.csvchannel_update_gaps.csvcollector_originated.csvreach.csvpropagation_box.csvconvergence_quantiles.csvpeer_coverage.csvnew_msgs_timeseries.csvbandwidth_timeseries.csvsize_quantiles.csv
14-day window
2026-09-16 → 2026-09-29 · 14/14 days with data
By message type
| Type | New / day | Avg size | New content | Reach p50 | Reached 90% | →50% p50 | →90% p50 | →90% p90 | ≥ cutoff peers | →50% senders p50 | →90% senders p50 | Peers relaying p50 | Publish p50 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| channel_announcement | 278 | 430.0 B | 100.0% | 17.00 | 72.5% | 23.3 s | 66.1 s | 104 s | 72.9% | 75.0 s | 127 s | 26.4% | – |
| node_announcement | 108,149 | 424.1 B | 0.2% | 17.00 | 73.2% | 67.6 s | 220 s | 317 s | 77.1% | 214 s | 365 s | 21.5% | 134 s |
| channel_update | 289,820 | 139.5 B | 11.8% | 17.00 | 52.9% | 47.1 s | 117 s | 206 s | 56.3% | 127 s | 224 s | 21.6% | 41.8 s |
| all | 398,247 | 217.0 B | 8.7% | 17.00 | 58.4% | 52.0 s | 149 s | 269 s | 62.0% | 141 s | 247 s | 21.5% | 56.9 s |
Unique message rate

Propagation



Message size

Who produces the gossip




channel_update behaviour
| Kind | Share of updates |
|---|---|
| refresh | 58.4% |
| fee | 14.7% |
| enable | 9.8% |
| disable | 9.4% |
| htlc | 6.2% |
| out_of_order | 1.3% |
| no_prev | 0.1% |
| cltv | 0.1% |
Rate tiers per channel direction
| Tier | Directions | % of directions | % of updates | % of bandwidth | >10 in one hour |
|---|---|---|---|---|---|
| ≤24/day (≤1/h) | 63,248 | 96.87 | 45.01 | 67.48 | 218 |
| 24-144/day (≤1/10 min) | 1,902 | 2.91 | 29.42 | 25.99 | 144 |
| 144-1440/day (≤1/min) | 144 | 0.221 | 25.57 | 6.53 | 143 |
| >1440/day | 0 | 0 | 0 | 0 | 0 |

Collectors


Gossip our collectors originated

Bandwidth

CSV data
messages.csvtraffic.csvcollectors.csvcollector_pair_lag.csvtop_scids.csvtop_nodes.csvtop_nodes_by_channel_updates.csvscid_concentration.csvnode_concentration.csvnode_channel_update_concentration.csvrate_tiers.csvchannel_update_kinds.csvchannel_update_gaps.csvcollector_originated.csvreach.csvpropagation_box.csvconvergence_quantiles.csvpeer_coverage.csvnew_msgs_timeseries.csvbandwidth_timeseries.csvsize_quantiles.csv
30-day window
2026-08-31 → 2026-09-29 · 30/30 days with data
By message type
| Type | New / day | Avg size | New content | Reach p50 | Reached 90% | →50% p50 | →90% p50 | →90% p90 | ≥ cutoff peers | →50% senders p50 | →90% senders p50 | Peers relaying p50 | Publish p50 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| channel_announcement | 256 | 430.0 B | 100.0% | 18.00 | 83.3% | 23.8 s | 73.2 s | 118 s | 83.4% | 74.6 s | 126 s | 28.3% | – |
| node_announcement | 112,997 | 427.2 B | 0.2% | 18.00 | 72.4% | 77.5 s | 240 s | 347 s | 77.3% | 217 s | 370 s | 22.4% | 136 s |
| channel_update | 297,627 | 139.4 B | 11.4% | 17.00 | 52.0% | 47.9 s | 128 s | 219 s | 56.0% | 128 s | 225 s | 22.0% | 41.3 s |
| all | 410,879 | 218.7 B | 8.4% | 17.00 | 57.7% | 54.5 s | 163 s | 292 s | 61.9% | 143 s | 249 s | 22.3% | 57.9 s |
Unique message rate

Propagation



Drill down: low_reach_announcementslow_reach_announcements_by_node
Message size

Who produces the gossip




Drill down: top_scid_directionstop_signing_nodes
channel_update behaviour
| Kind | Share of updates |
|---|---|
| refresh | 59.1% |
| fee | 15.0% |
| enable | 9.6% |
| disable | 9.3% |
| htlc | 5.4% |
| out_of_order | 1.4% |
| no_prev | 0.1% |
| cltv | 0.1% |
| dup_ts | 0.0% |
Rate tiers per channel direction
| Tier | Directions | % of directions | % of updates | % of bandwidth | >10 in one hour |
|---|---|---|---|---|---|
| ≤24/day (≤1/h) | 73,630 | 97.45 | 47.04 | 69.39 | 431 |
| 24-144/day (≤1/10 min) | 1,781 | 2.36 | 27.06 | 24.01 | 227 |
| 144-1440/day (≤1/min) | 148 | 0.196 | 25.91 | 6.60 | 146 |
| >1440/day | 0 | 0 | 0 | 0 | 0 |

Drill down: frequent_refreshesfrequent_fee_updatesfrequent_enable_disablefrequent_policy_by_node
Collectors


Gossip our collectors originated

Bandwidth

CSV data
messages.csvtraffic.csvcollectors.csvcollector_pair_lag.csvtop_scids.csvtop_nodes.csvtop_nodes_by_channel_updates.csvscid_concentration.csvnode_concentration.csvnode_channel_update_concentration.csvrate_tiers.csvchannel_update_kinds.csvchannel_update_gaps.csvcollector_originated.csvreach.csvpropagation_box.csvconvergence_quantiles.csvpeer_coverage.csvnew_msgs_timeseries.csvbandwidth_timeseries.csvsize_quantiles.csv
90-day window
2026-07-02 → 2026-09-29 · 90/90 days with data
By message type
| Type | New / day | Avg size | New content | Reach p50 | Reached 90% | →50% p50 | →90% p50 | →90% p90 | ≥ cutoff peers | →50% senders p50 | →90% senders p50 | Peers relaying p50 | Publish p50 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| channel_announcement | 327 | 430.0 B | 100.0% | 18.00 | 80.3% | 22.2 s | 82.9 s | 132 s | 81.6% | 70.4 s | 122 s | 29.6% | – |
| node_announcement | 148,960 | 423.6 B | 0.2% | 18.00 | 74.5% | 80.0 s | 262 s | 384 s | 80.8% | 212 s | 366 s | 23.8% | 133 s |
| channel_update | 323,864 | 139.5 B | 11.3% | 17.00 | 54.3% | 45.7 s | 145 s | 248 s | 60.0% | 124 s | 218 s | 23.5% | 42.0 s |
| all | 473,150 | 229.2 B | 7.9% | 17.00 | 60.7% | 53.6 s | 190 s | 328 s | 66.6% | 143 s | 248 s | 23.7% | 61.3 s |
Unique message rate

Propagation



Message size

Who produces the gossip




channel_update behaviour
| Kind | Share of updates |
|---|---|
| refresh | 56.2% |
| fee | 13.6% |
| enable | 12.0% |
| disable | 11.7% |
| htlc | 5.2% |
| out_of_order | 1.2% |
| no_prev | 0.1% |
| cltv | 0.0% |
| dup_ts | 0.0% |
Rate tiers per channel direction
| Tier | Directions | % of directions | % of updates | % of bandwidth | >10 in one hour |
|---|---|---|---|---|---|
| ≤24/day (≤1/h) | 126,863 | 98.66 | 56.86 | 79.13 | 1,830 |
| 24-144/day (≤1/10 min) | 1,561 | 1.21 | 21.94 | 15.73 | 454 |
| 144-1440/day (≤1/min) | 160 | 0.124 | 21.20 | 5.13 | 160 |
| >1440/day | 0 | 0 | 0 | 0 | 0 |

Collectors


Gossip our collectors originated

Bandwidth

CSV data
messages.csvtraffic.csvcollectors.csvcollector_pair_lag.csvtop_scids.csvtop_nodes.csvtop_nodes_by_channel_updates.csvscid_concentration.csvnode_concentration.csvnode_channel_update_concentration.csvrate_tiers.csvchannel_update_kinds.csvchannel_update_gaps.csvcollector_originated.csvreach.csvpropagation_box.csvconvergence_quantiles.csvpeer_coverage.csvnew_msgs_timeseries.csvbandwidth_timeseries.csvsize_quantiles.csv
Network graph
Union of the collectors' own graph snapshots (every 4 h), latest tick 2026-10-16-12-15 · 1586 ticks


Drill down: removed_channels (30d)channel_churn_by_node (30d)channel_churn_by_node_total (30d)removed_channels (3d)channel_churn_by_node (3d)channel_churn_by_node_total (3d)

network_summary.csvnetwork_diffs.csvlive_churn_daily.csvcollector_completeness_daily.csvcollectors_latest.csv
Drill-down lists
The channels and nodes behind the window aggregates, up to 1,000 rows each. Open a list to load it; click a cell to copy it, or copy the whole table as TSV.
30-day window · 2026-08-31 → 2026-09-29
Top 1% of channel directions (756 of 75,559, ≥ 40.47 updates/day) send 39.8% of channel_updates; the top 10% (≥ 4.93/day) send 74.7%. Top 1% of signing nodes (59 of 5,885) sign 72.0%. 1,267 channel_announcements reached ≤ 5 collectors; 1,264 (99.8% of those checked) already closed on-chain when first seen, 1 have no such funding output. 8,596 channels stopped being live; 7,083 (82.4% of those checked) closed on-chain by that day.
low_reach_announcements1,000 of 1,267 rowschannel_announcements first seen in the window that reached ≤ 5 collectors
low_reach_announcements_by_node660 rowslow-reach channel_announcements per endpoint node
top_scid_directions1,000 of 7,556 rowschannel directions by channel_updates: the top 10% (tier marks the top 1%)
top_signing_nodes59 rowsthe top 1% of nodes by channel_updates they signed (all their channels)
frequent_refreshes1,000 of 6,081 rowsdirections re-signing unchanged updates (refresh) < 1259 s apart (through the 1000 s spike)
frequent_fee_updates1,000 of 8,331 rowsdirections changing fees < 1000 s after their previous update
frequent_enable_disable1,000 of 45,351 rowsdirections disabling or enabling < 1000 s after their previous update
frequent_policy_by_node1,000 of 4,751 rowsfast refreshes, fee changes and enable/disable flips per signing node
channel_churn_by_node1,000 of 12,753 rowsper (day, node): live channels added / removed in the graph snapshots (removed split by on-chain status), new announcements
channel_churn_by_node_total1,000 of 3,914 rowslive channel churn and new announcements per node, summed over the window
removed_channels1,000 of 8,596 rowschannels that stopped being live, with their on-chain funding status (closed / still open)
3-day window · 2026-09-27 → 2026-09-29
Top 1% of channel directions (537 of 53,618, ≥ 51.00 updates/day) send 33.0% of channel_updates; the top 10% (≥ 9.33/day) send 73.4%. Top 1% of signing nodes (48 of 4,758) sign 67.5%. 96 channel_announcements reached ≤ 5 collectors; 94 (97.9% of those checked) already closed on-chain when first seen. 752 channels stopped being live; 667 (88.7% of those checked) closed on-chain by that day.
low_reach_announcements96 rowschannel_announcements first seen in the window that reached ≤ 5 collectors
low_reach_announcements_by_node112 rowslow-reach channel_announcements per endpoint node
top_scid_directions1,000 of 5,362 rowschannel directions by channel_updates: the top 10% (tier marks the top 1%)
top_signing_nodes48 rowsthe top 1% of nodes by channel_updates they signed (all their channels)
frequent_refreshes1,000 of 2,126 rowsdirections re-signing unchanged updates (refresh) < 1259 s apart (through the 1000 s spike)
frequent_fee_updates1,000 of 2,495 rowsdirections changing fees < 1000 s after their previous update
frequent_enable_disable1,000 of 17,026 rowsdirections disabling or enabling < 1000 s after their previous update
frequent_policy_by_node1,000 of 3,477 rowsfast refreshes, fee changes and enable/disable flips per signing node
channel_churn_by_node1,000 of 1,167 rowsper (day, node): live channels added / removed in the graph snapshots (removed split by on-chain status), new announcements
channel_churn_by_node_total839 rowslive channel churn and new announcements per node, summed over the window
removed_channels752 rowschannels that stopped being live, with their on-chain funding status (closed / still open)
Anomalies
Unsupervised detectors over the rollups and features; 67 incidents ending in the last 30 days of data (809 in the whole history, 0 new in the last detector run). Full list: recent_incidents.csv.
| Category | critical | warn | info |
|---|---|---|---|
| channels | 0 | 24 | 14 |
| collectors | 10 | 6 | 0 |
| content | 2 | 1 | 0 |
| graph | 1 | 0 | 0 |
| malformed | 0 | 4 | 0 |
| propagation | 0 | 1 | 0 |
| traffic | 2 | 2 | 0 |
Top recent incidents
| Severity | Start (UTC) | Category | Detector | What |
|---|---|---|---|---|
| critical | 2026-06-25 23:00 | collectors | D3 gap | collector 10420 received nothing for 2305 h from 2026-06-25 23:00 (usually 7.0k/h) |
| critical | 2026-08-22 02:00 | collectors | D3 gap | collector 6269 received nothing for 934 h from 2026-08-22 02:00 (usually 294/h) |
| critical | 2026-09-09 02:00 | collectors | D3 gap | collector 10395 received nothing for 184 h from 2026-09-09 02:00 (usually 8.8k/h) |
| critical | 2026-09-21 03:00 | collectors | D3 gap | collector 10395 received nothing for 158 h from 2026-09-21 03:00 (usually 11.7k/h) |
| critical | 2026-09-22 02:00 | collectors | D3 gap | collector 2079 received nothing for 147 h from 2026-09-22 02:00 (usually 7.9k/h) |
| critical | 2026-09-22 02:00 | collectors | D5 divergence | collector 2079: collector.rx below the other collectors (z -90.0) for 71 bucket(s) from 2026-09-22 02:00; 0 vs its usual 7.9k |
| critical | 2026-09-13 04:00 | collectors | D5 divergence | collector 2079: collector.rx below the other collectors (z -89.5) for 96 bucket(s) from 2026-09-13 04:00; 0 vs its usual 8.0k |
| critical | 2026-09-14 00:00 | collectors | D3 gap | collector 2079 received nothing for 77 h from 2026-09-14 00:00 (usually 8.0k/h) |
| critical | 2026-09-08 21:00 | collectors | D5 divergence | collector 9854: collector.rx below the other collectors (z -63.1) for 9 bucket(s) from 2026-09-08 21:00; 0 vs its usual 63.4k |
| critical | 2026-09-28 20:00 | collectors | D5 divergence | collector 9854: collector.rx below the other collectors (z -55.3) for 14 bucket(s) from 2026-09-28 20:00; 0 vs its usual 41.4k |
| critical | 2026-08-27 00:00 | graph | D2 changepoint | graph.live_removed [all] level shift 991 → 337 (-66%) from 2026-08-27, lasting 22 days |
| critical | 2026-08-26 00:00 | traffic | D2 changepoint | traffic.new_msgs [node_announcement] level shift 3.7k → 8.7k (+132%) from 2026-08-26, lasting 7 days |
| critical | 2026-09-02 00:00 | traffic | D2 changepoint | traffic.bytes_in [node_announcement] level shift 505.6M → 204.9M (-60%) from 2026-09-02, lasting 28 days |
| critical | 2026-08-27 00:00 | content | D2 changepoint | mix.update_kind_share [disable] level shift 0.067 → 0.112 (+68%) from 2026-08-27, lasting 10 days |
| critical | 2026-08-27 00:00 | content | D2 changepoint | mix.update_kind_share [enable] level shift 0.069 → 0.116 (+68%) from 2026-08-27, lasting 10 days |
| warn | 2026-09-25 00:00 | channels | D7 channel_burst | channel direction 1057991869845536768/1: 322.0 updates/day at peak from 2026-09-25 (6 day(s)) vs usual 1.0/day |
| warn | 2026-08-27 00:00 | channels | D7 channel_burst | channel direction 1023252799879643137/0: 292.0 updates/day at peak from 2026-08-27 (11 day(s)) vs usual 1.0/day |
| warn | 2026-08-29 00:00 | channels | D7 channel_burst | channel direction 1054295311742468096/0: 250.0 updates/day at peak from 2026-08-29 (6 day(s)) vs usual 1.0/day |
| warn | 2026-08-30 00:00 | channels | D7 channel_burst | channel direction 1048482193686462465/1: 225.0 updates/day at peak from 2026-08-30 (2 day(s)) vs usual 1.0/day |
| warn | 2026-08-27 00:00 | channels | D7 channel_burst | channel direction 1033043950986461186/0: 306.0 updates/day at peak from 2026-08-27 (4 day(s)) vs usual 1.5/day |
| warn | 2026-09-27 00:00 | channels | D7 channel_burst | channel direction 769464625442652162/1: 326.0 updates/day at peak from 2026-09-27 (3 day(s)) vs usual 2.0/day |
| warn | 2026-08-27 00:00 | channels | D7 channel_burst | channel direction 1024677767007895553/0: 310.0 updates/day at peak from 2026-08-27 (7 day(s)) vs usual 2.0/day |
| warn | 2026-09-09 00:00 | channels | D7 channel_burst | channel direction 840189611385290754/1: 302.0 updates/day at peak from 2026-09-09 (4 day(s)) vs usual 2.0/day |
| warn | 2026-09-16 00:00 | channels | D7 channel_burst | channel direction 918982813668474881/1: 294.0 updates/day at peak from 2026-09-16 (2 day(s)) vs usual 2.0/day |
| warn | 2026-08-31 00:00 | channels | D7 channel_burst | channel direction 996032190617616414/1: 292.0 updates/day at peak from 2026-08-31 (3 day(s)) vs usual 2.0/day |
| warn | 2026-09-09 00:00 | channels | D7 channel_burst | channel direction 645626630834814977/1: 290.0 updates/day at peak from 2026-09-09 (5 day(s)) vs usual 2.0/day |
| warn | 2026-09-29 00:00 | channels | D7 channel_burst | channel direction 1007201029573050368/0: 289.0 updates/day at peak from 2026-09-29 (2 day(s)) vs usual 2.0/day |
| warn | 2026-09-09 00:00 | channels | D7 channel_burst | channel direction 980635729254219776/1: 234.0 updates/day at peak from 2026-09-09 (2 day(s)) vs usual 2.0/day |
| warn | 2026-09-10 00:00 | channels | D7 channel_burst | channel direction 1029126390952427520/1: 231.0 updates/day at peak from 2026-09-10 (3 day(s)) vs usual 2.0/day |
| warn | 2026-09-10 00:00 | channels | D7 channel_burst | channel direction 947002768059203584/0: 230.0 updates/day at peak from 2026-09-10 (2 day(s)) vs usual 2.0/day |
| warn | 2026-09-06 00:00 | channels | D7 channel_burst | channel direction 1006010258551799808/1: 324.0 updates/day at peak from 2026-09-06 (5 day(s)) vs usual 3.0/day |
| warn | 2026-09-12 00:00 | channels | D7 channel_burst | channel direction 1036120384485654535/0: 292.0 updates/day at peak from 2026-09-12 (4 day(s)) vs usual 3.0/day |
| warn | 2026-09-02 00:00 | channels | D7 channel_burst | channel direction 1008318133410070541/0: 328.0 updates/day at peak from 2026-09-02 (5 day(s)) vs usual 4.0/day |
| warn | 2026-09-06 00:00 | channels | D7 channel_burst | channel direction 1005920098694660096/0: 231.0 updates/day at peak from 2026-09-06 (2 day(s)) vs usual 3.0/day |
| warn | 2026-09-12 00:00 | channels | D7 channel_burst | channel direction 820909674984898560/0: 244.0 updates/day at peak from 2026-09-12 (2 day(s)) vs usual 4.0/day |
| warn | 2026-09-04 00:00 | channels | D7 channel_burst | channel direction 1038874661095342080/0: 312.0 updates/day at peak from 2026-09-04 (2 day(s)) vs usual 5.5/day |
| warn | 2026-09-19 00:00 | channels | D7 channel_outlier | channel direction 1059287094470574080/1 on 2026-09-19: disabled_toggles 320 (typical 1); max_per_hour 60 (typical 2); log_n 7.03 (typical 3.14) |
| warn | 2026-09-08 00:00 | channels | D7 channel_outlier | channel direction 1060066648241340417/1 on 2026-09-08: max_per_hour 79 (typical 2); out_of_order 8 (typical 0); distinct_fee_ppm 67 (typical 1) |
| warn | 2026-09-27 00:00 | channels | D7 channel_outlier | channel direction 1060141415058309121/1 on 2026-09-27: distinct_fee_ppm 104 (typical 1); max_per_hour 49 (typical 2); out_of_order 22 (typical 0) |
| warn | 2026-09-26 00:00 | collectors | D5 divergence | collector 10023: peers.connected below the other collectors (z -17.9) for 15 bucket(s) from 2026-09-26 00:00; 61 vs its usual 370 |

Chronic (recurring, listed once)
| Detector · what | Incidents | First | Last |
|---|---|---|---|
| D5 divergence · collector.rx|10395 | 78 | 2026-02-17 | 2026-09-16 |
| D1 seasonal_z · traffic.new_msgs|channel_announcement | 50 | 2026-02-19 | 2026-09-24 |
| D5 divergence · collector.rx|6269 | 45 | 2026-02-20 | 2026-08-28 |
| D1 seasonal_z · traffic.bytes_in|channel_announcement | 38 | 2026-03-07 | 2026-09-29 |
| D1 seasonal_z · mix.new_content_share|node_announcement | 36 | 2026-04-08 | 2026-09-28 |
| D1 seasonal_z · latency.conv90|node_announcement | 17 | 2026-03-12 | 2026-08-12 |
| D7 channel_outlier · 1022869070278688769/0 | 15 | 2026-02-06 | 2026-08-03 |
| D1 seasonal_z · reach.peer_frac|channel_update | 15 | 2026-07-09 | 2026-09-16 |
| D1 seasonal_z · reach.reached90_share|node_announcement | 14 | 2026-03-12 | 2026-08-22 |
| D3 gap · collector.rx_all|9854 | 13 | 2026-02-05 | 2026-09-29 |
History
One point per day, 2026-02-04 → 2026-09-29 (238 days)








daily_messages.csvdaily_traffic.csvdaily_infra.csvdaily_channel_update_kinds.csvdaily_collector_receipts.csv summary.json metrics_long.csv
Definitions
- First sighting (t0)
- The earliest net_timestamp of the message at any collector. Every delay is measured from here.
- Fresh receipt
- An inbound copy that arrived within 1 h of t0. Later copies are sync dumps or re-broadcasts, not propagation.
- Active collectors
- Collectors that received any fresh gossip in the hour of t0. Only their first receipts count towards →N% of collectors.
- →N% of collectors
- Seconds from t0 until N% of active collectors had received the message at least once. Percentiles are over the messages that got that far; 'Reached' gives that share.
- Connected peers
- Distinct peers that sent any collector a pong in the hour of t0 (we ping every peer every 10 s). Counted once across collectors. Gossiping peers = connected and sent any fresh gossip that hour.
- →N% of sending peers
- Seconds from t0 until N% of the distinct peers that sent us the message within 1 h had sent it, over messages sent by at least the peer cutoff (see header) of peers. Relative to senders, not to all connected peers: a peer we relayed the message to never sends it back.
- Peers relaying
- Distinct connected peers that sent us the message within 1 h, as a share of all connected peers (typically ~20%; the curve by delay is in peer_coverage.csv).
- New content
- The message's timestamp-stripped content (inner_hash) had never been seen before.
- channel_update kinds
- Each update is compared with the previous one of the same channel direction, in signed-timestamp order: refresh (only the timestamp changed), fee, cltv, htlc, disable, enable, dup_ts (same timestamp, different bytes), out_of_order (older than one already seen), no_prev (first seen).
- Publish delay
- t0 minus the message's own signed timestamp (node_announcement / channel_update): creation → first observation, plus clock skew.
- Collector-originated
- node_announcements a collector signed, and channel_updates for its own channel in its own direction.
- Live channel
- In the union of all collectors' graph snapshots, both directions carry a channel_update signed within 14 days of the snapshot. Announcement-only channels are excluded: with the Esplora chain source LDK cannot verify them and keeps them in a 14-days-in / 7-days-out prune cycle.
- Sliding window
- Each point is the metric over the N days ending that day (not an average of daily values). Points whose window has < 80% of days with data are omitted.
Favicon: periscope icon by Icons8.