Service status
Probes run every 5 minutes via Upptime — a free, GitHub-Actions-based status-page. Component health is committed to a public repo so the history is auditable. Full Statuspage.io integration is a post-revenue migration documented in docs/operations/STATUS_PAGE_RUNBOOK.md.
Live status
→ Open https://status.cryptoai-gateway.com
Day-0 probes (4 of 7)
| Component | Probe | Cadence |
|---|---|---|
| Public REST API | GET /v1/public/stats | 5 min |
| Liveness probe | GET /v1/health/live | 5 min |
| OpenAPI snapshot | GET /openapi.json (this portal) | 5 min |
| Developer Portal | GET / | 5 min |
M6+ probes (deferred)
- WebSocket Gateway — synthetic WS connect
- OAuth —
POST /oauth/v1/tokenclient_credentials probe - MT5 Gateway — UDP heartbeat (port 39501)
- Smart Contracts — per-chain
eth_call
Incident comms
Per TZ-10 §13.6.2 — Statuspage incident published within 5 min of P0/P1 alert; updates every 30 min minimum; postmortem within 5 business days for P0/P1. Comms templates skeleton (English/Russian/Chinese) live in docs/operations/STATUS_PAGE_RUNBOOK.md.
Canary state (M7-S3)
Logical canary drill per TZ-7 §3.10 (Day-0 doctrine; real Argo Rollouts deferred to M8+). State is operator-token-gated: to see live state, append?canary_token=<token> to this URL. Without the token, the panel renders "no active canary". ThePOST /v1/admin/canary/start endpoint (HMAC-protected) opens a drill; GET /v1/admin/canary/status reads current state. See docs/operations/CANARY_DEPLOYMENT_RUNBOOK.md for the operator procedure.
Canary auto-rollback fires when ≥ 50% of synthetic probes fail across a soak window. Operator can manually abort viaPOST /v1/admin/canary/abort. Master plan §M7 line 414 deliverable: ≥ 1 successful canary auto-rollback drill — satisfied by gh workflow run canary-drill.yml -f force_rollback=true.