When Monito’s errors are free

A run Monito could not finish is not charged. A failed check that found an app bug is charged. The difference is the cause.

pricingverdict

A standard test costs 1 credit. Discovery costs 20. An Advanced test costs 10. That price list is /pricing and the credits command. Two cases settle at 0 credits.

The first onboarding run

Each user gets one onboarding run that is not charged. The wizard says "Your first run is free." Other launches are charged, including a later check that finds a bug in your app.

An error Monito caused

If the run's status is error and any of these is true, the credits charged are 0:

  • evidence was lost
  • the run's provenance does not match
  • the executor reported a platform failure (time limit, model provider, harness)
  • a local tunnel never connected

The report's cause line for that is Monito's error — not charged, or Check didn’t start — not charged when the check never started. Outside that first onboarding run, an error that is about your site stays charged.

A Failed run is a product verdict: the app did not do what you wrote. That is charged, except for the one free onboarding run above. Finding a bug is not an error on Monito's side.

Local tunnels, specifically

From the check command:

  • Nothing is listening before launch: no run is created, and nothing is spent.
  • The tunnel never connects: not charged. The server waits up to 60 seconds.
  • The tunnel closes after the agent has started: charged. The cause is "Site unreachable or access blocked," and the error says the tunnel closed.
  • Monito's tunnel agent fails: not charged.

At most five local checks per user per hour, including ones that are pending or running. A further launch returns HTTP 429 local_tunnel_limit.

Closing the tunnel yourself (Ctrl-C, a killed CLI, a wait that times out) is the charged case. Exit 6 means the CLI stopped waiting. For a local check, that closes the tunnel. monito run wait can read the ending. It cannot reopen the tunnel.