Ephemera

ephemera.space
built 2026-11-03 02:30 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 1df076d68cde, first seen 2026-11-02 22:58 UTC, scored 2026-11-02 23:14 UTC against the public catalogue snapshot fetched 2026-11-02 21:05 UTC (12,999 element sets).

At the first instant of each operator file, the public catalogue puts 81% of the scored Starlink satellites within 10 km of where the operator says they are. The middle satellite is 2.5 km away, with the public information a median of 13 hours old. Where the public information is two to three days old, the two predictions are about 42 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.

11 satellites (0.1%) 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.

1 km3 km10 km30 km1.36-12 h4,8983.712-24 h18,06915.024-48 h43,66842.448-72 h44,25387.2over 72 h33,576
Median separation between the two predictions, by how old the public catalogue's information was. Log scale; the second line under each point is how many comparisons it holds. Cycle 1df076d68cde, scored 2026-11-02 23:14 UTC.
The same curve as numbers, for cycle 1df076d68cde. Scored 2026-11-02 23:14 UTC.
element agecomparisons median km90th pct km within 10 kmwithin 30 km
set newer than epoch42.53.6100%100%
0-6 h391.56.2100%100%
6-12 h4,8981.37.493%98%
12-24 h18,0693.715.682%95%
24-48 h43,66815.061.337%74%
48-72 h44,25342.4156.019%38%
over 72 h33,57687.2308.512%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.

By altitude shell. The lowest shell is where satellites are being raised and lowered, so its spread is the widest.
shellcomparisonsmedian kmwithin 10 km
under 400 km12,910144.217%
400-500 km128,31521.735%
500-600 km3,28214.145%

Feed health for this cycle. 11,183 of 11,210 operator files scored. 27 have no entry in the public catalogue, all of them new satellites the catalogue has not numbered yet. Nothing else was dropped. Public element sets were a mean of 15.0 h old when the snapshot was taken (median 13.1 h, 90th percentile 25.6 h, 2 over 72 h). Averaged over every comparison, which run out to three days into the operator file, element age is 51.1 h: the difference is the file's own prediction horizon, not catalogue staleness. Space-Track: 616 snapshots held, last fetched 2026-11-03 01:10 UTC with 12,999 element sets. Poller heartbeat coverage over the last 24 h: 100.0%.