Price and network
$0.05 USDC per verification on Base mainnet (eip155:8453). No account.
Agent Tools · SEC Filing Proof
Live · $0.05 USDC · Base mainnet
Send a ticker or CIK plus one financial claim. SEC Filing Proof identifies the issuer, the relevant 10-Q / 10-K period, and the matching XBRL fact, then returns supported, contradicted, or a fail-closed state with official SEC evidence. It is not a market-data feed, stock picker, or investment advice.
Contract
$0.05 USDC per verification on Base mainnet (eip155:8453). No account.
ticker or cik, plus claim. Optional filing_type, period, fiscal_year.
supported, contradicted, insufficient_evidence, ambiguous_period, ambiguous_concept.
company_not_found, filing_not_found, sec_unavailable, unsupported_claim_type. Ambiguity is never a confident yes.
Machine / developer
POST https://sec-filing-proof.mattskowronis.workers.dev/v1/verify
Content-Type: application/json
{"ticker":"AAPL","claim":"Revenue increased year over year in the latest reported quarter."}
Unauthenticated request returns 402 + PAYMENT-REQUIRED.
Pay 50000 atomic USDC on eip155:8453, then retry with PAYMENT-SIGNATURE.
Streamable HTTP MCP: https://sec-filing-proof.mattskowronis.workers.dev/mcp.
Tool: verify_sec_filing_claim. Discovery is free. Verification is paid.
Agent Card: https://sec-filing-proof.mattskowronis.workers.dev/.well-known/agent-card.json.
JSON-RPC: POST https://sec-filing-proof.mattskowronis.workers.dev/a2a. Skill verify_sec_filing_claim.
const unpaid = await fetch("https://sec-filing-proof.mattskowronis.workers.dev/v1/verify", {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({
ticker: "AAPL",
claim: "Revenue increased year over year in the latest reported quarter.",
}),
});
// unpaid.status === 402
// Use only if result.source_status === "verified" && result.verdict === "supported" import json
from urllib.request import Request
VERIFY = "https://sec-filing-proof.mattskowronis.workers.dev/v1/verify"
body = {"ticker": "AAPL", "claim": "Revenue increased year over year in the latest reported quarter."}
req = Request(VERIFY, data=json.dumps(body).encode(),
headers={"content-type": "application/json"}, method="POST")
# 402 is expected without an x402 payment signature. result = verify_sec_filing_claim(ticker_or_cik, claim)
if result.source_status == "verified" and result.verdict == "supported":
use(claim)
else:
do_not_rely_on_the_claim(result.verdict, result.source_status)