Web search was
the easy part.

Any model can fetch a page now. Kerf reads it the way a person would, columns in order and the cookie banner left behind, and Attest marks anything your model wrote that the page doesn't back. One key for both, priced per page and per claim. Nothing you send is written to disk.

2,500 pages

or 250 claims, free to start

98.6%

of hard claims called the right way

$1

per 1,000 pages read

A new developer account gets 250 credits at no additional cost, 25 of them as soon as you verify your email and the rest when you link a card, which is not charged. No plan, nothing to cancel. Create a developer account.

news.example.com/markets/acme-fy2025-results

The Ledger

Markets

Companies

Opinion

Sign in

Acme Group posts FY2025 results

Group revenue for FY2025 was CHF 94.0m, up from CHF 82.0m in the prior year.

Operating margin was 11.2%, down from 12.4%.

Advert

Most read

Newsletter

Privacy · Terms · Contact

We use cookies to improve your experience.

Accept all

An illustration of one page, start to finish. Try it live below.

01

Let's get building

Finding a page takes a second. Reading it properly, and checking what your model then says about it, is where answers go wrong. Kerf does the reading. Attest does the checking.

Kerf

Answers from the article, not the cookie banner.

Feed your retrieval and your agents the page as Markdown in reading order. Columns stay in order, tables stay tables, and the menus and footers stay behind.

83.7%

of 639 questions answered from Kerf's pages with optimiseForRAG, against 78.0% from Firecrawl's (80.8% without the option) How it was measured

Kerf

Agents that read the page they found.

A page that only renders in a browser is fetched in one, at the same price. A page that refuses you costs nothing, and a page served from cache is free.

28 of 29

tables kept as tables across 76 pages, against 8 for TinyFish, in a median 0.6 seconds How it was measured

Attest

Catch the wrong number before your customer does.

Check each claim your model writes against the documents it was given. Attest names the sentence a claim rests on, and tells you when there isn't one.

98.6%

of hand-labelled hard cases called the right way How it was measured

Attest

Review a whole draft in one call.

Send a report and its sources, and every claim comes back with a verdict and the evidence for it, ready for a person to confirm in seconds.

2 credits

a claim, and nothing you send is written to disk

From sign-up to your first answer in a few minutes.

Sign up, verify your email and your first credits are already waiting. There's no card to enter. One key reaches both Kerf and Attest, and Claude connects with your Quorum account. Sounds good? See it for yourself.

02

Seeing is believing

Read any page with Kerf, or run Attest on the examples we recorded and on text of your own. There's no account to make, and nothing you send is kept.

POST

/kerf/v1/render

5 free pages

Or try

Any public page, read the way a person reads it.

You get Markdown in reading order: columns in column order, tables as tables, code as code, and the menus, banners and footers left behind. Kerf respects robots.txt, and a site that says no is left alone.

POST

/attest/v1/attest

checking

claim

“Revenue increased in FY2025.”

evidence

ev_1

·

FY2025 Annual Report

Group revenue for FY2025 was CHF 94.0m, up from CHF 82.0m in the prior year.

ev_1:0

Operating margin was 11.2%, down from 12.4%.

ev_1:1

response, recorded

…

{
  "id": "…",
  "verdict": "…",
  "supportingSpans": […],
  "contradictingSpans": […],
  "audit": { "referentialIntegrity": … },
  "provenance": { "measurementHash": "…" },
  "degraded": []
}

Checking each sentence against the claim.

Recorded 7 September 2026, 25 runs. Sends the same request to api.quorumtech.ch now, no account: 20 checks, 5 on your own text.

03

Authentication

Every request goes through api.quorumtech.ch, which checks your credentials, counts the request and passes it on. Two ways in: sign in with your Quorum account when a person is using the client, such as Claude; use an API key when your code is calling on its own.

Connect with Quorum

MCPOAuth 2.1no key

Claude and other OAuth clients.

  1. 1

    In Claude, go to Settings, Connectors, Add custom connector, and paste the URL below.

  2. 2

    Click Connect. Claude opens Quorum so you can approve the connection with your account. Claude never sees an API key.

  3. 3

    Requests count against your workspace's limits. They show under Connected clients on the dashboard, where you or an admin can disconnect Claude at any time.

https://api.quorumtech.ch/attest/mcp

You stay connected for 30 days without signing in again. Anyone in a workspace with credits can connect; no admin needed.

API key

HTTPMCPserver-side

Bearer tokens for pipelines, agents and servers.

