# Source Claim Verification > Does this specific source actually support this specific claim? Send one claim and one source (URL or text); get a verdict with verbatim evidence passages, their locations, and a structured component analysis. Paid per request with x402 (USDC on Base mainnet (eip155:8453)). This is a claim-to-source relationship checker, not a general fact-checker. NOT_FOUND_IN_SOURCE means only that the given source does not provide support; it is not evidence that the claim is false. ## Endpoint POST https://sourceclaimverification.online/api/v1/verify Headers: Content-Type: application/json; Idempotency-Key: <16-128 chars [A-Za-z0-9_-], random, keep secret>; PAYMENT-SIGNATURE: (after the 402 challenge) Body: {"claim": "...", "source_url": "https://..."} (the service fetches the page) {"claim": "...", "source_text": "...", "source_label": "..."} (you supply the text; marked as requester-provided) Optional: output_language (BCP-47, e.g. "ja"), source_language (hint), strictness ("standard" | "strict"), max_source_age_seconds (0-86400, default 600; 0 forces a fresh fetch). Flow: POST without payment → HTTP 402 with the x402 requirement (PAYMENT-REQUIRED header and JSON body) → sign an EIP-3009 USDC authorization for the exact amount → repeat the identical request with the same Idempotency-Key plus PAYMENT-SIGNATURE → 200 with the verdict (PAYMENT-RESPONSE header carries the settlement transaction). Free validation and price: POST https://sourceclaimverification.online/api/v1/quote (same body; no payment, no retrieval). Stored result: GET https://sourceclaimverification.online/api/v1/verifications/{request_id} with Authorization: Bearer . ## Verdicts - SUPPORTED: The source provides sufficient evidence for the material meaning of the claim. - CONTRADICTED: The source materially conflicts with the claim. - PARTIALLY_SUPPORTED: The source supports only part of the claim, or supports it only with material limitations (missing qualifier, attribution, narrower scope). - AMBIGUOUS: The source contains potentially relevant material, but the relationship to the claim is not sufficiently clear. - NOT_FOUND_IN_SOURCE: The source was retrieved and examined, but material supporting or contradicting the claim was not found. This is NOT evidence that the claim is false. - SOURCE_UNAVAILABLE: The source could not be retrieved or reliably parsed. No charge is made for this outcome. - UNABLE_TO_VERIFY: Evidence was examined but no defensible determination could be made. Confidence (HIGH / MEDIUM / LOW) describes how clearly the source settles the claim-to-source relationship, based on evidence quality, coverage and deterministic checks. It is not a probability that the claim is true. ## Response fields verdict, verdict_label, verdict_meaning, confidence, claim {text, language}, source {url, final_url, title, published_at, retrieved_at, language, content_sha256, cache {used, original_retrieved_at}, examination {passages_total, passages_examined, complete, method}, provided_by_requester, unavailable_reason}, evidence[] {passage (verbatim original), language, location {passage_id, block_index, heading, char_start}, relation (SUPPORTS | CONTRADICTS | PARTIALLY_SUPPORTS | CONTEXT), assertion_type (DIRECT_SOURCE_STATEMENT | ATTRIBUTED_STATEMENT | SECONDARY_REPORTING | INFERENCE), attributed_to, translation (derived, optional)}, analysis {subject_match, action_or_fact_match, quantity_match, time_match, location_match, polarity_match, qualifiers_preserved, attribution_preserved, missing_qualifiers[], mismatches[], components[]}, explanation, guards[], limitations[], payment {amount, charged, transaction}. ## Pricing 0.048 USDC per verification on Base mainnet (eip155:8453). One price per verification, quoted before any work and bound into the x402 payment requirement. You are charged only when the source was retrieved and a verdict was produced: SOURCE_UNAVAILABLE and model/provider failures are not charged (the payment authorization is not settled). Requests rejected by validation are never charged. Retrying with the same Idempotency-Key never charges twice. ## Limits and behavior - Claim ≤ 1000 characters; source_text ≤ 100000 characters; request body ≤ 128 KiB. - Sources: public HTML pages, plain text and JSON over http(s) ports 80/443; up to 5 redirects; 3 MB download limit; 12 s retrieval timeout. PDF, DOCX and JavaScript-only pages are not fetched in this version: send the text as source_text. - No bypass of logins, paywalls, CAPTCHAs, bot challenges or rate limits: such sources return SOURCE_UNAVAILABLE (not charged). - Private, loopback, link-local and metadata addresses are refused, including via redirects and DNS. - Large pages are reduced to the most relevant passages (≈3500 tokens; ≈6000 for cross-language checks); source.examination reports coverage. - Source content is treated as untrusted data; instructions inside a page are ignored. - Evidence passages are short verbatim excerpts in the original language; translations are separate and marked as derived. - Claims and sources may be in any language; claim and source languages may differ. Language fields use ISO codes, "UNKNOWN" or "MULTILINGUAL". ## Docs - Human and agent documentation: https://sourceclaimverification.online/docs - OpenAPI: https://sourceclaimverification.online/openapi.json - Pricing: https://sourceclaimverification.online/api/v1/pricing - Terms: https://sourceclaimverification.online/terms · Privacy: https://sourceclaimverification.online/privacy