Skip to content

Status Page

Real-time platform status and incident tracking for TokenBot services.


The TokenBot Status Page provides real-time visibility into the health of all platform services. Check it when you suspect an issue or want to verify that everything is running smoothly.

URL: status.tokenbot.com


The status page monitors six services across two groups:

ServiceHealth EndpointDescription
REST API/v1/healthPrimary REST API for all platform operations
GraphQL API/healthGraphQL API for dashboard and advanced queries
Webhooks Service/healthWebhook delivery and event processing
ServiceHealth EndpointDescription
User Dashboard/api/healthMain user-facing web application
Admin Dashboard/api/healthAdmin management panel
Landing PageRoot URLMarketing and public-facing site

Each service shows a real-time status indicator:

  • 🟢 Operational — Service is healthy and responding normally
  • 🟡 Degraded — Service is responding but with reduced performance
  • 🔴 Down — Service is unavailable
  • ⚪ Unknown — Status could not be determined

Response latency (in milliseconds) is displayed for each service.


The status page tracks uptime history for the past 90 days (configurable up to 365 days).

A visual bar chart displays daily uptime with color-coded indicators:

ColorUptimeMeaning
Green≥ 99.9%Excellent
Light Green≥ 99.0%Good
Yellow≥ 95.0%Fair
Orange≥ 90.0%Poor
Red< 90.0%Critical

Hover over any day to see the exact date, uptime percentage, and incident count.

A total uptime percentage is calculated across the entire tracked period.

  • Daily uptime records are stored in Vercel KV
  • Each status API check automatically records a data point
  • Records have a 95-day TTL
  • When KV is not configured, the page defaults to 100% uptime

  • Incident — Unplanned service disruption
  • Maintenance — Scheduled maintenance window with countdown display
  • Critical — Major outage affecting core functionality
  • Major — Significant degradation of one or more services
  • Minor — Limited impact, workaround available

Incidents follow a defined status flow:

  1. Investigating — Issue detected, root cause being analyzed
  2. Identified — Root cause found, fix in progress
  3. Monitoring — Fix deployed, monitoring for stability
  4. Resolved — Incident closed

The main page shows:

  • Active incident count banner
  • Incident cards with severity and status badges
  • Affected services listed as tags
  • Latest update preview with relative timestamps (“5m ago”, “2h ago”)
  • Link to view full incident history

Incidents are defined as markdown files with frontmatter metadata, supporting rich update history parsed from markdown headers.


Upcoming maintenance windows are displayed with:

  • Countdown timer until maintenance begins
  • Expected duration
  • Affected services
  • Description of the work being performed

The status page exposes several API endpoints for programmatic access.

Basic health check for the status page itself.

{
"status": "healthy",
"service": "status-page",
"version": "1.0.0",
"timestamp": "2025-03-29T12:00:00.000Z"
}

Checks all monitored services in parallel and returns their current state.

{
"overall": "operational",
"services": [
{
"id": "rest-api",
"name": "REST API",
"description": "...",
"status": "operational",
"latency": 45,
"lastCheck": "2025-03-29T12:00:00.000Z",
"group": "API Services"
}
],
"lastUpdated": "2025-03-29T12:00:00.000Z"
}

The overall field is one of: operational, degraded, or down.

Fetch incidents with optional filtering.

ParameterValuesDefaultDescription
typeactive, maintenance, recent, allallFilter by incident category
limit1–10010Max results for recent type
  • type=active — Unresolved incidents only
  • type=maintenance — Upcoming or in-progress scheduled maintenance
  • type=recent — Recently resolved incidents (use limit to control count)
  • type=all — All three categories combined

Fetch daily uptime history.

ParameterValuesDefaultDescription
days1–36590Number of days of history
{
"days": [
{
"date": "2025-03-29",
"uptime": 99.98,
"checks": 288,
"failures": 0
}
],
"totalUptime": 99.95,
"period": 90
}

Use the API endpoints to integrate status checks into your own monitoring:

Terminal window
# Quick health check
curl -s https://status-page-blond.vercel.app/api/health | jq .status
# Get overall platform status
curl -s https://status-page-blond.vercel.app/api/status | jq .overall
# Check for active incidents
curl -s "https://status-page-blond.vercel.app/api/incidents?type=active" | jq .
# Get 30-day uptime history
curl -s "https://status-page-blond.vercel.app/api/uptime?days=30" | jq .totalUptime

  • Trades aren’t copying as expected
  • Dashboard is slow or unresponsive
  • Webhook deliveries are delayed
  • Before reporting an issue — it might already be known

The status page maintains a full history of past incidents, including:

  • What happened
  • When it was detected
  • How it was resolved
  • Duration of impact