An API key is for code that runs without a person, such as a pipeline or a server. A workspace owner or admin creates keys on the dashboard; a new developer account can as soon as its free credits land. Each key has its own rate limit and daily claim budget. A key's permissions are fixed when it is created; to change them, create a new key and revoke the old one.

curl

curl -X POST https://api.quorumtech.ch/attest/v1/attest \
  -H "Authorization: Bearer $QUORUM_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "claim": "Revenue increased in FY2025.",
    "evidence": [{ "id": "ev_1",
      "content": "Group revenue for FY2025 was CHF 94.0m, up from CHF 82.0m." }]
  }'

Every response carries RateLimit headers, and a 429 tells you how long to wait in Retry-After. Once a workspace's credits are spent, a request that checks a claim gets a 402 rather than a bill: sign in and buy a credit pack when you want more, or ask Quincy, our support assistant, about a contract.

04

Services

One credential works for every service. When you create a key, you choose which services it can reach: Kerf, Attest or both.

Kerf

live

Any web page as Markdown, in the order a person reads it.

Give Kerf an address and you get the page as Markdown, read the way it looks rather than the way it is marked up: columns in column order, tables as rows, navigation and cookie notices dropped. A page that only renders in a browser is fetched in one, and costs you the same as any other. Nothing is written to disk.

HTTP

POST

/v1/extract/url

Fetch a page and convert it, as a job you collect

GET

/v1/jobs/:id

Collect an extraction, or see that it is still running

GET

/v1/jobs/:id/events

Watch an extraction as it runs

POST

/v1/render

Fetch and convert a page in one call

Attest

live

Know whether a claim holds up against your own documents.

Give Attest a claim and the evidence behind it. You get a verdict and the exact sentences that support or contradict the claim, so a person can confirm it in seconds and your code can act on it. The verdict is about your documents only: Attest does not search the web and does not decide what is true in the world. Nothing you send is written to disk.

HTTP

POST

/v1/attest

Check one claim against evidence in the request, or against uploaded documents

POST

/v1/attest/bulk

Check up to 100 claims in one call

POST

/v1/batches

Upload documents once, then check many claims against them. Held in memory only.

POST

/v1/drafts

Upload a draft to review by id

POST

/v1/attest/draft

Review every claim in a draft

GET

/v1/attest/draft/jobs/:id

Check on a review that is still running

MCP tools

attest_claim

Check a claim against evidence

attest_upload_batch

Load documents once, then check many claims against them

attest_claims

Check every claim in a draft, in one call

attest_draft

Check a whole draft, extracting the claims itself

attest_draft_status

Check on a draft review that is still running

attest_clear_batch

Drop a loaded batch from memory

attest_setup_help

How to finish setting up Attest

05

Measured

Kerf's figures come from our own benchmarks against Firecrawl and TinyFish, published with every page and question. Attest lands on the right side of the evidence 98.6% of the time on a hand-labelled set built from the hardest cases, and 98.4% of its verdicts claim no more than the evidence backs. That second figure is the one to build on: it is what keeps a wrong number away from your customers.

83.7%

Kerf · RAG answers right

Of 639 questions answered from Kerf's pages with optimiseForRAG, the option built for retrieval, against 78.0% from Firecrawl's. 80.8% without it.

28 of 29

Kerf · tables kept

Across 76 pages fetched beside TinyFish, which kept 8.

0.6s

Kerf · median page

Time to a converted page on the same 76, against 1.7s for TinyFish.

The RAG benchmark and the comparison with TinyFish.

98.6%

right direction

Backed or not backed, Attest agreed with the human label on a set built from the hardest cases.

98.4%

never overstated

Verdicts that claim no more than the evidence backs. The figure that keeps a wrong number away from your customers.

97.9%

contradictions called right

When the evidence says otherwise, Attest says so.

Measured on 190 hand-labelled examples built in-house, covering facts spread across sentences, arithmetic, near-miss sentences, scope, units and conflicting sources. Runs vary by about 3.7 points. The 98.6% is a two-way figure: a verdict counts as right when it lands on the same side as the human label, backed or not backed. Exact agreement on all five verdicts is 95.9%. How it was measured, with confidence intervals

06

Pricing

A credit is one cent, and a price can be a fraction of one. Checking a claim costs one credit when you send the evidence with it, or two when Attest searches documents you uploaded earlier, and a draft review costs that second rate for every claim it finds. A web page fetched and converted by Kerf costs a tenth of a credit. A new developer account gets 250 of them for verifying its email and linking a card. Buy credits as you go, or take a monthly plan: credits cost less, packs included, and your keys get higher limits.

