System health · live
Six core services run the MadeOnSol API: the KOL gRPC tracker, the deployer listener, the market cap and price tracker (mc-tracker), the Next.js API server, the self-hosted Supabase database, and the WebSocket streaming process. Health checks run every five minutes and post their results to the public /api/v1/status endpoint. The panel below polls that endpoint live.
Status endpoint GET /api/v1/status·JSON response · 60-second client poll
What we monitor
Coverage of the pipeline — from shred to push.
Tracker · listener · mc-tracker · API · DB · WS
health-monitor cron
Rolling 7-day
WS + webhook event types
Live
Auto-refreshes every 60 seconds. Tap the refresh button for an on-demand check.
Coverage
If something looks degraded above, this maps the impact.
Dual-region gRPC streams that ingest every confirmed Solana swap and Pump.fun deploy. Down means new KOL trades and deployer alerts stop landing — REST history still works.
kol_trackerdeployer_listenerThe Next.js process behind madeonsol.com. Serves REST, the developer dashboard, and the directory site. Down means every authenticated endpoint returns 5xx.
nextjs_appSelf-hosted Supabase Postgres plus the ws-streaming process. Webhook delivery, copy-trade signals, and real-time pushes ride this path.
supabase_dbwebsocketReference
Check cadence
A serverless cron pings each service every five minutes, records a row in system_health_checks, and computes rolling uptime windows. The /api/v1/status response below joins the most-recent row per service plus the 24h and 7d aggregates.
Incident protocol
Major incidents are announced on @MadeOnSolx as they happen. Post-mortems land in the changelog once they're resolved.
Degraded vs. down
Degraded fires on elevated latency (>2× rolling p95) or stale data (a tracker hasn't seen a trade in over 5 minutes). Down means the service didn't respond to the last check at all. Trade quality and KOL coverage on degraded streams can be partial — error-handle accordingly.
Build your own status
GET /api/v1/status requires no key and returns the full structured response. Use it inside your own internal dashboards, paging system, or bot liveness probe.
Keep exploring