Ephemera

ephemera.space
built 2026-09-17 20:20 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 764fb17cd429, first seen 2026-09-17 12:41 UTC, scored 2026-09-17 14:02 UTC against the public catalogue snapshot fetched 2026-09-17 12:10 UTC (12,865 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.6 km away, with the public information a median of 8 hours old. Where the public information is two to three days old, the two predictions are about 37 km apart. Both sides are predictions, and most of that spread is planned trajectory changes the public catalogue cannot know about.

Everyone outside SpaceX sees Starlink through the public catalogue of orbital elements. Ephemera takes that public element set for each satellite, propagates it with SGP4, and compares it against the operator's own published trajectory for the same satellite at the same instants. The distance between the two is what this measures. It is not an error of the satellite, and it is not a statement about which side is right.

56 satellites (0.5%) 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.50-6 h3,3592.86-12 h7,5676.512-24 h18,39416.124-48 h42,76137.048-72 h43,71150.0over 72 h27,880
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 764fb17cd429, scored 2026-09-17 14:02 UTC.
The same curve as numbers, for cycle 764fb17cd429. Scored 2026-09-17 14:02 UTC.
element agecomparisons median km90th pct km within 10 kmwithin 30 km
0-6 h3,3591.58.991%98%
6-12 h7,5672.811.888%97%
12-24 h18,3946.526.163%91%
24-48 h42,76116.172.041%68%
48-72 h43,71137.0156.531%47%
over 72 h27,88050.0270.525%45%

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,51973.123%
400-500 km122,24714.842%
500-600 km8,9067.955%

Feed health for this cycle. 11,123 of 11,123 operator files scored. 0 have no entry in the public catalogue; 0 marked decayed; 0 failed to propagate; 0 unreadable; 0 no longer matching the record. Public element sets were a mean of 14.2 h old when the snapshot was taken (median 10.0 h, 90th percentile 28.5 h, 41 over 72 h). Averaged over every comparison, which run out to three days into the operator file, element age is 48.4 h: the difference is the file's own prediction horizon, not catalogue staleness. Space-Track: 161 snapshots held, last fetched 2026-09-17 20:10 UTC with 12,865 element sets. Poller heartbeat coverage over the last 24 h: 99.2%.