Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Changed the definition of "attestpage_access_check", "attestpage_attest", "attestpage_fetch" and 4 more
Judge one page URL against its site's robots.txt for each AI crawler: allowed, the deciding line, reason and crawl_delay; plus sitemaps, content_signal and llms_txt⟨15 unchanged words⟩ : allowed or not, with the deciding line, the per-crawler reason and Crawl-delay; plus the site's SitemapURLs.URLs, content_signal and llms_txt (whether /llms.txt is served). US$0.002 per call; POST url. Costs US$0.002 per ⟨49 unchanged words⟩
⟨13 unchanged words⟩ against its site's robots.txt for each AI crawler: allowed, the deciding line, reason and crawl_delay; plus sitemaps, content_signal and llms_txt"}
{"additionalProperties":false,"examples":[{"note":"delivery of report v3exampletonote:orderreplace77me","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"}],"properties": ⟨84 unchanged words⟩
{"additionalProperties":false,"examples":[{"return_text":true,"urlurls":["https://www.iana.org/help/example-domains"]}],"oneOf":[{"required":["url ⟨96 unchanged words⟩
⟨214 unchanged words⟩ result.located gives its position in the whole text. On a slice miss where a number differs, the answer carries match_verdict changed_number and nearest, the closest span on the slice with its diff. nearest offsets count into the slice's normalised text, not the whole text.","minimum":0,"type":"integer"} ⟨67 unchanged words⟩
⟨18 unchanged words⟩ "result":{"properties":{"match":{"description":"The short answer. none means not found; its match_verdict is no_match or changed_number. The match and match_verdict pairs are: exact with exact; fuzzy with formatting_only or changed_meaning_possible; none with changed_number or no_match.","enum":["exact","fuzzy","none"],"type":"string"},"match_verdict":{"description":"Added in T-3785. Why. The pairs with match: exact with exact; fuzzy with formatting_only (only spacing or . , ; : ! ? differ) or fuzzy with changed_meaning_possible (other words differ; review the diff); none with changed_number (a close passage differs in a number; the span and diff are in nearest) or none with no_match (no passage shares enough words). changed_number never comes with fuzzy. The field says no_match where match says none; match never says no_match, and match_verdict never says none. See the table in docs/verify-quote.md.","enum":["exact","changed_number","formatting_only","changed_meaning_possible","no_match"],"type":"string"},"occurrences": ⟨18 unchanged words⟩
⟨14 unchanged words⟩ none, one receipt. US$0.10 per call; POSTpairs.citations. Costs US$0.10 per call in USDC via x402 ⟨44 unchanged words⟩
⟨127 unchanged words⟩ page to check (max 2,048 characters). The whole request body is capped at 64 KB.","type":"string"}},"required": ⟨4 unchanged words⟩
⟨41 unchanged words⟩ , start, end, context, occurrences, normalised_sha256; on a none, nearest (the closest span: start, end, text, score, diff; charged like any answer); with match \"passages\" also passages [{ ⟨35 unchanged words⟩
⟨214 unchanged words⟩ result.located gives its position in the whole text. On a slice miss where a number differs, the answer carries match_verdict changed_number and nearest, the closest span on the slice with its diff. nearest offsets count into the slice's normalised text, not the whole text.","minimum":0,"type":"integer"} ⟨67 unchanged words⟩
Changed the definition of "attestpage_access_check", "attestpage_check_packages", "attestpage_preview_document" and 3 more
⟨14 unchanged words⟩ CCBot: allowed or not, with the decidingline.line and Crawl-delay; plus the site's Sitemap URLs. US$0.002 per call; POST url. Costs US$0.002 per ⟨49 unchanged words⟩
⟨17 unchanged words⟩ 2,048 characters). Only its site's /robots.txtisand /llms.txt are read; the page is not fetched.","type ⟨5 unchanged words⟩
Changed the definition of "attestpage_fetch", "attestpage_preview_document", "attestpage_preview_text_quote" and 2 more
⟨13 unchanged words⟩ ,"properties":{"return_text":{"description":"Also returnReturn up to 20,000 characters of clean text (per page). Defaultfalse.true; send false to leave the text out.","type":"boolean"},"url":{ ⟨67 unchanged words⟩
⟨63 unchanged words⟩ written, 1 character to 60000 bytes (UTF-8)., and the whole request body is capped at 256 KB.
Changed the definition of "attestpage_access_check", "attestpage_attest", "attestpage_check_links" and 9 more
⟨19 unchanged words⟩ the deciding line. US$0.002 per call; POST url.10 free calls a day per IP, resetting at midnight UTC.Costs US$0.002 per call in USDC via x402 ⟨30 unchanged words⟩ in _meta["x402/payment"]. Without one ituses the free trial (10 calls a day per address), thenreturns the payment requirements. Docs: https://vehcdj664efetfrsolne5umanq.srv.us/llms.txt
⟨11 unchanged words⟩ unchanged then. US$0.002 per call; POST the hash.10 free calls a day per IP, resetting at midnight UTC.Costs US$0.002 per call in USDC via x402
Added "attestpage_preview_text_quote"; changed the definition of "attestpage_access_check", "attestpage_attest", "attestpage_check_links" and 8 more (13 tools before, 14 now)
⟨23 unchanged words⟩ per call; POST url. 10 free calls aday.day per IP, resetting at midnight UTC. Costs US$0.002 per call in USDC via x402 ⟨55 unchanged words⟩
⟨15 unchanged words⟩ call; POST the hash. 10 free calls aday.day per IP, resetting at midnight UTC. Costs US$0.002 per call in USDC via x402 ⟨55 unchanged words⟩
Added "attestpage_access_check"; changed the definition of "attestpage_verify_document" (12 tools before, 13 now)
⟨86 unchanged words⟩ the page.","type":"array"},"skipped":{"description":"Each skipped item with its reason: no_url, bad_url, too_short, too_long or beyond_limit. The first 100 only.","type":"array"},"skipped_counts":{"description":"Every skipped item counted by reason.","type":"object"},"skipped_truncated":{"description":"Skipped items left out of skipped.","type":"integer"},"summary":{"type":"object"},"tier" ⟨5 unchanged words⟩ ","part","parts","results","pages","skipped","receipt"],"type":"object"}
Judge one page URL against its site's robots.txt for each AI crawler — Judges one page URL against its site's robots.txt for GPTBot, ClaudeBot, PerplexityBot, Google-Extended and CCBot: allowed or not, with the deciding line. US$0.002 per call; POST url. 10 free calls a day. Costs US$0.002 per call in USDC via x402 (Base), charged when the call answers below 400 (a no-match or not-found result is charged too); a bad request is refused unpaid. Pay by putting an x402 payment payload in _meta["x402/payment"]. Without one it uses the free trial (10 calls a day per address), then returns the payment requirements. Docs: https://vehcdj664efetfrsolne5umanq.srv.us/llms.t…
Changed the definition of "attestpage_attest", "attestpage_check_links", "attestpage_check_packages" and 7 more
Use when an agent needs to show later that a file, answer or record existed unchanged at a point in time: send its sha256, and get backSigns asigned,timestamped receiptover it;for alater altered copy no longer matches. Optional note; with an idempotency_key (x402 paymentsfile'sonly)sha256,a retry gets the same receipt and is not a new record. For signed evidence of what a web page said at aprovinggivenittimeexisted(provenance),
Changed the definition of "attestpage_preview_document" and "attestpage_verify_document"
⟨224 unchanged words⟩ part, default 10. A free trial callneedstakes3atormostfewer.the size in extensions.trial.info.max_batch_items of the 402 offer.","maximum":10,"minimum":1,"type ⟨18 unchanged words⟩
Changed the definition of "attestpage_attest", "attestpage_check_links", "attestpage_check_packages" and 7 more
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨75 unchanged words⟩ /v1/fetch, whose receipt attests the page hashes.510 free calls a day. Costs US$0.002 per call ⟨38 unchanged words⟩ Without one it uses the free trial (510 calls a day per address), then returns ⟨6 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
Changed the definition of "attestpage_attest", "attestpage_check_links", "attestpage_check_packages" and 7 more
⟨91 unchanged words⟩ in USDC via x402 (Base), chargedonlywhen the callsucceeds;answers below 400 (a no-match or not-found result is charged too); a bad request is refused unpaid. Pay by ⟨30 unchanged words⟩
⟨87 unchanged words⟩ in USDC via x402 (Base), chargedonlywhen the callsucceeds;answers below 400 (a no-match or not-found result is charged too);
Certificate recorded, valid to 2027-01-04
Authorization not required
Changed the definition of "attestpage_verify_text_quote"
⟨194 unchanged words⟩ raw; result offsets are into the normalised text. If the slice misses but the quote is elsewhere in the text, result.located gives its position in the whole text.","minimum":0,"type":"integer"} ⟨47 unchanged words⟩
⟨43 unchanged words⟩ slice_matches } (raw offsets) and no start/end; when the slice misses but the quote is elsewhere in the text, located { match, score, start, end, occurrences, offsets: \"normalised\" } for the whole text; source { kind: \"supplied\", text_sha256, ⟨21 unchanged words⟩
Changed the definition of "attestpage_check_links"
Check up to 10 links in one call: a link verdict (ok, broken, moved, unknown) per URL, optional expected_text⟨14 unchanged words⟩ up to 10 URLs, and get back a link verdict per URL (ok, broken, moved or unknown), with the status, redirect chain, final URL, title and hashof each, so a dead,movedorblockedmoved link is caught first. Optional expected_text is matched and reported, not scored. A URL whose domain does not resolve is reported asdeadbroken
Changed the definition of "attestpage_fetch"
⟨24 unchanged words⟩ back clean text, content_kind (real, bot_wall, js_shell, paywall), title, hashes and a signed receipt ⟨84 unchanged words⟩
Changed the definition of "attestpage_attest", "attestpage_preview_document", "attestpage_recheck" and 1 more
⟨36 unchanged words⟩ the same key and sha256 get the samereceipt;attestation (the receipt names that call own payment tx); a different sha256 gets 409.","maxLength": ⟨38 unchanged words⟩
⟨86 unchanged words⟩ ,"format":{"description":"markdown (default)or, text (only bare URLs and [n] references are links) or html (<a href> links, <blockquote> and <q> quotes; other tags are dropped)
Changed the definition of "attestpage_verify_citations" and "attestpage_verify_quote"
⟨15 unchanged words⟩ URL pairs, and get back for each one an exact, fuzzy or none match,offsets and page status,under one signedreceipt:receipt.aUS$0.10 per call. A fact check of each citation against its source. Match"passages"givesgive evidence for each paraphrased claim.PDFs are read too, on the full service, with pdf_page and pdf_page_end.DOIs get Crossref data and a retracted flag. For 1 to 9 pairs, one verify/quote call per pair costs less. PDFs are read too, on the full service, with pdf_page and pdf_page_end. 5 free calls a day. Costs US$0.10 per
Unknown → Live
First tool surface recorded: 12 tools (server version 0.1.0)
https://vehcdj664efetfrsolne5umanq.srv.us/mcp (mcp_streamable_http) — from mcp_registry, with the record
Showing the latest 20 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨5 unchanged words⟩ package names exist on npm, PyPI orcrates.iocrates, with known OSV.dev advisories
⟨30 unchanged words⟩ version? }; ecosystem is npm, pypi orcrates (crates.io).crates.","items":{"additionalProperties":false,"properties" ⟨69 unchanged words⟩
⟨14 unchanged words⟩ package names exist on npm, PyPI orcrates.iocrates, with known OSV.dev advisories"}
⟨162 unchanged words⟩ out of skipped.","type":"integer"},"units":{"description":"Says what the price units mean: usd is US dollars; sats is satoshis (1 sat = 1e-8 BTC).","type":"string"}},"required":["document_sha256","extractor"," ⟨7 unchanged words⟩
⟨16 unchanged words⟩ fuzzy or none, the score and thenumber of matches.occurrences. Free, 30 a day per IP address. ⟨20 unchanged words⟩
⟨10 unchanged words⟩ gone, unreadable. US$0.003 per call; POST receipt,URL.or url with content_sha256 (not both). Costs US$0.003 per call in USDC via x402 ⟨44 unchanged words⟩
Checkseveryonequotepartinof afinished documentdocument'sagainstquotesitson livepage, signed receipt.pages. US$0.10 percall;part of up to 10 pairs; POSTthedocumenttext.and part. Costs US$0.10 percallpart of 10 pairs in USDC via x402 (Base), charged ⟨42 unchanged words⟩
⟨27 unchanged words⟩ (doc-v1).","type":"string"},"hint":{"description":"Only when pairs_total is 0: how to write the links so they pair with their quotes.","type":"string"},"limit_reached":{"type":"boolean"},"pairs" ⟨122 unchanged words⟩
⟨232 unchanged words⟩ already hold, as sent (max 50,000characters;characters, and the whole request body is capped at 256 KB of UTF-8, so 50,000 characters of 4-byte text fit; no fetch, no normalising before hashing). ⟨26 unchanged words⟩
⟨63 unchanged words⟩ written, 1 character to 60000 bytes (UTF-8)., and the whole request body is capped at 256 KB. Its quotes and their links are found by ⟨186 unchanged words⟩
⟨232 unchanged words⟩ already hold, as sent (max 50,000characters;characters, and the whole request body is capped at 256 KB of UTF-8, so 50,000 characters of 4-byte text fit; no fetch, no normalising before hashing). ⟨26 unchanged words⟩
⟨14 unchanged words⟩ URL and title. US$0.005 per call; POST URLs.10 free calls a day per IP, resetting at midnight UTC.Costs US$0.005 per call in USDC via x402 ⟨30 unchanged words⟩ in _meta["x402/payment"]. Without one ituses the free trial (10 calls a day per address), thenreturns the payment requirements. Docs: https://vehcdj664efetfrsolne5umanq.srv.us/docs/check-links
⟨12 unchanged words⟩ , OSV.dev advisories. US$0.005 per call; POST names.10 free calls a day per IP, resetting at midnight UTC.Costs US$0.005 per call in USDC via x402 ⟨30 unchanged words⟩ in _meta["x402/payment"]. Without one ituses the free trial (10 calls a day per address), thenreturns the payment requirements. Docs: https://vehcdj664efetfrsolne5umanq.srv.us/docs/check-packages
⟨14 unchanged words⟩ US$0.002 per URL; POST up to 10 URLs.10 free calls a day per IP, resetting at midnight UTC.Costs US$0.002 per call in USDC via x402 ⟨30 unchanged words⟩ in _meta["x402/payment"]. Without one ituses the free trial (10 calls a day per address), thenreturns the payment requirements. Docs: https://vehcdj664efetfrsolne5umanq.srv.us/docs/fetch
{"properties":{"advice":{"type":"string"},"page_note":{"type":"string"},"paid_route":{"description":"Path and price of ⟨33 unchanged words⟩
⟨11 unchanged words⟩ unreadable. US$0.003 per call; POST receipt, URL.10 free calls a day per IP, resetting at midnight UTC.Costs US$0.003 per call in USDC via x402 ⟨30 unchanged words⟩ in _meta["x402/payment"]. Without one ituses the free trial (10 calls a day per address), thenreturns the payment requirements. Docs: https://vehcdj664efetfrsolne5umanq.srv.us/docs/recheck
⟨15 unchanged words⟩ , one receipt. US$0.10 per call; POST pairs.10 free calls a day per IP, resetting at midnight UTC.Costs US$0.10 per call in USDC via x402 ⟨30 unchanged words⟩ in _meta["x402/payment"]. Without one ituses the free trial (10 calls a day per address), thenreturns the payment requirements. Docs: https://vehcdj664efetfrsolne5umanq.srv.us/docs/verify-citations
⟨11 unchanged words⟩ signed receipt. US$0.10 per call; POST the text.10 free calls a day per IP, resetting at midnight UTC.Costs US$0.10 per call in USDC via x402 ⟨30 unchanged words⟩ in _meta["x402/payment"]. Without one ituses the free trial (10 calls a day per address), thenreturns the payment requirements. Docs: https://vehcdj664efetfrsolne5umanq.srv.us/docs/verify-document
⟨15 unchanged words⟩ receipt. US$0.01 per call; POST url, quote.10 free calls a day per IP, resetting at midnight UTC.Costs US$0.01 per call in USDC via x402 ⟨30 unchanged words⟩ in _meta["x402/payment"]. Without one ituses the free trial (10 calls a day per address), thenreturns the payment requirements. Docs: https://vehcdj664efetfrsolne5umanq.srv.us/docs/verify-quote
⟨14 unchanged words⟩ receipt. US$0.02 per call; POST url, quotes.10 free calls a day per IP, resetting at midnight UTC.Costs US$0.02 per call in USDC via x402 ⟨30 unchanged words⟩ in _meta["x402/payment"]. Without one ituses the free trial (10 calls a day per address), thenreturns the payment requirements. Docs: https://vehcdj664efetfrsolne5umanq.srv.us/docs/verify-quotes
⟨14 unchanged words⟩ offsets. US$0.005 per call; POST text, quote.10 free calls a day per IP, resetting at midnight UTC.Costs US$0.005 per call in USDC via x402 ⟨30 unchanged words⟩ in _meta["x402/payment"]. Without one ituses the free trial (10 calls a day per address), thenreturns the payment requirements. Docs: https://vehcdj664efetfrsolne5umanq.srv.us/docs/verify-text-quote
⟨18 unchanged words⟩ per call; POST URLs. 10 free calls aday.day per IP, resetting at midnight UTC. Costs US$0.005 per call in USDC via x402 ⟨55 unchanged words⟩
⟨15 unchanged words⟩ per call; POST names. 10 free calls aday.day per IP, resetting at midnight UTC. Costs US$0.005 per call in USDC via x402 ⟨55 unchanged words⟩
⟨18 unchanged words⟩ up to 10 URLs. 10 free calls aday.day per IP, resetting at midnight UTC. Costs US$0.002 per call in USDC via x402 ⟨55 unchanged words⟩
⟨15 unchanged words⟩ POST receipt, URL. 10 free calls aday.day per IP, resetting at midnight UTC. Costs US$0.003 per call in USDC via x402 ⟨55 unchanged words⟩
⟨18 unchanged words⟩ per call; POST pairs. 10 free calls aday.day per IP, resetting at midnight UTC. Costs US$0.10 per call in USDC via x402 ⟨55 unchanged words⟩
⟨15 unchanged words⟩ call; POST the text. 10 free calls aday.day per IP, resetting at midnight UTC. Costs US$0.10 per call in USDC via x402 ⟨55 unchanged words⟩
⟨19 unchanged words⟩ POST url, quote. 10 free calls aday.day per IP, resetting at midnight UTC. Costs US$0.01 per call in USDC via x402 ⟨55 unchanged words⟩
⟨18 unchanged words⟩ POST url, quotes. 10 free calls aday.day per IP, resetting at midnight UTC. Costs US$0.02 per call in USDC via x402 ⟨55 unchanged words⟩
⟨18 unchanged words⟩ POST text, quote. 10 free calls aday.day per IP, resetting at midnight UTC. Costs US$0.005 per call in USDC via x402 ⟨55 unchanged words⟩
Preview a text quote check — Send the same body as POST /v1/verify/text-quote (start and end are ignored) and get back exact, fuzzy or none, the score and the number of matches. Free, 30 a day per IP address. The answer is not signed and has no offsets or receipt; the paid route returns those. Free. Docs: https://vehcdj664efetfrsolne5umanq.srv.us/docs/verify-text-quote
Use when an agent is about to give a user links or citations: sendChecks up to 10 URLs, and get back a link verdict per URL:(ok, broken, moved or unknown),with theforstatuseach,redirect chain,with final URL,titleandhash, so a dead or moved link is caught first. Optional expected_text is matched and reported, not scored. A URL whose domain does not resolve is reported as broken and charged.title. US$0.005 per call;broken-link check forPOSTcitations.URLs. 10 free calls a day. Costs US$0.005 per ⟨60 unchanged words⟩
Use when an agent is about to install or recommend a package an LLM suggested: sendChecks up to 10names, each with its registry (npm,pypiPyPI or crates),and get back whether each isnames: listed,its latestversion, licenceand OSV.dev advisories under one signed receipt,so a made-up or known-bad package is caught before install. Not a securityOSV.devverdict.advisories. US$0.005 percall.call; POST names. 10 free calls a day. Costs US$0.005 per ⟨60 unchanged words⟩
Use when an agent needsReturns a web page as clean text,or to notarize one: send a URL or up to 10, and get back clean text, content_kind (real, bot_wall, js_shell, paywall),with title, hashes and a signedreceipt per page.receipt. US$0.002 per URL;web fetch that flags bot walls. PDFs too, on the full service (edge: 501, uncharged): page.pdf withPOSTpage_count,uppages_readtoand10truncated.URLs. 10 free calls a day. Costs US$0.002 per ⟨60 unchanged words⟩
Use when an agent reliesReportsonif awebpageit read earlier and needs change detection: sendchangedansinceearliera receiptor URL with its content_sha256, and get back: unchanged, changed, goneor unreadable with the fields that,differ.unreadable. US$0.003 per call;page monitoring, nothingPOSTstoredreceipt,no callbacks.URL. 10 free calls a day. Costs US$0.003 per ⟨60 unchanged words⟩
Use before giving an answer that cites web pages: sendChecks up to 10 quote and URL pairs,and get back for eachononeliveanpages: exact, fuzzy or nonematch,underonesignedreceipt. US$0.10 percall. A fact check of each citation against its source. Match passages give evidence for each paraphrased claim. DOIs get Crossref data and a retracted flag. For 1 to 9 pairs, one verify/quote call per pair costs less. PDFs are read too, on the full service, with pdf_pagecall;andPOSTpdf_page_end.pairs. 10 free calls a day. Costs US$0.10 per ⟨60 unchanged words⟩
UseChecksbeforeeverysendingquote in a finishedanswer or report that quotes web pages: send thedocumentas written, and get back every quote withagainst itslink, checked on thelive page: exact,fuzzy or none, score, offsets and each page's status, under onesigned receipt.Up to 10 pairsUS$0.10 perpart; the free previewcall;(POST/v1/verify/document/preview) liststhepairs, parts and price first. For a part of 1 to 9 pairs, one verify/quote call per pair costs less.text. 10 free calls a day. Costs US$0.10 per ⟨60 unchanged words⟩
Use when an agent is aboutCheckstoa quoteor citeonaitsweblive pageas the source of a claim:send the URL and the quote word for word, and get backexact, fuzzy or none,withoffsets and a signedreceipt, so a misquote is caught before a user sees it.receipt. US$0.01 per call;fact check of citations. For 3 or more quotes on one page, verify/quotes costs less. PDFs are read too, on the fullPOSTserviceurl,with pdf_page and pdf_page_end.quote. 10 free calls a day. Costs US$0.01 per ⟨60 unchanged words⟩
Use when an agent is about to quote one web page several times: send the URL andChecks up to 20 quotesin your exact words, and get back for eachon one page: exact, fuzzy or none,withoffsetsand context,plus the page's verdict and hashes, under onesigned receipt.The page is fetched once at one price for 1 to 20 quotes, so from 3 quotes up it costs less than one verify/quote callUS$0.02 perquote. Full service only;call;PDFsPOSTgiveurl,pdf_page.quotes. 10 free calls a day. Costs US$0.02 per ⟨60 unchanged words⟩
Use when an agent already holds the source text (a file it read, a tool result,Checks adocument) and is about toquoteit: send the text and the quoteword for word,andagainstgettextbackyou hold: exact, fuzzy or nonewith offsets,or with startoffsets.andUS$0.005end,perwhethercall;thePOST textat those offsets says the quote. Nothing is fetched. Declared offsets are raw code points; result offsets are into the normalised text. A signed receipt attests the hash and the match,not where the text came from.quote. 10 free calls a day. Costs US$0.005 per ⟨60 unchanged words⟩
⟨70 unchanged words⟩ charged. US$0.005 per call; broken-link check for citations.510 free calls a day. Costs US$0.005 per call ⟨38 unchanged words⟩ Without one it uses the free trial (510 calls a day per address), then returns ⟨6 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨55 unchanged words⟩ install. Not a security verdict. US$0.005 per call.510 free calls a day. Costs US$0.005 per call ⟨38 unchanged words⟩ Without one it uses the free trial (510 calls a day per address), then returns ⟨6 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨58 unchanged words⟩ ): page.pdf with page_count, pages_read and truncated.510 free calls a day. Costs US$0.002 per call ⟨38 unchanged words⟩ Without one it uses the free trial (510 calls a day per address), then returns ⟨6 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨40 unchanged words⟩ call; page monitoring, nothing stored, no callbacks.510 free calls a day. Costs US$0.003 per call ⟨38 unchanged words⟩ Without one it uses the free trial (510 calls a day per address), then returns ⟨6 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨78 unchanged words⟩ the full service, with pdf_page and pdf_page_end.510 free calls a day. Costs US$0.10 per call ⟨38 unchanged words⟩ Without one it uses the free trial (510 calls a day per address), then returns ⟨6 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨70 unchanged words⟩ , one verify/quote call per pair costs less.510 free calls a day. Costs US$0.10 per call ⟨38 unchanged words⟩ Without one it uses the free trial (510 calls a day per address), then returns ⟨6 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨74 unchanged words⟩ the full service, with pdf_page and pdf_page_end.510 free calls a day. Costs US$0.01 per call ⟨38 unchanged words⟩ Without one it uses the free trial (510 calls a day per address), then returns ⟨6 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨74 unchanged words⟩ per quote. Full service only; PDFs give pdf_page.510 free calls a day. Costs US$0.02 per call ⟨38 unchanged words⟩ Without one it uses the free trial (510 calls a day per address), then returns ⟨6 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨80 unchanged words⟩ match, not where the text came from.510 free calls a day. Costs US$0.005 per call ⟨38 unchanged words⟩ Without one it uses the free trial (510 calls a day per address), then returns ⟨6 unchanged words⟩
⟨72 unchanged words⟩ in USDC via x402 (Base), chargedonlywhen the callsucceeds;answers below 400 (a no-match or not-found result is charged too); a bad request is refused unpaid. Pay by ⟨30 unchanged words⟩
⟨73 unchanged words⟩ in USDC via x402 (Base), chargedonlywhen the callsucceeds;answers below 400 (a no-match or not-found result is charged too); a bad request is refused unpaid. Pay by ⟨30 unchanged words⟩
⟨56 unchanged words⟩ in USDC via x402 (Base), chargedonlywhen the callsucceeds;answers below 400 (a no-match or not-found result is charged too); a bad request is refused unpaid. Pay by ⟨30 unchanged words⟩
⟨94 unchanged words⟩ in USDC via x402 (Base), chargedonlywhen the callsucceeds;answers below 400 (a no-match or not-found result is charged too); a bad request is refused unpaid. Pay by ⟨30 unchanged words⟩
⟨86 unchanged words⟩ in USDC via x402 (Base), chargedonlywhen the callsucceeds;answers below 400 (a no-match or not-found result is charged too); a bad request is refused unpaid. Pay by ⟨30 unchanged words⟩
⟨90 unchanged words⟩ in USDC via x402 (Base), chargedonlywhen the callsucceeds;answers below 400 (a no-match or not-found result is charged too); a bad request is refused unpaid. Pay by ⟨30 unchanged words⟩
⟨91 unchanged words⟩ in USDC via x402 (Base), chargedonlywhen the callsucceeds;answers below 400 (a no-match or not-found result is charged too); a bad request is refused unpaid. Pay by ⟨30 unchanged words⟩
⟨96 unchanged words⟩ in USDC via x402 (Base), chargedonlywhen the callsucceeds;answers below 400 (a no-match or not-found result is charged too); a bad request is refused unpaid. Pay by ⟨30 unchanged words⟩
⟨9 unchanged words⟩ "urls":{"description":"1 to 10 items, each an http(s)URLsURLtostringcheck.or { \"url\", \"expected_text\" }. Dead domains are reported as results; if none resolves, 422 and no charge.","items":{"anyOf":[{"minLength":1,"type":"string"},{"additionalProperties":false,"properties":{"expected_text":{"description":"Optional text the page should contain (fuzzy match). Reported as expected_text.match; it does not change the link verdict.","type":"string"},"url":{"minLength":1,"type":"string"}},"required":["url"],"type":"object"}]},"maxItems":10,"minItems":1,"type ⟨5 unchanged words⟩
⟨6 unchanged words⟩ ":"One entry per URL, each with a link verdict (ok, broken, moved or unknown; per URL, signed into the receipt), server_ip, tls and headers (network evidence also ⟨14 unchanged words⟩ URL redirected to another site that answers 4xx/5xx. expected_text: null unless the item sent expected_text and the page was read as real; then { match: exact, fuzzy or none, score, start, end, context, quote_sha256, evidence }, reported only (the verdict does not change).","type":"array"},"tier":{ ⟨7 unchanged words⟩
⟨9 unchanged words⟩ "Check up to 10 links in one call: a link verdict (ok, broken, moved, unknown) per URL, optional expected_text"}
⟨34 unchanged words⟩ other text.","type":"string"},"history":{"description":"Optional: up to 10 earlier receipts of this service for the same url, oldest first (fetch, verify/quote or recheck; paid or trial). Adds a timeline. Not stored.","items":{"type":"string"},"maxItems":10,"minItems":1,"type":"array"},"quote":{"description":"Only with a verify/quote receipt in exact or fuzzy mode: the quote exactly as it was sent to verify/quote. Must match the one the receipt signed. We re-test it on the live page and answer quote.verdict: still_exact, now_exact, now_fuzzy, now_missing or unchecked.","type":"string"},"quotes":{"description":"Only with a verify/quotes receipt in exact or fuzzy mode: all of its quotes, exactly as sent to verify/quotes, in the same order. Each must match the one the receipt signed. We re-test each on the live page and answer quotes[i].verdict (same values as quote.verdict). Not with quote.","items":{"type":"string"},"maxItems":20,"minItems":1,"type":"array"},"receipt":{"description":"Compact JWS receipt from an earlier /v1/fetch, /v1/verify/quote, /v1/verify/quotes or /v1/recheck call of this service (paid ⟨49 unchanged words⟩
⟨62 unchanged words⟩ ]},"tier":{"type":"string"},"timeline":{"description":"Only with history: each history receipt, then this check; changed compares clean-text hashes with the entry before.","type":["array","null"]}},"required":["change","changed"," ⟨6 unchanged words⟩
⟨86 unchanged words⟩ ,"format":{"description":"markdown (default)or, text (only bare URLs and [n] references are links) or html (<a href> links, <blockquote> and <q> quotes; other tags are dropped).","enum":["markdown","text","html"],"type":"string"},"match": ⟨138 unchanged words⟩
⟨28 unchanged words⟩ and get back exact, fuzzy or none, with offsets and a signed receipt, so a misquote ⟨25 unchanged words⟩ PDFs are read too, on the full service(edge: 501 not_on_edge, uncharged), with pdf_page and pdf_page_end. 5 free calls ⟨55 unchanged words⟩