Know your signup and checkout work before your customers do

Mystra is revenue-path monitoring for web apps. After every deploy it signs up to your app in a real browser, reaches checkout and checks that access unlocked. When something breaks, you get proof, not a guess.

Try the live demo
Free to start · no card · first run in under 5 minutes
The Mystra dashboard: 24 runs in the last 7 days, two broken at the pay step with the failing request as proof

How it works

A real signup and payment, on every deploy

Mystra doesn't ping your homepage. It walks the path a paying customer takes, in a real browser with its own inbox, and only alerts you when it can prove something broke.

The add-app wizard showing the DNS record to add: type TXT, name _mystra.app.example.com, value mystra-verify=7d8522ce

01

Verify your app

Prove you own the domain, pick the path to test and paste your deploy webhook. Mystra never runs against an app you haven't verified.

A run's four steps in Mystra: signup, welcome email after 10.6 s, Stripe Checkout reached for $49.00 a month without paying, and the paid area still gated

02

Behaves like a real customer

On every deploy or on a schedule, the runner creates a fresh account, waits for the welcome email in its own inbox, pays, and checks the plan actually unlocked.

The alert as sent to Slack: email is broken in production, no welcome email within 2 min, with the run's screenshot, video and HAR attached

03

Alerts only with proof

Broken means evidence: a 5xx, a timeout, an email that never came, access that stayed locked. Flaky or uncertain steps show in the report but never wake you up.

In one paragraph

What Mystra is

Mystra is revenue-path monitoring for web apps: after every deploy, and on a schedule between deploys, a real scripted Chrome browser signs up to your product with a fresh throwaway account, waits for your welcome or magic-link email and follows it, presses your upgrade button until it reaches Stripe Checkout, and then confirms that the paid area is still closed to an account that has not paid. No card is typed and nothing is charged, so the same check is safe on live Stripe keys. It differs from uptime monitoring, which only confirms a page answered, and from generic synthetic monitoring, which does not know what a signup, a welcome email or a paywall is. Every run keeps a screenshot per step, a video, a HAR network capture and the console log. Mystra alerts only when it can prove a step broke: a 5xx, a timeout, an email that never arrived, or a paywall that opened without payment. A step that fails once and passes on retry is marked flaky and wakes nobody.

Read how a run works or how to test Stripe Checkout without paying.

Why Mystra

Built so you can trust the alert

Uptime checks tell you the homepage loaded. Mystra tells you whether a customer could sign up and pay, and shows you the evidence when they couldn't.

A run report in Mystra: the four steps with their timings beside the evidence panel holding four screenshots and a 40 second video

Every run comes with evidence

Each step is recorded with a screenshot, the network trace and the emails Mystra received, so the report shows what a customer saw, not a summary of it.

The runs list in Mystra: a broken run triggered by deploy f30e019, refactor: checkout session, above runs from the six-hourly schedule

Runs on every deploy

A webhook from your pipeline starts a run the moment you ship, so a broken checkout is caught minutes after the commit, not days.

App settings in Mystra: the welcome email must arrive within 2 min, and every run gets a fresh address at run-{id}@inbox.mystra.run

Its own inbox

Mystra receives the emails your app sends, follows magic links and confirmations, and flags the ones that never arrive.

A run marked uncertain at pay after two retries, with a note that it was not alerted because only broken runs with proof alert

Flaky isn't broken

A step that fails once and passes on retry is marked flaky, not broken. Both attempts are kept, and you're only paged when it fails twice.

An app's wiring in Mystra: domain verified by TXT record since Aug 11, deploy hook, schedule and alerts all checked off

Only apps you own

No run starts until you've proven the domain is yours. There's no override, which is what keeps Mystra a monitor and not an abuse tool.

Pricing

Pay for runs, not seats

Every plan includes the full evidence on every run and alerts only with proof. Start free and upgrade when you want a schedule or more apps.

Free

See the first proof on your own app. No card.

$0/ month

1 app · 25 runs / month

  • Signup, email, payment and access checks
  • Screenshots, video, HAR and console log on every run
  • Slack, email and webhook alerts, only with proof
  • Runs on deploy and on demand
  • 7-day run history · 1 GB of evidence

Starter

Up to three apps, checked after every deploy and on a schedule.

$29/ month

3 apps · 500 runs / month

  • Signup, email, payment and access checks
  • Screenshots, video, HAR and console log on every run
  • Slack, email and webhook alerts, only with proof
  • Runs on deploy, on a schedule and on demand
  • 7-day run history · 2 GB of evidence
Recommended

Pro

Several apps, checked as often as every 15 minutes.

$79/ month

10 apps · 3,000 runs / month

  • Everything in Starter
  • Up to 10 apps
  • 3,000 runs a month
  • 90-day run history · 10 GB of evidence

Prices in USD, billed monthly, cancel any time. A run is one walk of the whole path on one app. Full pricing details

FAQ

Questions people ask before their first run

Short answers to the things that matter when a tool gets to touch your checkout.

Something else? Email us

It creates one throwaway account per run and only follows the steps you configured: signup, the welcome email, your upgrade button, the paid area. It never signs in as a real user, never deletes anything, and never calls an endpoint outside that path. Evidence is private to your account unless you create a share link, and it expires on the retention schedule you see in Evidence.

Get started

Find out before your customers do

Verify your domain, paste the deploy webhook, and the first run is on its way. If it finds something, you'll get proof; if it doesn't, you'll sleep better.

See a sample run

No card required · first run in under 5 minutes