Your iPhone's clock is "close enough." Prime Time isn't satisfied with that.
Here's the full story — from the NTP query to the digit you see on screen.
Prime Time bypasses your device's internal clock entirely. Instead, it queries NTP (Network Time Protocol) servers directly — the same global infrastructure that keeps the internet synchronized — and calculates the correct time from their responses.
By default, three high-reliability servers are queried in parallel: time.google.com, time.aws.com, and pool.ntp.org. Their answers are fused statistically to produce a single, trustworthy result.
A single server query is subject to momentary congestion, routing asymmetry, and outlier responses. Querying multiple servers simultaneously allows Prime Time to detect and discard anomalous results, then weight the remaining answers by their network latency. The lower the round-trip time, the more trustworthy the response.
The large HH:mm:ss at the top is the NTP-corrected current time. The .000 beneath it is the millisecond component, updating at up to 120 Hz on supported hardware. The thin progress bar below represents the fractional position within the current second — it sweeps from left to right in exactly one second.
GLOBAL OFFSET shows the difference between the NTP-corrected time and your device's internal clock, in seconds. A value close to zero means your device clock happens to be accurate.
σ DEVIATION is the standard deviation of the offset values across all active servers. Smaller is better. The color of this panel reflects overall sync quality.
Server Row Legend
Status dot
T- countdown
INT: Xs
The time between sending an NTP request and receiving the response is called the Round-Trip Time (RTT). The timestamp the server returns reflects the moment the server sent its packet — not the moment you received it. By the time your device reads it, half the RTT has already elapsed.
Prime Time adds RTT ÷ 2 to every server timestamp before using it, compensating for this one-way propagation delay.
iOS's Date() can jump forward or backward when the OS applies a time correction. Prime Time avoids this by using CACurrentMediaTime() — a monotonic clock that counts elapsed seconds since boot without ever being adjusted.
When an NTP result arrives, Prime Time records both the corrected NTP time and the current monotonic value as a pair. Every subsequent display frame computes the current time as:
Each server's answer is assigned a weight inversely proportional to its RTT. A server that responds in 18 ms is weighted more heavily than one that takes 80 ms, because a shorter round-trip implies a smaller and more symmetric propagation uncertainty. Responses that fall outside two standard deviations from the median are discarded before the weighted average is computed.
Prime Time adjusts how often each server is queried based on the stability of its responses. When a server is delivering consistent results, the interval expands — reducing unnecessary traffic. When variance increases, the interval collapses back to the minimum to re-establish a reliable reference quickly.
σ < 5 ms sustained. Interval extends gradually to reduce server load.
σ > 50 ms detected. Interval resets to minimum to re-sync quickly.
Version 1.0 (Current): Prime Time is currently available for free, allowing you to register and query up to 5 NTP servers simultaneously.
Version 2.0 (Upcoming): The app will transition to a paid model. This major update will unlock a higher limit for server registration and introduce refined time-correction algorithms—such as slew-rate control for smoother, jump-free offset convergence.