Use case · GPS fleets & telematics · Patent Pending

GPS Fleet Time Anchoring & Drift Detection

GPS trackers drift. Cellular gateways buffer. By the time a geofence event reaches your database, "when did this actually happen?" has three different answers. temporalBLOCK gives your fleet one certified time anchor over plain HTTPS — no atomic clock, no PTP hardware — and stores every event with a Spiral coordinate you can query by time-of-day phase.

Forward Traccar events straight into the event store

Running a self-hosted Traccar server? Point its event forwarding at /api/v1/ingest/traccar. Each geofence entry/exit and motion event becomes a tracked-object event — Spiral-stamped server-side at the device's fix time, tenant-scoped to your account, with latitude/longitude preserved. Re-delivered events are idempotent, and unmapped housekeeping events are acknowledged without creating junk rows. Standard tier or higher.

# Point your Traccar server's event forwarding (JSON mode) at
# temporalBLOCK. Each geofence or motion event is Spiral-stamped
# server-side at the device's fix time and stored under your account.

# traccar.xml
<entry key='event.forward.enable'>true</entry>
<entry key='event.forward.url'>
  https://api.temporalblock.com/api/v1/ingest/traccar
</entry>
<entry key='event.forward.header'>X-API-Key: YOUR_KEY</entry>

# Mapping: geofenceEnter → enter · geofenceExit → exit
#          deviceMoving → move  · deviceStopped → dwell
# Everything else is acknowledged and skipped — no retry storms.

Detect device clock drift without atomic hardware

The SDK's ClockAnchor helper samples the public anchored-now endpoint on an interval, applies the classic RTT-midpoint correction, and tracks the trend: the current offset between the device clock and the NTP/NTS-disciplined server anchor, a confidence radius bounded by observed round-trip time, and a drift rate in parts-per-million. Alert when a tracker's clock starts running away — before its timestamps poison your event history.

import { ClockAnchor } from "temporalblock";

// Estimate each device's clock offset against the disciplined server
// anchor — RTT-midpoint corrected, with a drift trend in ppm.
const anchor = new ClockAnchor({
  baseUrl: "https://api.temporalblock.com/api",
  intervalMs: 30_000,
  onSample: (sample, state) => {
    if (state.driftPpm !== null && Math.abs(state.driftPpm) > 50) {
      console.warn("clock drifting:", state.driftPpm.toFixed(1), "ppm");
    }
  },
});
anchor.start();

// Timestamp outgoing GPS fixes with the corrected clock:
const fixTime = anchor.correctedNow();

Honest limits: this is a software estimate over ordinary HTTPS — typically tens of milliseconds of confidence. It is built for drift detection and fleet-level consistency, not for hard-real-time control or sub-microsecond envelopes. For those, dedicated deployments offer PTP hardware timestamping.

Query fleet history by time-of-day phase

Stored events land in the same store as Vision Block tracking events, so GET /v1/events (Pro+) works out of the box — including the Spiral-proximity scan. Ask "show me every geofence entry that happened around this time of day in the last month" with a single query: the hr rung cycles once per day, so anchoring on it filters by time-of-day phase across calendar days.

// Query stored fleet events back — including a Spiral-proximity scan
// for "same time-of-day" recurrences across days (Pro+).

const res = await fetch(
  "https://api.temporalblock.com/api/v1/events?" +
    new URLSearchParams({
      fromCoord: String(Date.now() - 30 * 86_400_000),
      toCoord: String(Date.now()),
      proximityAnchorMs: String(Date.now()),
      proximityRungs: "hr",        // hr rung cycles once per day
      proximityTolerance: "0.02",  // ±~29 minutes of time-of-day
    }),
  { headers: { "X-API-Key": process.env.TBLK_API_KEY } }
).then((r) => r.json());

// Each item carries the device id (actorNames.actor1), the event type
// (actorNames.actor2), geo lat/lon, and the stored Spiral coordinate.
Fleet patterns that benefit most
  • Geofence audit trails — every enter/exit stored with a certified stamp at the device's fix time, idempotent under webhook retries.
  • Drift-based maintenance flags — a tracker whose offset trend exceeds a ppm threshold gets flagged before its data becomes unusable.
  • Recurring-pattern analysis — proximity queries surface same-time-of-day or same-weekday recurrences without date arithmetic.
  • Mixed fleets — Traccar-forwarded events and direct Vision Block trackingEvents share one store, one tenant scope, one query surface.

Anchor your fleet today

The anchored-now endpoint and ClockAnchor helper work on every tier. Traccar ingest requires Standard or higher; event queries require Pro. No credit card to start.

Join the waitlist

Related

Temporal Spiral is patent pending — U.S. Provisional Application No. 64/065,213 (filed 2026-05-14).