System status
Adswish status
Live readiness checks for the Adswish application and database. This page never exposes API keys or customer data.
Checking systems…
Waiting for the first check
Application
CheckingChecking…
Database
CheckingChecking…
Availability
Measured from Adswish's own health checks over the trailing window.
Last 24 hours
—
Last 7 days
100.0%
Last incident: — recovered.
Auth email delivery
An automated probe signs in by email every hour — if signup and one-time-code emails ever stop sending, this shows it here first.
3 of the last 12 email probes passed.
Payment fee capture
Tracks that Stripe's charge.succeeded webhook is feeding processing-fee data back into the ledger — this is what keeps per-transaction profitability measurable.
No charges in the last 7 days — nothing to capture yet.
Background jobs
Scheduled maintenance — payouts, hold releases, retries, badge refreshes, health probes.
- succeeded:google-ads-kill-switchpaused:0
- succeeded:agent-audit-replaychecked:0 replayed:0 failed:0 pending:0 nonces_deleted:0 resolved_pruned:0 unavailable:false
- succeeded:void-uncharged-holds0 voided of 0 uncharged holds (ok)
- succeeded:saved-search-alerts[object Object]
- succeeded:spyder-pollpolled:0 failed:0 new:0 stopped:0 snapshots:0 skipped:no_token
- succeeded:processing-recharge-remindersent:0 skipped:1
- succeeded:processing-rechargecharged:0 failed:0
- succeeded:idle-pot-refundscanned:0 refunded:0 paused:0 skipped_open:0 skipped_unsettled:0
- succeeded:link-revoke-sweepcampaigns:14 links:0 jtis:0
- succeeded:asa-escalationschecked:0 sent:0
Scheduled jobs registry
Verifies every important background job is actually being scheduled and run — digests, payouts, hold releases, budget pacing, and card-health checks. Amber means it has stopped running recently; grey means it has never run. When a job goes stale or has never run, an automated alert (in-app + email) notifies the administrators — this registry is supervised by its own cron-health sweep.
50 of 50 running · See recent runs ↓
- Deliverable deadlinesevery ≤36h · Running
- Dispute SLA checksevery ≤36h · Running
- Subscription dunningevery ≤36h · Running
- Campaign completion sweepevery ≤36h · Running
- Pixel-penalty enforcementevery ≤6h · Running
- Escrow release (7-day)every ≤36h · Running
- Charge retries / 3DS retryevery ≤36h · Running
- Pre-auth expiry / warningevery ≤36h · Running
- Weekly payoutsevery ≤192h · Running
- Monthly payout invoicesevery ≤768h · Running
- Daily analytics rollupevery ≤30h · Running
- Badge refreshevery ≤36h · Running
- OAuth token refreshevery ≤36h · Running
- Follower-count monthly recheckevery ≤768h · Running
- Uptime-monitor alertingevery ≤36h · Running
- Health alertingevery ≤36h · Running
- Auth email health probeevery ≤36h · Running
- Website verification recheckevery ≤36h · Running
- Net-margin invariant checkevery ≤36h · Running
- Dead-control monitor (charge failures)every ≤36h · Running
- Refund-spike anomaly checkevery ≤36h · Running
- Client crash-spike checkevery ≤36h · Running
- Fee-capture webhook healthevery ≤36h · Running
- Charge-failure auto-pauseevery ≤36h · Running
- Onboarding funnel snapshotevery ≤30h · Running
- Stripe balance reconciliationevery ≤36h · Running
- Dying-card nudgesevery ≤36h · Running
- Budget pacing alertsevery ≤36h · Running
- Google Ads campaign syncevery ≤8h · Running
- Google Ads reporting syncevery ≤8h · Running
- Google Ads budget protectionevery ≤2h · Running
- Google Ads A/B thumbnailsevery ≤30h · Running
- Business weekly digestevery ≤192h · Running
- Creator weekly digest + forecastevery ≤192h · Running
- Weekly anomaly digestevery ≤192h · Running
- Weekly admin P&Levery ≤192h · Running
- Cron health alertingevery ≤36h · Running
- Money-path canary (tiny charge→refund)every ≤192h · Running
- Upfront budget capture/renewalevery ≤26h · Running
- Grouped-wallet end refund reconcileevery ≤36h · Running
- Weekly test-backlog digest (wave 1)every ≤192h · Running
- Legal documents quarterly reviewevery ≤192h · Running
- Idle-pot auto-refund (7-day silence)every ≤36h · Running
- Void recorded-but-never-charged holdsevery ≤36h · Running
- Webhook delivery SLAevery ≤36h · Running
- Tracking-link revocation sweepevery ≤36h · Running
- Campaign auto-delistevery ≤36h · Running
- Competitor (Spyder) pollevery ≤36h · Running
- Recover stuck `processing` chargesevery ≤768h · Running
- `processing` charge reminder emailsevery ≤768h · Running
Incident alerting
not configuredNo chat webhook is configured — incidents currently surface only as GitHub issues. Add INCIDENT_SLACK_WEBHOOK or INCIDENT_DISCORD_WEBHOOK as a repository secret to close the loop.
Release pipeline
Every release is canaried: changes land on an isolated staging deployment, get smoke-checked plus a read-only E2E suite, and only reach production after all checks pass. Incidents (auto-rollback, failed canary) are alerted to the team's chat webhooks. This log records what the pipeline actually did — newest first.
On staging (canary)
no canary events yet
On main (production)
83233a22
stale — this deploy runs a different commit
Relationship
no canary in flight
- passed:productionverify83233a22 — main verified live — post-deploy smoke passed against productionrun ↗
- passed:productionverify0ada7373 — main verified live — post-deploy smoke passed against productionrun ↗
- passed:productionverifyc55239c9 — main verified live — post-deploy smoke passed against productionrun ↗
- passed:productionverify6cfd9c00 — main verified live — post-deploy smoke passed against productionrun ↗
- passed:productionverifyec75cdb4 — main verified live — post-deploy smoke passed against productionrun ↗
- passed:productionverifye1423682 — main verified live — post-deploy smoke passed against productionrun ↗
- passed:productionverify2f0811da — main verified live — post-deploy smoke passed against productionrun ↗
- passed:productionverify414465f2 — main verified live — post-deploy smoke passed against productionrun ↗
Business tracking checks, including verified domains, tracking heartbeats, and required UptimeRobot monitors, are available in Tracking settings. See also our Privacy Policy.