Analysis

One week at a Litecoin node: what was observed by one, five and ten minutes

A frozen seven-day node ledger tracks 68,640 sampled records. Compare one, five and ten-minute observed outcomes, the same aged denominator, collection gaps and daily waits—with data and reproduction code.

Frozen 6–12 October node ledger: 68,640 sampled records; matched-only median 135 seconds; 4,553 other outcomes. Among 68,605 aged records, observed matched-by shares are 20.77%, 77.09% and 91.03% at one, five and ten minutes.

Original illustration using the frozen seven-day observer dataset. Threshold shares use one aged cohort; the median uses matched records only. These are separate denominators, not payment-speed guarantees.

On this page

Our node first saw 68,640 sampled Litecoin transactions between 6 and 12 October 2026 UTC. At the frozen export on 13 October at 00:03:33 UTC, 64,087 records had a matched block inclusion. Their median observed wait was 135 seconds. That number leaves out 4,553 other outcomes. Those records are the reason this report includes a complete ledger before discussing speed.

The practical question is narrower than “How fast is Litecoin?”: what had this observer actually matched by one, five and ten minutes after first seeing each sampled transaction? We answer it using one fixed cohort, one recorded export time and the same sufficiently aged denominator at all three thresholds. The data and reproduction package are available below.

The seven days and the export are different clocks

Enrollment starts at 2026-10-06 00:00:00 UTC and ends just before 2026-10-13 00:00:00 UTC. Each transaction is assigned to the day this node first observed it, even if its inclusion was observed on a later day. The final archive was written three minutes and 33 seconds after enrollment closed. Its states describe that export time; they are not a reconstructed midnight state or a claim about today’s canonical chain.

We took transaction outcomes once, from the final archive’s retained cohort. We combined the seven daily poll files only for coverage. Adding the daily cohort files would count the same transactions repeatedly. This publication is a separate release from our earlier pilot report; that pilot and its original data remain unchanged.

What happened to all 68,640 records?

Full enrollment cohort, as of 13 October 2026, 00:03:33 UTC
Recorded outcomeRecordsWhat the record establishes
Matched block inclusion64,087A qualified mempool observation was matched to a block observation.
Still pending7No inclusion had been matched; the wait remained open.
Left the mempool83Disappearance without matched inclusion. The cause is not established.
Collection-gap censored4,408Lost observation continuity prevents a comparable timing outcome.
Reorganization censored55The originally recorded confirming block was excluded by the observer’s canonical-membership check.
Awaiting membership recheck0No record had this state in the selected cohort at export.
Total68,640Every enrolled sampled record, including incomplete observations.

The 55 reorganization-censored records reference one distinct original block hash. They are not evidence of 55 reorganizations, 55 attacks or 55 independent losses. We report the observer’s classification at export and preserve the original block fields so it can be inspected. We have not rerun a fresh canonical-chain audit for this article.

One, five and ten minutes: keep the denominator fixed

A record must have been first seen at least ten minutes before the export to enter this comparison. The inclusive cutoff is 2026-10-12 23:53:33 UTC: first_seen <= snapshot_at - 600. That leaves 68,605 records. We exclude the same 35 younger records at every threshold: 28 had already matched a block and seven were pending. Keeping the age rule independent of outcome avoids admitting only the quickest young confirmations.

“Matched by” includes a qualified observed duration equal to the threshold. “Matched later” requires an actual qualified later inclusion. “Unresolved” means this snapshot cannot assign either outcome. A disappeared or gap-censored record is never moved into “later” merely because a clock or a closure timestamp passed the deadline.

Same aged cohort at all thresholds; percentages are matched-by count / 68,605
ThresholdMatched byMatched laterUnresolvedDenominatorMatched-by share
1 minute14,25249,8074,54668,60520.77%
5 minutes52,88911,1704,54668,60577.09%
10 minutes62,4501,6094,54668,60591.03%
Stacked zero-baseline bars for one, five and ten minutes, using the same 68,605 records.
Frozen observation counts. The unresolved segment stays at 4,546 records; it is not a failure rate.

At ten minutes, 62,450 records had qualified matched inclusions, 1,609 had qualified later inclusions, and 4,546 were unresolved: 4,408 gap-censored, 55 reorganization-censored and 83 disappeared. Thus 91.03% is a descriptive share of these aged sampled records with an observed match by this threshold. It is not a network-wide success probability or a prediction for a new payment.

Why 99.42% coverage does not mean 99.42% of outcomes are known

Across the scheduled 168 hours, the observer recorded 167 hours, two minutes and two seconds of covered intervals: 99.42%. Uncovered time totaled 57 minutes and 58 seconds. A covered interval requires consecutive valid polls no more than 30 seconds apart; restarts, synchronization, inconsistent reads and other gaps do not count as covered time.

Seven daily coverage bars, all starting at zero, with daily covered shares shown.
Coverage is a clock-time measure. Poll intervals are assigned to the day of their ending poll, with up to 30 seconds of boundary imprecision.

Yet 4,408 of the 68,640 enrolled records, or 6.42%, were gap-censored. These percentages use different units. A brief gap can interrupt many transactions that were already being tracked. It also excludes entries present when a new baseline is established. Subtracting 99.42% from 100% cannot estimate the share of transactions whose timing is unusable.

