Pay for proofs you actually run.
Every plan runs the same Z3 engine, at the same bound and the same solver
timeouts. We don't paywall the strength of a proof — you're paying for
volume and for who picks up the phone when the solver returns
unknown.
For side projects, OSS repos and kicking the tyres on your own migrations.
For the engineer who reviews every LLM rewrite before it reaches a migration.
For platform teams gating every schema change in CI, across every service.
Limits, side by side
// same solver, same ceilingsThe bound, the timeouts and the supported SQL are identical on every plan. A cheaper plan never buys you a weaker proof — it would make the verdict mean something different depending on what you paid, which is the one thing a verifier can't afford. Paid plans lift the monthly run cap.
How many runs will you use?
One run is one verification of one query pair. A rewrite you check twice is two runs — there's no result cache yet, so re-running the same pair counts again.
Questions engineers actually ask
No. It reads your DDL and your SQL text — there are no credentials to hand over and no rows are ever read from your database. The counterexample is invented by the solver, not sampled from production. Note that the CLI and MCP server do send your DDL and query text to the API to be verified.
One verification of one query pair, from any surface — workspace, CLI,
MCP or the API. Every run counts against the monthly allowance,
including ones that come back
unknown or
error.
It isn't something you pay for — bound 1–6 is available
on every plan, including Free. The default of 3
catches the large majority of real semantic bugs; raising it grows the
search space by roughly
bound^tables, so the practical
limit is your patience, not your invoice.
Verification returns 402 with an
upgrade prompt, and the CLI exits 2
— the same code it uses for any infrastructure problem, so a lapsed
quota can never be mistaken for a failing query. Nothing is deleted,
and your history stays readable.
Start on Free. Upgrade when CI needs it.
No card required for the first 100 runs.