Agent Tools · SEC Filing Proof

Live · $0.05 USDC · Base mainnet

Does the company’s SEC filing actually support this financial claim?

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

Ticker/CIK + claim → official SEC evidence → verdict.

Price and network

$0.05 USDC per verification on Base mainnet (eip155:8453). No account.

Input

ticker or cik, plus claim. Optional filing_type, period, fiscal_year.

Verdicts

supported, contradicted, insufficient_evidence, ambiguous_period, ambiguous_concept.

Fail-closed source states

company_not_found, filing_not_found, sec_unavailable, unsupported_claim_type. Ambiguity is never a confident yes.

Machine / developer

How to call it.

Direct x402 HTTP

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.

MCP

Streamable HTTP MCP: https://sec-filing-proof.mattskowronis.workers.dev/mcp. Tool: verify_sec_filing_claim. Discovery is free. Verification is paid.

A2A

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.

JavaScript / TypeScript

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"

Python

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.

Agent pseudocode

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)