This distinction matters when comparing services that publish a fast median without their collection ledger. High uptime can coexist with a material number of unresolved measurements. Our poll file includes baseline exclusions; those counts can repeat the same mempool entry at different baselines and are not an additional unique-transaction total.

Daily comparisons: what moved, and what did not

By first-observation UTC day; timing columns include matched records only
Enrollment dayEnrolledMatchedGap censoredReorg censoredMedian, sP90, sCoverage
2026-10-069,5878,7907315515042099.43%
2026-10-079,7709,214544013536099.39%
2026-10-089,7419,144587013539099.42%
2026-10-0910,3489,897443015043699.61%
2026-10-1010,1019,298791013542099.31%
2026-10-119,5478,896636015037699.38%
2026-10-129,5468,848676013536199.43%
Daily matched medians between 135 and 150 seconds and 90th percentiles between 360 and 436 seconds.
Linear-interpolated quantiles of observed matched waits. Each bar starts at zero; daily groups are enrollment days, not block-production days.

The week’s matched-only median was 135 seconds and its 90th percentile was 390 seconds. Daily medians varied from 135 to 150 seconds, and daily 90th percentiles from 360 to 436 seconds. The longest qualified matched wait was 1,306 seconds, or 21 minutes and 46 seconds. Those endpoints describe this sample; none is a maximum that a future payment must obey.

The 64,087 matched records reference 3,253 distinct confirming block hashes. Transactions in a block share an inclusion event, so treating all 64,087 waits as independent experiments would exaggerate the evidence. We do not attach a population confidence interval or infer a fee-versus-speed ranking: this dataset stores neither transaction fee rates nor virtual sizes.

Use the observations without turning them into an invoice rule

Suppose an invoice expires at 10:15:00 UTC. A sender reports broadcast at 10:14:40, while the receiver’s node first sees the payment at 10:15:08. That fictional example has two clocks before a confirmation is even discussed. The invoice-clock case I03 lets you replay it. Our measurement starts at the node’s first sighting; it cannot establish the sender’s broadcast time, payment-service credit time or the merchant’s acceptance decision.

For your own transfer, use the transaction checker to inspect the public transaction and recipient output, then check the receiving service’s actual terms. The updated confirmation page shows a threshold table for its newest verified completed-day archive. Its newer window and export time will naturally differ from this frozen report.

Reproduce the report

  1. Download the version 1 package and extract it.
  2. With Python 3.10 or later, run python verify.py.txt. It checks the frozen file checksums, recalculates the report and compares the result with results.json. No network access or additional packages are needed.
  3. To print the calculations separately, run python analyze.py.txt. Compare the full outcome ledger, threshold denominators and daily poll coverage before using individual timing figures.

Individual files: selected cohort CSV, seven-day poll CSV, computed results, boundaries and source archive hashes, analysis code, method and limitations, and SHA-256 checksums. The frozen archive index and seven original manifests are included. Each source ZIP remains linked by its immutable day-specific URL in the snapshot metadata.

Where this study stops

The collector polls one private, pruned, walletless Litecoin Core node at a nominal 15-second interval. Selection uses a fixed txid-prefix rule, roughly one in 16 eligible IDs. It only measures transactions exposed in the node’s public mempool and block lists; private MWEB transfers are not timed individually. A very fast transaction that reaches a block between polls may never enter the cohort, and entries already present at startup or after a gap are excluded from new timing measurements.

Both the start and end are polling observations, not precise broadcast and mining timestamps. Relay delays, the node’s policy and missed intervals influence the sample. The full published collection protocol explains the gap and reorganization rules. These data support an auditable description of one observer’s records. They do not establish irreversible finality, exchange crediting, attack probability or a universal Litecoin payment time.

Method and data

Downloadable data or code · Observed data / replay.

Content review recorded: 2026-10-14. The review record does not identify a separate independent reviewer. An edited date above records an edit, not a new fact-check.

Next scheduled review: 2027-01-12.

Sources saved with the review:

Research records

  • Observed data / replay · Protocol v2 · frozen 6–12 October UTC · release 2026-10-14.1

    One sampled Core node; 68,640 enrolled records. 68,605 aged records in the same 1/5/10-minute comparison. Recorded export 13 October, 00:03:33 UTC; not network-wide speed or payment acceptance.

    By ten minutes, 62,450 of 68,605 aged sampled records had matched inclusions; 4,546 remained unresolved. 99.42% clock coverage did not eliminate 6.42% gap-censored records.

    Method & reproduction · Download data / results · Versioned citation

Report dates identify the evidence cutoff or release. Recalculating an export checks its arithmetic; a model is not an observed outcome.

See the article body for source links and any downloadable materials. Editorial method · Corrections · Report an issue

Jarosław Wasiński
Editor-in-chief · Financial markets and Litecoin education

Editor-in-chief of Litecoin.watch and founder of MyBank.pl. His published work covers foreign exchange, financial education and Litecoin. On Litecoin.watch, his remit includes editorial direction, source transparency and the practical guides and research published by the site.

Background, selected work and editorial responsibility →

Founder of MyBank.plFinancial education and market analysisNamed editorial responsibility