All systems operational
Last checked 3 minutes ago. Checks run every 5 minutes.
Components
A real storefront page is rendered inside the worker, and a key is written to and read back from the edge cache.
The admin API answers a request without credentials with the expected refusal, which proves the panel’s API is alive.
A read-only call to the Stripe API. No charge is ever created by the check.
A row is written to and read back from the database that stores orders.
A read-only call to the email service’s API, which also reports how many messages bounced or were marked as spam. No email is sent by the check.
A small object is written to object storage and read back with a HEAD request.
A read-only call to the Cloudflare API that issues and renews the certificates.
The public versioned API answers a request with an invalid token with the expected refusal.
The scheduled runner writes a heartbeat; the check looks at how long ago that happened.
Subscribe to updates
One email when an incident is opened, updated or resolved. We send a confirmation link first, and every email has an unsubscribe link.
What we measure, and how
Nothing on this page is switched by hand. Every 5 minutes the platform runs a real check against each component from inside our own infrastructure and records whether it worked and how long it took.
- Storefronts — A real storefront page is rendered inside the worker, and a key is written to and read back from the edge cache.
- Admin panel — The admin API answers a request without credentials with the expected refusal, which proves the panel’s API is alive.
- Checkout and payments — A read-only call to the Stripe API. No charge is ever created by the check.
- Order processing — A row is written to and read back from the database that stores orders.
- Email delivery — A read-only call to the email service’s API, which also reports how many messages bounced or were marked as spam. No email is sent by the check.
- Images and files — A small object is written to object storage and read back with a HEAD request.
- Custom domains and SSL — A read-only call to the Cloudflare API that issues and renews the certificates.
- API and webhooks — The public versioned API answers a request with an invalid token with the expected refusal.
- Background jobs — The scheduled runner writes a heartbeat; the check looks at how long ago that happened.
A single failed check never changes the page: a component is marked as degraded only after two failed checks in a row, and as an outage after four. It goes back to operational after three successful checks. On top of that we look at the share of failed requests that real visitors get, so a component can be marked degraded even when our own check passes.
Uptime is the share of successful checks over the period, rolled up per day. Days before we started measuring, or checks for a service that is not configured, are shown as “no data” and do not count. Times are in UTC. This page never shows store names, customer data or internal error messages.
No incidents reported in the last 90 days.