mcpField
F
FactStamp

FactStamp

Remote
factstamp.devBusiness & Marketing0Updated 1d ago

About FactStamp

FactStamp is a paid verification service for agents that returns dated, cited findings with receipts verifiable offline. It records settled calls in a public log, while an optional private mode seals the request contents; the verdict path uses no model and can return unknown.

Key features

  1. 01Verify figures, entities, and citations
  2. 02Return dated findings with citations
  3. 03Provide offline-verifiable signed receipts
  4. 04Record settled calls in a public log
  5. 05Offer a sealed private-request option
  6. 06Return unknown when evidence is unavailable

Use cases

  1. 01Check a company or figure before relying on it
  2. 02Verify a citation with a dated receipt
  3. 03Audit paid verification calls in the public log
  4. 04Keep request contents confidential while proving a call

MCP support

The `/mcp` endpoint exposes paid verification routes to agents. Paid answers include signed receipts, and settled calls made over MCP are added to the public log.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://agents.factstamp.dev/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

15

This tool takes no parameters.

Details

From the project README

FactStamp

Paid verification for agents, and a public record of every paid answer. Each call returns a cited, dated finding with a signed receipt you can verify offline, without asking us. Each settled call is written into a public log, and each day's root is stamped onto the Base blockchain whenever that day held a payment from someone other than us. When a check has to stay confidential there is a private option: a flat US$25 on top of the call price seals the request, so the world can see that a call happened and prove it later, but never learn what was asked. No model sits in the verdict path, and unknown is a first-class answer.

Live service: https://agents.factstamp.dev

What this repository is

The published machine interface of the FactStamp service, mirrored here so it can be read, diffed and cited without a wallet. Each row names the live route the copy came from, so any file here can be checked against the service in one request:

FileWhat it isLive source
openapi.jsonThe OpenAPI 3.1 description of every route.https://agents.factstamp.dev/openapi.json
llms.txtThe plain-language map of the service: what each tool costs, what it returns, what it refuses to claim.https://agents.factstamp.dev/llms.txt
coverage.jsonWhich registers are read, per jurisdiction, section by section, with the price of each door.https://agents.factstamp.dev/coverage.json
server.jsonThe MCP registry manifest — the entry submitted to the official registry, not a route the service serves.https://agents.factstamp.dev/.well-known/mcp.json (the live descriptor)

These are dated snapshots, not a live feed. Coverage and prices move as registers change, so a copy here can lag the service. When the two disagree, the live route wins — fetch it and believe that, not this. The files exist so a person or an agent without a wallet can read the interface, and so a reader can cite exactly what was published on a given day.

The service's private source is not published here.

Routes

RoutePurposeAccess
/mcpMCP endpoint — the tool surface agents call.—
/healthService status: name, network, judge and registry versions.open
/openapi.jsonMachine description of every route.open
/llms.txtThe service explained for readers.open
/coverage.jsonPer-jurisdiction coverage and prices.open
/samplesExample answers, so you can see the shape before paying.open
/ledger/rootThe public record: today's root, the last 30 daily roots, and each day's verdict.open
/ledger/zero-knowledgeThe private-request option: what it is, what it publishes, what it costs.open

Paid routes include /citation, /package, /check, /entity, /entity-file, /bulk, /document, /watch, /watch/portfolio, and /verify for receipt checking. Prices are published, per call, in the files above rather than in prose here.

Published prices at the time of writing

Taken from /health and /llms.txt as served:

  • figure door — US$0.05
  • entity door — US$0.10 to US$0.25, set by the depth of the country you ask about: US$0.10 for a country publishing 1–4 verifiable items, US$0.15 for 5–6, US$0.20 for 7–9, US$0.25 for Australia's fifteen. The quote is shown in the payment challenge, before any money moves, and a country whose register cannot answer today is not sold at all — it is refused with no price rather than charged for an "I don't know".
  • entity file — US$0.438119 (33p in the UK, at the dated rate carried on the answer and the receipt)
  • citation — US$0.02, package lookup — US$0.02
  • standing work: watch US$0.50, whole document in one call US$0.25, bulk at a flat US$0.12
  • company packages: US$2.00 and US$10.00, one-time, from the human page at /company

If a number here ever disagrees with llms.txt or openapi.json as served, the served file wins.

Receipts

Every paid answer carries a receipt signed with Ed25519 over the exact findings and the file's hash, so a third party can verify it offline against the published issuer and key document — no call back to us, and no trust in our uptime. The key document at /.well-known/factstamp-issuer.json states exactly which bytes the key identifier is derived from and carries a worked example, so the derivation can be reproduced in any hash tool. A receipt proves that FactStamp said this, on this date. It does not prove that the register itself is right, and nothing in this service claims it does.

The public record: the ledger, and what is stamped on Base

Every settled paid call, over HTTP and over MCP alike, appends one entry to a public log. The log is an RFC 6962 Merkle tree; each UTC day's log reduces to a single root, published at /ledger/root along with the last thirty days.

A day's root is written to the Base blockchain — one small data-only transaction, magic 0x46535401 followed by the 32-byte root — only when that day held at least one settlement paid by someone other than us. Our own test payments never anchor a day. The rule exists so that an anchor means something: a day is stamped because a stranger paid, not because we were busy.

Days already written (verifiable on Base, chain id 8453):

DayTransaction
2026-10-230x3bd942ae61c053aa7218ebfe44c25db2d9726412a67ec75073267cfb376d38f3
2026-10-250xa80b18f7d829fe535d86a700daa98f7f69f183877f158f1f0b2094dd2a94138f

A day that held no outside payment is published with the verdict that says so, rather than being quietly left blank. The honest limit: an anchor proves the root was committed publicly on the day the transaction landed, not on the day of the payment — the payment itself is already a public record, because it is a transfer on the same chain. The anchor adds our side of the story: that the answers we gave were fixed before anyone asked to see them.

Private requests: the sealed-entry option

By default a paid call's entry is published in full — the door, the price, the verdict, and the fact that the call happened. For a caller who needs the call itself to stay confidential there is a zero_knowledge option, declared on the request.

  • Price: US$25.00 in addition to the call's own price. A US$0.10 entity check declared private costs US$25.10. The payment challenge quotes the total before anything is paid.
  • What is published: an entry_id, the day, the price, the scheme (salted_commitment_v1) and the network. Nothing else.
  • What is sealed: the question, the answer and the verdict. The entry is committed to with a salted hash, so its existence and its position in the log are public while its contents are not.
  • What that buys: you can prove later that a specific call happened on a specific day — by revealing the salt to whoever needs it — without ever having published what you asked.

The private option is documented at /ledger/zero-knowledge, with its own root at /ledger/zero-knowledge/root and its entries at /ledger/zero-knowledge/entry/{entry_id}. It is an option on the paid doors, not a separate service.

What this service is not

  • Not a KYB provider, and not a substitute for one. It does not perform customer due diligence on anyone's behalf.
  • Not complete by assertion. Any register we did not consult is named on the answer as not consulted. A register we could not read returns unknown, never not found.
  • Not a fetcher of records you can already get at no cost. You are paying for the citation, the check and the receipt, not for the register's own data.

Issues

Corrections about a claim we make are welcome as issues here. If we have said something about a company, a number or a register that is wrong, that is the fastest way to tell us.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.