no-reply@gal-2.com). Never put keys in URLs; use the x-api-key header.Response will appear here…
curl -i https://api-v2.gal-2.com/status curl -i -H "x-api-key: YOUR_KEY" https://api-v2.gal-2.com/time
{
"gal2_time": "2025-09-17T18:02:47.473461Z",
"utc_time": "2025-09-17T18:02:47.484000Z",
"drift_ms": -7.83,
"base_ms": -7.83,
"wobble_ms": -2.836,
"live_ms": -10.539,
"fractal_factor": 3.761473,
"source": "fractal+secret(hmac)+emma"
}
curl -s -H "x-api-key: YOUR_KEY" https://api-v2.gal-2.com/time | jq
--max-time 3; retry with exponential backoff on 429/5xx.import fetch from "node-fetch";
const res = await fetch("https://api-v2.gal-2.com/time",{ headers:{"x-api-key":process.env.GAL2_KEY}, timeout:3000 });
if (!res.ok) throw new Error(\`HTTP \${res.status}\`);
console.log(await res.json());
import os, requests
r = requests.get("https://api-v2.gal-2.com/time", headers={"x-api-key": os.environ["GAL2_KEY"]}, timeout=3)
r.raise_for_status()
print(r.json())
package main
import ("os";"net/http";"time";"io";"encoding/json";"fmt")
func main(){
req,_ := http.NewRequest("GET","https://api-v2.gal-2.com/time", nil)
req.Header.Set("x-api-key", os.Getenv("GAL2_KEY"))
c := &http.Client{ Timeout: 3 * time.Second }
resp,err := c.Do(req); if err!=nil || resp.StatusCode!=200 { panic("request failed") }
defer resp.Body.Close(); b,_ := io.ReadAll(resp.Body)
var v map[string]any; json.Unmarshal(b,&v)
fmt.Println("gal2_time:", v["gal2_time"], "drift_ms:", v["drift_ms"])
}
drift_ms with events for compliance & reconciliation.wobble_ms/live_ms to detect network issues.// Example: record drift for auditing (Node)
const res = await fetch("https://api-v2.gal-2.com/time",{ headers:{ "x-api-key": process.env.GAL2_KEY }});
const t = await res.json();
await db.insert("time_logs",{ ts: t.gal2_time, drift: t.drift_ms });
| Capability | NTP/PTP | GAL-2™ |
|---|---|---|
| Drift correction | Manual / external | Built-in: drift_ms + jitter metrics |
| Global consistency | Region jitter varies | API-first, cloud-native, consistent surface |
| Audit trail | DIY logging | First-class: log gal2_time + drift_ms |
| Hardware | Often specialized | Zero hardware; works anywhere |
gal2_time + drift_ms with your events.