Service details
Citation Overlap Checker
Find overlap in supplied citations and article HTML
0.05 USDC per accepted request
3 free results per wallet. Signature required; no funding needed. Shared wallets share the allowance.
First time? Give your AI a prepared trial task →
Know its boundaries.
- Retrieving URLs or discovering unprovided pages
- Judging claim truth or whether a link supports the claim
- Establishing source independence or proving copying/dependence
- Discovering semantic paraphrases or unlinked common origins
- Executing HTML, JavaScript or model inference
Data handling
Inputs/results are processed in memory and not retained or logged. Bounded operational telemetry and payment records are retained; no caller content is sent to a model or fetched from URLs.
Input example and exact contract
{
"claim": "Reported benefit",
"citations": [
{
"id": "a",
"url": "https://a.test",
"html": "<a href=\"https://b.test\">Source</a>"
},
{
"id": "b",
"url": "https://b.test"
}
]
}Example output
{
"service": "citation-overlap-checker",
"schema_version": "1",
"shared_origin_groups": [],
"supplied_lineage_links": [],
"shared_link_candidates": [],
"citation_link_candidates": [
{
"from_id": "a",
"to_id": "b",
"locations": [
{
"target_url": "https://b.test/",
"line": 1,
"column": 0,
"anchor_text": "Source"
}
],
"status": "citation_link_candidate"
}
],
"unresolved_citation_ids": [
"a",
"b"
],
"independence": "unknown",
"coverage": {
"citation_count": 2,
"html_document_count": 1
},
"limitations": [
"Supplied lineage is not independently verified.",
"Links may be navigation or unrelated to the claim; candidates are not verified dependencies.",
"No URLs are fetched. Missing links do not establish independence.",
"Claim truth and semantic relevance are not assessed."
]
}Calling, result interpretation and recovery
Calling
- Content type
application/json
- Endpoint
POST /v1/research/citations/check-source-overlap with claim:string and citations:array.
- Citation
Each citation requires a unique id and HTTPS url. html is optional supplied article text. derives_from names one citation id in this same bundle and must be paired with evidence_locator.
- Prerequisite
To find shared links, supply article HTML you already hold. URLs alone allow duplicate grouping; declared lineage adds groups but is not independently verified. claim is a context label, not a semantic query.
Interpret the result
- Shared origin groups
Groups based on identical normalized URL or caller-declared lineage; not proven common editorial origin.
- Supplied lineage links
Unverified parent relationships supplied by the caller.
- Shared link candidates
Common hyperlink targets with documents and HTML locations. May be navigation or unrelated to the claim.
- Citation link candidates
One supplied HTML document links to another citation. A candidate for inspection, not proof of dependence.
- Unresolved citation ids
Citations whose normalized URL or supplied ancestry did not put them in a multi-citation source group; this is independent of the link-candidate arrays.
- Coverage
Counts of citations and nonempty supplied HTML documents, not coverage of the web.
- Independence
Always unknown. Empty findings do not mean independent sources.
- Locations
One-based HTML line and zero-based column in the submitted HTML, with target_url and untrusted anchor_text. These are not necessarily positions on the current live page.
Limits
- Request bytes
262144
- Claim characters
4000
- Citations min
2
- Citations max
10
- Html bytes per citation
131072
- Usable https anchors per citation
100
- Result bytes
65536
- Semantics
Unique local citation IDs; declared parent must exist; cycles rejected.
No remote requests. Prefer article-body HTML to navigation-heavy pages.
Input and output bounds are validated before payment.
claim and evidence_locator must contain non-whitespace text. URL credentials, whitespace and malformed ports are rejected.
URL normalization lowercases hosts, removes fragments/default HTTPS port and fills an empty path with /. Query strings remain significant.
Relative hrefs resolve against the supplied citation URL. Fragment-only/self links, non-HTTPS targets and links inside script/style/template are ignored.
Only completed anchor tags are recorded; malformed HTML can hide links. Anchor text is capped at 256 characters and is untrusted content.
Payment and recovery
- Price
0.05 native USDC per accepted request
- Network
Solana mainnet or Base mainnet
- Protocol
x402 v2 exact
- Quote
Send the valid intended JSON body without PAYMENT-SIGNATURE. The 402 PAYMENT-REQUIRED header is base64 JSON containing accepted payment requirements and discovery metadata. It is not a service result.
- Authorization
Choose one accepts entry with a standard x402 v2 client. Check native USDC, network, recipient, amount and intended input before signing. Solana uses an SVM transaction; Base uses an EOA EIP-3009 authorization (USD Coin version 2). Send the proof with identical JSON input. No API key, token approval, bridge or Solana wallet is needed for Base. Never automatically fall back to another network.
- Retry
On 202, timeout or an ambiguous failure, retry the identical body and original proof. Do not sign or pay again. Retry-After is 5 seconds for 202.
- Finality
A finalized response independently checks chain success and the exact transfer. On Base, a 200 marked provisional arrives once the exact transfer is in a canonical block; finality is then confirmed independently and later retries return finalized. A 202 remains pending. After 15 minutes of uncertainty, a provisional 200 may carry X-Mekler-Purchase-Id without PAYMENT-RESPONSE; it does not prove settlement. Retry the identical proof and input, including after quote expiry, rather than paying again.
- Expiry
Ongoing service under recurring monthly authority. Budget warnings do not stop service. Short-lived quotes and recovery retention still expire.
- Networks
solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
eip155:8453
- Assets
- Solana:5eykt4usfv8p8njdtrepy1vzqkqzkvdp
EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
- Eip155:8453
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
- Fees
CDP sponsors the payment transaction gas on both networks. The service price is the same on either network; wallet funding or exchange fees are separate.
- Request binding
The server authenticates the complete quote and input and atomically binds the first accepted authorization to them. Standard Base EIP-3009 signs the money terms and nonce, not HTTP content. Keep signatures private; do not reuse an authorization for another quote, operation or body.