$0.01

per claim, evidence in the request

One check against the sentences you send. Asking for the explanation costs nothing extra.

$0.02

per claim, against uploaded documents

Attest finds the relevant sentences in your uploaded documents for you. A draft review is this rate for every claim it finds: it holds its ceiling up front (200 claims by default, up to 500), releases what it does not need as soon as it has read your draft, and charges for the claims it checked. A review your balance cannot cover in full is not refused: it runs as far as your credits reach and hands back a cursor to carry on from.

$0.001

per web page, fetched and converted

Kerf reads a page the way a person does and hands you the Markdown. One price whichever way the page had to be fetched, so what you pay never depends on how a site was built. Everything else is free: uploading documents and drafts, collecting a finished job, checking on one, connecting an MCP client. You pay when a claim is checked or a page is fetched.

250

credits to start

Every new developer account gets 250 credits for verifying its email and linking a card: 250 claims checked against evidence you send, or 125 against documents you uploaded. The first 25 need no card at all. Linking one later charges nothing, and the rest are yours the moment it is on file.

25 of them land the moment you verify your email, with no card. Linking a card through Stripe brings the rest. Nothing is charged, then or later, unless you buy a pack, switch auto top-up on or take a plan.

Spent at the tariff above, at pay-as-you-go limits. Once spent, a request that checks a claim gets a 402; the card is never charged for it.

One grant per person and per card. No cash value, not transferable, not refundable; a card that has claimed them once cannot claim them again.

Create a developer account

Pay as you go

$0.01

a credit

Packs of $25, $100, $500, or any amount from $5.

Credits bought in a pack never expire. A developer account gets 250 for verifying its email and linking a card and buys packs from $5 after that.

60 requests and 60 claims a minute per key

2,000 claims a day per key

Auto top-up from the saved card when the balance runs low, or metered billing: what you use, invoiced monthly, never refused for credits

Starter

$29

a month

3,300 credits included every month, reset at the end of each period.

$0.0088 a credit, 12% under pay as you go. For one integration in steady use.

Beyond that, $0.0095 a credit, billed as overage or bought ahead in a pack at the same rate

120 requests and 120 claims a minute per key

5,000 claims a day per key

Team

$99

a month

12,500 credits included every month, reset at the end of each period.

$0.0079 a credit, 21% under pay as you go. For a team with several integrations.

Beyond that, $0.0085 a credit, billed as overage or bought ahead in a pack at the same rate

300 requests and 200 claims a minute per key

20,000 claims a day per key

Scale

$349

a month

55,000 credits included every month, reset at the end of each period.

$0.0063 a credit, 37% under pay as you go. For document review at volume.

Beyond that, $0.0075 a credit, billed as overage or bought ahead in a pack at the same rate

600 requests and 300 claims a minute per key

100,000 claims a day per key

Pay by card on the Billing page; Stripe handles the payment. Change or cancel a plan any time from the billing portal. When you reach your plan's daily cap, requests get a 429 instead of a surprise bill. For custom limits, invoicing or a data processing agreement, sign in and ask Quincy, our support assistant.

Create a developer account

07

Guarantees

Models measure, code decides. Six things you can rely on when you build with us.

01

Attest helps reduce AI hallucinations.

A sentence the model wrote is checked against the documents it was given. One the documents do not establish is named, so it can be corrected or removed before anyone relies on it, and fewer of them reach a reader.

02

SUPPORTED means supported by what you sent.

Attest reads only what you send and never searches on its own. If your evidence does not cover the claim, you get rather than a guess, so a gap in your documents can never turn into a false yes.

03

Every citation is a sentence you sent.

ev_1:0 means the first sentence of evidence item ev_1. Every citation is checked against your text before the response is built, and is 1 when all of them passed. You can trust a citation without re-reading the document.

04

Nothing is written to disk.

Everything you send stays in memory only. A check with the evidence in the request is gone as soon as it answers. An upload is kept for at most six hours, and a review you poll for at most two hours after it finishes; a busy server or a restart may drop either sooner, and you can clear uploads yourself at any time. We log the route, status code, latency and claim count of each call, and nothing else.

05

Failures are a 503.

If a check cannot finish, the verdict is and the status is 503. You never get a 200 with a guess in it.

06

A key's permissions never change.

Permissions are signed into the key itself. To give a key more access, create a new one and revoke the old, so every change shows on the dashboard.