Operational, with the caveats.
Every subsystem the product depends on, with the operator name and the current state. Honest about which parts we run vs. which parts run on federation infrastructure vs. which parts run on external public goods.
- me.ochk.io · /api/healthliveness — running app + cookie parsing—pending
- auth · /api/auth/me401 with no cookie is correct; 5xx is not—pending
- ochk.io · /.well-known/jwks.jsonpublic Ed25519 JWK every consumer verifies against—pending
- envelope · /api/envelope/[id]404 for unknown id is correct; 5xx is not—pending
- fee policy · /api/platform-fee-policyPLATFORM_FEE_POLICY canonical record—pending
- integrator config · /api/integrator-configsample IntegratorPriceConfig list—pending
| subsystem | operator | role | state |
|---|---|---|---|
me.ochk.io · web | orangecheck | consumer marketing surface and authenticated app | operational |
auth host · ochk.io | orangecheck | oc_session JWT issuance and JWKS publication | operational |
federation custody | guardian set (see /custody) | threshold-signing wallet for non-graduated users | operational |
oc envelope signing | orangecheck | event envelope co-signature for billing reconciliation | operational |
opentimestamps anchor OTS calendar uptime is independent of OC. Anchored events remain valid even during calendar outages. | opentimestamps calendar federation | aggregated event-root anchoring to Bitcoin headers | operational |
nostr relay set redundancy across four independent relays. any one being unreachable is non-degrading. | damus, nostr.band, nos.lol, snort.social | public envelope republication | operational |
lightning settlement | lnbits + amboss-routed cluster | cashback streaming, send/receive flows | operational |
stripe parity rail | stripe | fiat-denominated invoice settlement for integrating sites | operational |
what "degraded" means here
We treat any externally-observable signal that contradicts the user promise as either "degraded" or "incident" — never "operational with caveats." If sat-earning events are published with delay, that's degraded. If they're not published at all, that's an incident.
Anchored events on Bitcoin headers and Nostr-published envelopes do not depend on this status page being up. Even during a full me.ochk.io outage, prior /me/earn entries continue to verify offline against the OC public JWK and Bitcoin block headers.
Subscribe to incident updates by following github.com/orangecheck/oc-me-web/issues for the "incident" label. Public post-mortems land in /changelog.