Ephemera
ephemera.spacebuilt 2026-10-29 18:21 UTC
An archive of the public Starlink ephemerides, hashed and anchored in Bitcoin, with a daily measure of what the public satellite catalogue can see.
What the public catalogue can see
Cycle a80375a03051, first seen 2026-10-29 12:31 UTC, scored 2026-10-29 12:56 UTC against the public catalogue snapshot fetched 2026-10-29 10:35 UTC (12,972 element sets).
At the first instant of each operator file, the public catalogue puts 74% of the scored Starlink satellites within 10 km of where the operator says they are. The middle satellite is 4.4 km away, with the public information a median of 18 hours old. Where the public information is two to three days old, the two predictions are about 47 km apart. Both sides are predictions, and most of that spread is planned trajectory changes the public catalogue cannot know about.
The front page gives the headline. This page is the shape behind it: the same distance broken out by how old the public catalogue's information was, and by altitude shell. Both sides are predictions of the same satellite at the same instant, one from the public element set propagated with SGP4, one from the operator's own published trajectory. It is not an error of the satellite, and it is not a statement about which side is right.
The gap between GP and operator data is a known result, not a finding of mine. In December 2007 a CelesTrak user reported a GPS satellite whose GP element set put it more than 20,000 km from where the operator's own almanac did, and Dr T.S. Kelso confirmed the almanac was right. He had already measured the problem that January (AAS 07-127), and CelesTrak has published supplemental element sets fitted to operator data since January 2008. His 2025 SDA TAP Lab talk tells the story and links the papers.
43 satellites (0.4%) are more than 1,000 km from the public prediction at publication, which is a large part of an orbit. For those the public element set is not on the operator's trajectory at all. Ephemera does not label any separation as a manoeuvre; that needs a detector this project has not built.
| element age | comparisons | median km | 90th pct km | within 10 km | within 30 km |
|---|---|---|---|---|---|
| 0-6 h | 6 | 1.1 | 4.6 | 100% | 100% |
| 6-12 h | 294 | 3.8 | 12.8 | 86% | 96% |
| 12-24 h | 15,353 | 4.7 | 21.4 | 75% | 93% |
| 24-48 h | 43,134 | 17.1 | 76.9 | 32% | 70% |
| 48-72 h | 44,296 | 47.4 | 207.0 | 15% | 34% |
| over 72 h | 41,203 | 90.7 | 417.7 | 11% | 23% |
Element age is how old the public catalogue's information was at the instant compared. It runs larger than catalogue staleness because a single operator file predicts three days ahead, so a comparison late in the file is both further ahead and matched against an older element set. The two effects are not separated within one cycle, which is why the headline uses only the first instant of each file.
| shell | comparisons | median km | within 10 km |
|---|---|---|---|
| under 400 km | 12,177 | 145.9 | 13% |
| 400-500 km | 128,431 | 29.8 | 26% |
| 500-600 km | 3,678 | 13.5 | 44% |
Feed health for this cycle. 11,159 of 11,187 operator files scored. 27 have no entry in the public catalogue, all of them new satellites the catalogue has not numbered yet; 1 failed to propagate. Public element sets were a mean of 19.1 h old when the snapshot was taken (median 18.6 h, 90th percentile 23.9 h, 5 over 72 h). Averaged over every comparison, which run out to three days into the operator file, element age is 55.0 h: the difference is the file's own prediction horizon, not catalogue staleness. Space-Track: 575 snapshots held, last fetched 2026-10-29 16:44 UTC with 12,972 element sets. Poller heartbeat coverage over the last 24 h: 100.0%.