Pricing

Every feature on every plan. Pay for the repositories you watch.

Plans differ only in how many repositories OnPair watches and how many pull-request analyses run each month. No seats: your whole team sees every finding.

Starter

$39/month

A small team shipping on a handful of repositories. Enough analyses to review every pull request without treating OnPair as a background process.

Repositories
5
Analyses per month
750
Recommended

Growth

$79/month

Several active repositories and a busier merge queue. The default for a team that wants every pull request read, not a sample of them.

Repositories
15
Analyses per month
3,000

Scale

$199/month

A larger surface area — many repositories, many authors, no appetite for a cap getting in the way mid-sprint.

Repositories
50
Analyses per month
10,000

14-day money-back guarantee · cancel in one click

FAQ

Before you install

Something missing? Email [email protected].

Which languages and frameworks does it understand?
Route detection covers Node (Express, Fastify, AdonisJS and similar routers), Laravel, Rails, Django, Flask and FastAPI, Spring and Go. Environment variables are read from Node, Deno, Vite, Python and any env() helper. The documentation review pass works on any language, because it reads the diff and your docs side by side.
Does it work with monorepos?
Yes. Point the documentation and contract globs in .onpair.yml at each package, and OnPair checks every pull request against the docs that belong to the code it touches.
Does it work on private repositories?
Yes. You install the GitHub App on the repositories you choose, private or public, and OnPair only ever sees those.
What is .onpair.yml?
An optional file at the root of your repository. It says which files count as documentation and where your API and environment contracts live. Without it, OnPair reads README.md, docs/**, .env.example and CHANGELOG.md.
What if it's wrong?
Only blocking findings fail the check; warnings leave it neutral. A failed check stops a merge only if you make it a required check. Any finding can be dismissed with a reason from your dashboard.
What counts as an analysis?
One analysis per commit OnPair reviews on a pull request. Pushing twice is two analyses; reopening a pull request is none, because that commit was already read. If you run out, new analyses pause until the period rolls over or you move up a plan. Nothing is billed by surprise.
What is sent to the AI model?
The pull request diff, the list of changed files and excerpts of the documentation that matched, capped at 60 KB. Your code is not used to train models, and OnPair does not keep a copy of it. The full details are on the security page.
Can I get a refund?
Yes. Every new subscription has a 14-day money-back guarantee. Email [email protected] within 14 days of your first payment for a full refund, for any reason. You can cancel from the billing page in one click.