{
  "service": "heartbeat",
  "generated_at": "2026-10-10T11:10:47Z",
  "all_up": false,
  "degraded_by_upstream": [],
  "monitors": [
    {
      "name": "agentmeter-web",
      "kind": "pull",
      "status": "down",
      "status_effective": "down",
      "degraded_by": null,
      "depends_on": [
        "edge-tls"
      ],
      "last_ping": "2026-10-06T11:56:45Z",
      "period_s": 300,
      "grace_s": 600,
      "webhook_set": false,
      "nostr_alerts": false,
      "status_page": "https://golemreach.com/heartbeat/status/agentmeter-web",
      "badge_url": "https://golemreach.com/heartbeat/badge/agentmeter-web.svg",
      "last_alert": {
        "at": "2026-10-10T11:10:28Z",
        "channel": "email_skipped",
        "ok": false,
        "detail": "smtp not configured"
      }
    },
    {
      "name": "apex-data-refresh",
      "kind": "push",
      "status": "up",
      "status_effective": "up",
      "degraded_by": null,
      "depends_on": [],
      "last_ping": "2026-10-10T11:06:06Z",
      "period_s": 300,
      "grace_s": 900,
      "webhook_set": false,
      "nostr_alerts": false,
      "status_page": "https://golemreach.com/heartbeat/status/apex-data-refresh",
      "badge_url": "https://golemreach.com/heartbeat/badge/apex-data-refresh.svg",
      "last_alert": {
        "at": "2026-10-10T11:01:14Z",
        "channel": "email_skipped",
        "ok": false,
        "detail": "smtp not configured"
      }
    },
    {
      "name": "edge-tls",
      "kind": "pull",
      "status": "up",
      "status_effective": "up",
      "degraded_by": null,
      "depends_on": [],
      "last_ping": "2026-10-10T11:10:20Z",
      "period_s": 60,
      "grace_s": 120,
      "webhook_set": false,
      "nostr_alerts": false,
      "status_page": "https://golemreach.com/heartbeat/status/edge-tls",
      "badge_url": "https://golemreach.com/heartbeat/badge/edge-tls.svg",
      "last_alert": {
        "at": "2026-09-03T00:01:33Z",
        "channel": "email_skipped",
        "ok": false,
        "detail": "smtp not configured"
      }
    },
    {
      "name": "egress-trust",
      "kind": "selfcheck",
      "status": "up",
      "status_effective": "up",
      "degraded_by": null,
      "depends_on": [],
      "last_ping": "2026-10-10T11:08:10Z",
      "period_s": 3600,
      "grace_s": 1800,
      "webhook_set": false,
      "nostr_alerts": false,
      "status_page": "https://golemreach.com/heartbeat/status/egress-trust",
      "badge_url": "https://golemreach.com/heartbeat/badge/egress-trust.svg",
      "selfcheck": {
        "overall": "challenged",
        "checked_at": "2026-10-10T11:08:10Z",
        "endpoints": [
          {
            "endpoint": "gemini-models",
            "url": "https://generativelanguage.googleapis.com/v1beta/models",
            "verdict": "challenged",
            "status_code": 403,
            "cf_mitigated": false,
            "tls_ms": 26,
            "last_check": "2026-10-10T11:08:10Z",
            "trend": [
              "challenged",
              "challenged",
              "challenged",
              "challenged",
              "challenged",
              "challenged",
              "challenged",
              "challenged",
              "challenged",
              "challenged",
              "challenged",
              "challenged"
            ]
          },
          {
            "endpoint": "chatgpt-models",
            "url": "https://chatgpt.com/backend-api/models",
            "verdict": "challenged",
            "status_code": 403,
            "cf_mitigated": true,
            "tls_ms": 27,
            "last_check": "2026-10-10T11:08:10Z",
            "trend": [
              "challenged",
              "challenged",
              "challenged",
              "challenged",
              "challenged",
              "challenged",
              "challenged",
              "challenged",
              "challenged",
              "challenged",
              "challenged",
              "challenged"
            ]
          },
          {
            "endpoint": "claude-oauth-token",
            "url": "https://platform.claude.com/v1/oauth/token",
            "verdict": "trusted",
            "status_code": 405,
            "cf_mitigated": false,
            "tls_ms": 13,
            "last_check": "2026-10-10T11:08:10Z",
            "trend": [
              "trusted",
              "trusted",
              "trusted",
              "trusted",
              "trusted",
              "trusted",
              "trusted",
              "trusted",
              "trusted",
              "trusted",
              "trusted",
              "trusted"
            ]
          },
          {
            "endpoint": "claude-session",
            "url": "https://claude.ai/api/auth/session",
            "verdict": "challenged",
            "status_code": 403,
            "cf_mitigated": true,
            "tls_ms": 17,
            "last_check": "2026-10-10T11:08:10Z",
            "trend": [
              "challenged",
              "challenged",
              "challenged",
              "challenged",
              "challenged",
              "challenged",
              "challenged",
              "challenged",
              "challenged",
              "challenged",
              "challenged",
              "challenged"
            ]
          }
        ]
      },
      "last_alert": {
        "at": "2026-09-03T00:01:33Z",
        "channel": "email_skipped",
        "ok": false,
        "detail": "smtp not configured"
      }
    },
    {
      "name": "golemreach-apex",
      "kind": "pull",
      "status": "up",
      "status_effective": "up",
      "degraded_by": null,
      "depends_on": [
        "edge-tls"
      ],
      "last_ping": "2026-10-10T11:10:20Z",
      "period_s": 300,
      "grace_s": 600,
      "webhook_set": false,
      "nostr_alerts": false,
      "status_page": "https://golemreach.com/heartbeat/status/golemreach-apex",
      "badge_url": "https://golemreach.com/heartbeat/badge/golemreach-apex.svg",
      "last_alert": {
        "at": "2026-09-03T00:01:33Z",
        "channel": "email_skipped",
        "ok": false,
        "detail": "smtp not configured"
      }
    },
    {
      "name": "judge-r1",
      "kind": "push",
      "status": "new",
      "status_effective": "new",
      "degraded_by": null,
      "depends_on": [],
      "last_ping": null,
      "period_s": 300,
      "grace_s": 300,
      "webhook_set": false,
      "nostr_alerts": false,
      "status_page": "https://golemreach.com/heartbeat/status/judge-r1",
      "badge_url": "https://golemreach.com/heartbeat/badge/judge-r1.svg"
    },
    {
      "name": "judge-r1-3600",
      "kind": "push",
      "status": "down",
      "status_effective": "down",
      "degraded_by": null,
      "depends_on": [],
      "last_ping": "2026-08-26T03:49:31Z",
      "period_s": 3600,
      "grace_s": 300,
      "webhook_set": false,
      "nostr_alerts": false,
      "status_page": "https://golemreach.com/heartbeat/status/judge-r1-3600",
      "badge_url": "https://golemreach.com/heartbeat/badge/judge-r1-3600.svg",
      "last_alert": {
        "at": "2026-08-26T03:47:53Z",
        "channel": "email_skipped",
        "ok": false,
        "detail": "smtp not configured"
      }
    },
    {
      "name": "judge-r3",
      "kind": "push",
      "status": "down",
      "status_effective": "down",
      "degraded_by": null,
      "depends_on": [],
      "last_ping": "2026-08-26T04:12:10Z",
      "period_s": 3600,
      "grace_s": 300,
      "webhook_set": false,
      "nostr_alerts": false,
      "status_page": "https://golemreach.com/heartbeat/status/judge-r3",
      "badge_url": "https://golemreach.com/heartbeat/badge/judge-r3.svg",
      "last_alert": {
        "at": "2026-08-26T04:12:10Z",
        "channel": "email_skipped",
        "ok": false,
        "detail": "smtp not configured"
      }
    },
    {
      "name": "judge-r3-priv-a",
      "kind": "push",
      "status": "new",
      "status_effective": "new",
      "degraded_by": null,
      "depends_on": [],
      "last_ping": null,
      "period_s": 7200,
      "grace_s": 300,
      "webhook_set": false,
      "nostr_alerts": false,
      "status_page": "https://golemreach.com/heartbeat/status/judge-r3-priv-a",
      "badge_url": "https://golemreach.com/heartbeat/badge/judge-r3-priv-a.svg"
    },
    {
      "name": "ogforge-web",
      "kind": "pull",
      "status": "up",
      "status_effective": "up",
      "degraded_by": null,
      "depends_on": [
        "edge-tls"
      ],
      "last_ping": "2026-10-10T11:10:28Z",
      "period_s": 300,
      "grace_s": 600,
      "webhook_set": false,
      "nostr_alerts": false,
      "status_page": "https://golemreach.com/heartbeat/status/ogforge-web",
      "badge_url": "https://golemreach.com/heartbeat/badge/ogforge-web.svg",
      "last_alert": {
        "at": "2026-09-05T15:06:47Z",
        "channel": "email_skipped",
        "ok": false,
        "detail": "smtp not configured"
      }
    },
    {
      "name": "pathwren-edge",
      "kind": "pull",
      "status": "new",
      "status_effective": "new",
      "degraded_by": null,
      "depends_on": [],
      "last_ping": null,
      "period_s": 900,
      "grace_s": 900,
      "webhook_set": false,
      "nostr_alerts": false,
      "status_page": "https://golemreach.com/heartbeat/status/pathwren-edge",
      "badge_url": "https://golemreach.com/heartbeat/badge/pathwren-edge.svg"
    },
    {
      "name": "play-golemreach-health",
      "kind": "pull",
      "status": "up",
      "status_effective": "up",
      "degraded_by": null,
      "depends_on": [
        "edge-tls"
      ],
      "last_ping": "2026-10-10T11:10:20Z",
      "period_s": 60,
      "grace_s": 120,
      "webhook_set": false,
      "nostr_alerts": false,
      "status_page": "https://golemreach.com/heartbeat/status/play-golemreach-health",
      "badge_url": "https://golemreach.com/heartbeat/badge/play-golemreach-health.svg",
      "last_alert": {
        "at": "2026-09-03T00:01:33Z",
        "channel": "email_skipped",
        "ok": false,
        "detail": "smtp not configured"
      }
    },
    {
      "name": "taskforce-webhook",
      "kind": "push",
      "status": "down",
      "status_effective": "down",
      "degraded_by": null,
      "depends_on": [],
      "last_ping": "2026-08-26T13:35:49Z",
      "period_s": 86400,
      "grace_s": 3600,
      "webhook_set": false,
      "nostr_alerts": false,
      "status_page": "https://golemreach.com/heartbeat/status/taskforce-webhook",
      "badge_url": "https://golemreach.com/heartbeat/badge/taskforce-webhook.svg",
      "last_alert": {
        "at": "2026-08-26T13:35:49Z",
        "channel": "email_skipped",
        "ok": false,
        "detail": "smtp not configured"
      }
    },
    {
      "name": "toku-webhook",
      "kind": "push",
      "status": "down",
      "status_effective": "down",
      "degraded_by": null,
      "depends_on": [
        "gate:fleet-stop"
      ],
      "last_ping": "2026-09-05T00:11:42Z",
      "period_s": 86400,
      "grace_s": 86400,
      "webhook_set": false,
      "nostr_alerts": false,
      "status_page": "https://golemreach.com/heartbeat/status/toku-webhook",
      "badge_url": "https://golemreach.com/heartbeat/badge/toku-webhook.svg",
      "last_alert": {
        "at": "2026-09-07T00:11:50Z",
        "channel": "email_skipped",
        "ok": false,
        "detail": "smtp not configured"
      }
    },
    {
      "name": "trustlayer-web",
      "kind": "pull",
      "status": "up",
      "status_effective": "up",
      "degraded_by": null,
      "depends_on": [
        "edge-tls"
      ],
      "last_ping": "2026-10-10T11:10:30Z",
      "period_s": 300,
      "grace_s": 600,
      "webhook_set": false,
      "nostr_alerts": false,
      "status_page": "https://golemreach.com/heartbeat/status/trustlayer-web",
      "badge_url": "https://golemreach.com/heartbeat/badge/trustlayer-web.svg",
      "last_alert": {
        "at": "2026-10-10T09:18:08Z",
        "channel": "email_skipped",
        "ok": false,
        "detail": "smtp not configured"
      }
    }
  ],
  "gates": [
    {
      "name": "fleet-stop",
      "state": "run",
      "updated_at": "2026-08-26T09:45:38Z"
    },
    {
      "name": "heartbeat-babysitter",
      "state": "run",
      "updated_at": "2026-08-26T09:51:40Z"
    }
  ],
  "watch_graphs": {
    "field": "depends_on",
    "accepts": [
      "monitor names",
      "gate:<gate-name> entries"
    ],
    "max_parents": 5,
    "semantics": "when a parent monitor is DOWN or a gate parent is HALT, every dependent is immediately alerted as DEGRADED and its own silence paging is suppressed until the root recovers; transitive through the whole graph; cycles are rejected at creation; status_effective carries the degraded state, status stays the monitor's own. Suppression edge case, stated plainly: if a degraded dependent's OWN pings also stop, its timeout is recorded (down_suppressed event on the status page history) but it does NOT page until the upstream recovers; a monitor that went DOWN before its parent did pages normally"
  },
  "update_depends_on": {
    "method": "POST",
    "path": "https://golemreach.com/heartbeat/api/monitors/update",
    "auth": "this monitor's secret \"key\" (the key is the account) or admin_token + name",
    "body": "{\"key\":\"<your-key>\",\"depends_on\":[\"edge\",\"gate:fleet-stop\"]}"
  },
  "self_serve_gate": {
    "method": "POST",
    "path": "https://golemreach.com/heartbeat/api/gates/self-serve",
    "fields": [
      "name (required)",
      "notify_npub npub1-or-hex (optional, encrypted DM on every flip)"
    ],
    "check": "https://golemreach.com/heartbeat/gate/<key> -> 200 RUN / 503 HALT + JSON reason",
    "flip": {
      "method": "POST",
      "path": "https://golemreach.com/heartbeat/api/gates/flip",
      "body": "{\"key\":\"...\",\"action\":\"halt\"|\"run\",\"reason\":\"...\"}"
    },
    "limits": {
      "free_gates_total": 100,
      "shared_with_monitor_creation_rate_limits": true
    }
  },
  "mcp": {
    "endpoint": "https://golemreach.com/heartbeat/mcp",
    "transport": "streamable-http (JSON-RPC 2.0 over POST)",
    "tools": [
      "create_heartbeat",
      "ping_heartbeat",
      "record_failure",
      "list_heartbeats",
      "get_status"
    ],
    "registry": "io.github.aniripsaretro-max/golemreach-heartbeat"
  },
  "self_serve_create": {
    "method": "POST",
    "path": "https://golemreach.com/heartbeat/api/monitors/self-serve",
    "fields": [
      "name (required)",
      "kind push|pull",
      "period seconds 60-86400",
      "grace seconds 0-86400",
      "target url (pull)",
      "webhook url (optional)",
      "depends_on parents: monitor names and/or gate:<name> (optional, watch-graph cascade alerts)",
      "nostr npub1-or-hex (optional, NIP-17 encrypted DM alerts)",
      "nostr_public 1|true (optional, public kind-1 obituary note on DOWN)",
      "unlisted 1|true (optional, hide from public dashboard/API lists \u2014 direct /status/<name> links keep working)"
    ],
    "webhook_payload": "POST JSON {\"monitor\",\"state\",\"detail\",\"ts\",\"dashboard\"} on every state flip; single attempt, no retry \u2014 delivery outcome is visible per monitor in last_alert here",
    "nostr_payload": "NIP-17 gift-wrapped DM, subject 'Heartbeat <name> is <state>'; best-effort, webhooks remain the SLA-grade channel",
    "limits": {
      "free_monitors_total": 100,
      "creations_per_hour_per_ip": 5,
      "creations_per_day_per_ip": 10
    }
  },
  "billing": {
    "model": "prepaid 31-day Pro pass, USDC on Base, no account",
    "price_usdc": 5.0,
    "receiver": "0xEBb7082123E384F6ac21Cf0852AEA3C762F7f4b5",
    "buy": "https://golemreach.com/heartbeat/api/billing/verify POST {\"tx\":\"0x...\"}",
    "check_pass": "https://golemreach.com/heartbeat/api/billing/status?pass_key=...",
    "pricing_page": "https://golemreach.com/heartbeat/pricing",
    "pro_unlocks": [
      "no creation rate limits",
      "1000-monitor pool"
    ]
  }
}