{"service":"sanctions-screen","name":"Sanctions Screen API","description":"Fuzzy OFAC sanctions-name screening behind x402. The full SDN + Consolidated lists (19k+ entities, 40k+ names/aliases, refreshed daily from treasury.gov) are bundled in-Worker with a precomputed match index — screening runs entirely at the edge with zero upstream calls. Returns match/possible_match/clear decisions with scored evidence, entity dossiers (including identifiers OFAC buries in remarks: DOB, passports, IMO numbers, digital-currency addresses), vessel search, and a rolling change log. Not legal or compliance advice.","disclaimer":"Screening aid against public OFAC data — not legal or compliance advice; a possible match requires human review. All information is provided \"AS IS\" without warranty of any kind, for informational purposes only. We accept no responsibility or liability for any decision, loss, or action taken in reliance on it. Always verify independently before acting.","basePath":"/sanctions-screen","url":"https://x402.professorsausages.com/sanctions-screen","environment":{"name":"production","chain":"mainnet"},"payment":{"protocol":"x402","asset":"USDC","network":"base","payTo":"0x54ebFCF3870439B9db62381848c5DabC05c70d5B","flow":"Call any endpoint; on HTTP 402 read `accepts`, send the X-PAYMENT header, and retry."},"pricing":{"model":"pay-per-call","asset":"USDC","perCall":"$0.01–$0.05","paid":5,"free":2,"beta":0,"summary":"$0.01–$0.05 USDC per call · 5 paid endpoints, 2 free"},"sample":{"url":"https://x402.professorsausages.com/sanctions-screen/sample","note":"FREE — one real cached response from this API (with its capture timestamp), so you can judge the data quality before paying. Every API here has one at /<api>/sample."},"endpoints":[{"method":"GET","path":"/sanctions-screen/coverage","price":"free","status":"stable","summary":"Dataset freshness + scope (free teaser)","description":"The free scope-and-freshness report for the OFAC screening corpus: how much there is to screen against, and how old it is. One screenable entity total that reconciles with both the per-list entry counts and the entity-type breakdown, each list's underlying OFAC source-row count, the crypto-linked entity count, the OFAC publication date that anchors every paid answer, and the matching algorithm's version and decision thresholds. Read the freshness block before paying: it ages OFAC's publication date at the moment you call and turns its status stale once that date is older than the threshold it publishes alongside it, which the build timestamp cannot tell you."},{"method":"GET","path":"/sanctions-screen/programs","price":"free","status":"stable","summary":"Sanctions program legend (free teaser)","description":"The free vocabulary for the `program` filter on the paid endpoints: every sanctions program tag the corpus actually uses, biggest first. Each one comes back with OFAC's own published program name and the authority behind it — executive order, C.F.R. part or public law — plus which list it appears on and how many entities carry it, alongside a count of how many of the tags are labelled at all. Where OFAC publishes no expansion the label is null rather than the tag repeated back, so an untranslated tag is never disguised as its own translation."},{"method":"GET","path":"/sanctions-screen/screen","price":"$0.01","status":"stable","summary":"Fuzzy-screen one name against OFAC SDN + Consolidated","description":"Screen a person/company/vessel/aircraft name against every OFAC SDN and Consolidated (non-SDN) primary name and alias with deterministic fuzzy matching (token-sort Jaro-Winkler + IDF token overlap; typo-tolerant). Returns match | possible_match | clear plus scored, evidence-bearing matches and the OFAC publication date. Screening aid — not legal advice.","params":[{"name":"name","in":"query","required":true,"type":"string","example":"Ivan Ivanov","description":"Name to screen, 2 to 200 characters."},{"name":"type","in":"query","required":false,"type":"string","example":"individual","enum":["individual","entity","vessel","aircraft"],"description":"Restrict to one party type."},{"name":"program","in":"query","required":false,"type":"string","example":"UKRAINE-EO13662","description":"Comma-separated program tags. See /sanctions-screen/programs."},{"name":"list","in":"query","required":false,"type":"string","example":"all","enum":["sdn","cons","all"],"default":"all","description":"Which OFAC list to screen against."},{"name":"minScore","in":"query","required":false,"type":"integer","example":85,"default":85,"description":"Minimum match score to report."},{"name":"limit","in":"query","required":false,"type":"integer","example":5,"default":5,"description":"How many matches to return."}]},{"method":"GET","path":"/sanctions-screen/screen/batch","price":"$0.05","status":"stable","summary":"Screen up to 25 names in one call","description":"Batch form of /screen for back-book sweeps: pipe-separated names (max 25), one settlement. The whole batch is validated before payment applies — malformed batches are rejected free.","params":[{"name":"names","in":"query","required":true,"type":"string","example":"Ivan Ivanov|Acme Trading Ltd","description":"Pipe-separated names, at most 25, each 2 to 200 characters."},{"name":"type","in":"query","required":false,"type":"string","example":"individual","enum":["individual","entity","vessel","aircraft"],"description":"Restrict to one party type."},{"name":"program","in":"query","required":false,"type":"string","example":"UKRAINE-EO13662","description":"Comma-separated program tags."},{"name":"list","in":"query","required":false,"type":"string","example":"all","enum":["sdn","cons","all"],"default":"all","description":"Which OFAC list to screen against."},{"name":"minScore","in":"query","required":false,"type":"integer","example":85,"default":85,"description":"Minimum match score to report."}]},{"method":"GET","path":"/sanctions-screen/entity/:id","price":"$0.01","status":"stable","summary":"Full OFAC dossier for one entity","description":"Everything OFAC publishes about one ent_num, joined and parsed: every alias and address, the program tags, the identifiers buried in free-text remarks (dates and places of birth, passports, IMO numbers, digital-currency addresses with /address-screen cross-links), vessel and aircraft detail, the secondary-sanctions flag, Linked To, and the full remarks. Every answer carries the OFAC publication date it was built from, so a dossier is auditable to a specific published list. A well-formed ent_num that no SDN or Consolidated record carries is a complete paid answer — `found:false` with a `why` block and the dossier fields nulled — so an absence is as usable as a hit.","params":[{"name":"id","in":"path","required":true,"type":"integer","example":27307,"description":"OFAC ent_num."}]},{"method":"GET","path":"/sanctions-screen/vessels/search","price":"$0.01","status":"stable","summary":"Maritime screening: vessels by name, call sign, IMO, flag","description":"Vessel-specific screening a generic name check can't do: fuzzy vessel name, exact call sign, exact IMO number extracted from OFAC's free-text remarks, and an optional flag-state filter. Each match returns the ent_num, fuzzy score, primary name, program tags, call sign, vessel type, tonnage, GRT, flag and owner, its IMO number and a link to the full dossier — with `total` matches found reported alongside the `count` actually returned, so a capped result never hides how many exist. An empty result is a complete paid answer that always says which kind of empty it is: an identifier no listed vessel carries, a name nothing scored against, or a flag filter that excluded vessels which are on the list.","params":[{"name":"q","in":"query","required":false,"type":"string","example":"Adrian Darya","description":"Fuzzy vessel name. One of q, callSign or imo is required."},{"name":"callSign","in":"query","required":false,"type":"string","example":"T2EU4","description":"Exact vessel call sign."},{"name":"imo","in":"query","required":false,"type":"string","example":"9116412","description":"Exact 7-digit IMO number."},{"name":"flag","in":"query","required":false,"type":"string","example":"Iran","description":"Flag-state filter."},{"name":"limit","in":"query","required":false,"type":"integer","example":10,"default":10,"description":"How many results to return."}]},{"method":"GET","path":"/sanctions-screen/changes","price":"$0.01","status":"stable","summary":"Recent list changes (adds/removals/modifications)","description":"Every addition, removal and record change observed on the OFAC SDN and Consolidated lists inside a rolling window, so a sweep re-screens only what moved. Each entry comes back newest first with the ent_num, name, party type or kind of change, program tags, its list, and the date we observed it — an observation date, because OFAC's CSV feeds publish no action date — alongside per-bucket counts and the OFAC publication date backing the answer. The log only goes back to the day diffing began, so every response reports its own `loggingSince` and flags a look-back clamped to it: an empty result means nothing moved since that date, never that we were not watching.","params":[{"name":"days","in":"query","required":false,"type":"integer","example":7,"default":7,"description":"Look-back window in days; clamped to the log's coverage start (`loggingSince` in the response)."},{"name":"list","in":"query","required":false,"type":"string","example":"all","enum":["sdn","cons","all"],"default":"all","description":"Which OFAC list to report changes from."},{"name":"program","in":"query","required":false,"type":"string","example":"UKRAINE-EO13662","description":"Filter every bucket by a single program tag. See /sanctions-screen/programs."}]}],"spec":{"openapi":"https://x402.professorsausages.com/sanctions-screen/openapi.json","x402":"https://x402.professorsausages.com/sanctions-screen/.well-known/x402"},"meta":{"catalog":"https://x402.professorsausages.com/","search":"https://x402.professorsausages.com/_meta/search?q=","openapi":"https://x402.professorsausages.com/_meta/openapi.json"},"others":{"description":"Take a look at our other high-quality, x402-native, LLM-optimized APIs. Each serves a FREE real sample record at /<api>/sample — taste before you pay.","apis":[{"service":"token-safety","name":"Token Safety API","status":"live","url":"https://x402.professorsausages.com/token-safety","sample":"https://x402.professorsausages.com/token-safety/sample","category":"Crypto/Security","description":"On-chain token risk screening for agents. PAID — GET /token-safety/check/{chain}/{address} reads a token's public bytecode + ownership directly from Base or Ethereum, follows any proxy to the implementation that actually executes, and returns a heuristic verdict (RISKY | CAUTION | NO_RED_FLAGS_FOUND | INCOMPLETE) with the signals behind it: mintable, blacklist, pausable, fee-setter, upgradeable, and whether ownership is genuinely renounced or merely undeclared. FREE — /token-safety/health probes each chain's RPC live and reports block height and latency. Part of the on-chain agent toolkit: pair it with the address-screening API to vet a counterparty wallet before you transact, and the swap-quote API to price a route once a token clears. Heuristic SIGNALS only — never a safety guarantee; a check that could not be completed comes back as INCOMPLETE with a machine code rather than as a quiet all-clear, and honeypot simulation, holder concentration, LP-lock and role-based admins remain out of scope."},{"service":"address-screen","name":"Address Screen API","status":"live","url":"https://x402.professorsausages.com/address-screen","sample":"https://x402.professorsausages.com/address-screen/sample","category":"Crypto/Compliance","description":"Crypto address risk screening for agents. PAID — screen any address against the FULL OFAC SDN digital-currency sanctions list (refreshed from the live US Treasury feed, segmented by chain: bitcoin, evm, tron, litecoin, monero, dash, zcash, bitcoin-cash, dogecoin and more). EVM chains (base, ethereum) add live on-chain signals (is_contract, tx_count, fresh/never-used wallet); other chains are list-only membership screens. Every answer carries the OFAC list's publication date. Returns a 0–100 risk score and a BLOCKED / REVIEW / NO_RED_FLAGS_FOUND verdict; FREE — a /health route. Part of the on-chain agent toolkit: pair it with token-safety (honeypot, mint/blacklist, owner-privilege scans before you buy a token) and swap-quote (best-execution DEX swap quotes) to screen the counterparty, vet the token, and price the trade in one workflow — and with sanctions-screen to fuzzy-screen the counterparty's NAME (person/company/vessel) against the same OFAC lists this API checks addresses against. Heuristic SIGNALS, not legal or compliance advice."},{"service":"email-check","name":"Email Deliverability Check API","status":"live","url":"https://x402.professorsausages.com/email-check","sample":"https://x402.professorsausages.com/email-check/sample","category":"Trust/Verification","description":"Part of the Trust & Verification suite — verify anything, pay-per-check. Email deliverability SIGNALS validation, computed entirely on-Worker: PAID /check runs nine checks against an address — RFC5322-pragmatic syntax, live MX/SPF/DMARC lookups over DNS-over-HTTPS, a disposable-domain blocklist, role-account + free-provider recognition, gmail-aware normalization, and a unicode/punycode lookalike flag — and returns a verdict (DELIVERABLE_SIGNALS_OK | RISKY | UNDELIVERABLE | INDETERMINATE) with per-check evidence. Honest by design: a Cloudflare Worker cannot open port 25, so SMTP handshake and mailbox existence are never claimed (see not_checked), and a check that could not run never comes back as a clean verdict. FREE /methods lists every check, its data source, the blocklist's size and vintage, and the limitations. Pairs with /domain-intel, /url-screen, /phone-check, /token-safety, /address-screen, and /sanctions-screen — one signals-not-guarantees verification family."},{"service":"domain-intel","name":"Domain Intel API","status":"live","url":"https://x402.professorsausages.com/domain-intel","sample":"https://x402.professorsausages.com/domain-intel/sample","category":"Trust/Verification","description":"Domain registration truth + DNS posture for agents, pay-per-check — part of the Trust & Verification suite (cross-ref /email-check, /url-screen, /phone-check, /token-safety, /address-screen, /sanctions-screen). PAID: /domain/:domain (cached ≤24h) reads RDAP via the IANA bootstrap — registration/expiry/last-changed dates, registrar (+IANA id), statuses, nameservers, DNSSEC — and derives honest flags (young_domain, expiring_soon, privacy_proxy, status_locked) with evidence, never a score; the DNS summary is folded in so one call is complete. Unregistered domains answer { registered:false }. /domain/:domain/live always fetches fresh. /dns/:domain is an ALWAYS-live multi-record DoH lookup (A/AAAA/CNAME/MX/NS/TXT/SOA/CAA + SPF/DMARC). FREE: /methods lists sources, freshness, prices, and limitations. No API keys, no stored data — RDAP + DNS read live."},{"service":"url-screen","name":"URL Screen API","status":"live","url":"https://x402.professorsausages.com/url-screen","sample":"https://x402.professorsausages.com/url-screen/sample","category":"Trust/Verification","description":"Phishing & malicious-URL screening for agents — hand over any http(s) URL and get a structured risk verdict in one paid call. PAID — /screen checks the URL against a bundled abuse.ch URLhaus blocklist snapshot (CC0) plus deterministic live heuristics: punycode/homograph impersonation, brand lookalike/typosquat against 169 high-value brands (including the correctly-spelled kind, login-paypal.com), and URL-shape red flags (IP-literal host, embedded credentials, deep subdomains, abused TLDs, URL shorteners); optional ?follow=1 follows and re-screens up to 5 SSRF-guarded redirects. FREE — /methods lists every check, the snapshot date + count + staleness status, and honest limitations. Verdicts are MALICIOUS_LISTED / SUSPICIOUS_PATTERNS / NO_KNOWN_SIGNALS — never 'safe' — and never quieter than the evidence beneath them. A listing on shared hosting (GitHub, Google Drive, IPFS gateways) is reported as information about a neighbouring path, not as a verdict. Part of the Trust & Verification suite: pair with /email-check (deliverability), /domain-intel (RDAP age/registrar — the domain_age this screen omits), /phone-check (line validity), /token-safety and /address-screen (on-chain risk), and /sanctions-screen (OFAC). Snapshot is not realtime and Google Safe Browsing / OpenPhish are deliberately not used (ToS)."},{"service":"phone-check","name":"Phone Number Validation API","status":"live","url":"https://x402.professorsausages.com/phone-check","sample":"https://x402.professorsausages.com/phone-check/sample","category":"Trust/Verification","description":"Phone-number validation for agents — is this number real, what region and line type, and its canonical E.164 form, in one paid call. PAID — /check parses any raw number (spaces/dashes/parens fine), normalizes to E.164 + international/national/RFC-3966 forms, classifies the line type (mobile, fixed_line, toll_free, premium_rate, voip, …), and returns a verdict (VALID | POSSIBLE_BUT_INVALID | INVALID | NO_RULES_FOR_RANGE) with evidence that names the numbering plan it applied; /batch validates up to 25 numbers at once with per-item error isolation (sanctions-screen-style batch ergonomics). FREE — /regions lists every supported region, the method, and — honestly — what is NOT checked. Pure CPU via Google's libphonenumber compiled in: deterministic and PRIVATE — numbers never leave the Worker and nothing is stored. Numbering-plan PATTERN validation only: block allocation is not checked (a reserved-for-fiction range inside a real plan still matches), and neither is carrier lookup, HLR, or line-activity (those need paid telco APIs) — we say so on every response. Part of the Trust & Verification suite: cross-sells /email-check, /domain-intel, /url-screen, /sanctions-screen, /token-safety, and /address-screen — verify emails, domains, URLs, phones, wallets, and counterparties, pay-per-check."},{"service":"swap-quote","name":"Swap Quote API","status":"live","url":"https://x402.professorsausages.com/swap-quote","sample":"https://x402.professorsausages.com/swap-quote/sample","category":"Crypto/DeFi","description":"Read-only on-chain swap pricing for agents. PAID — GET an indicative quote for a token pair with a DIRECT UniswapV2 pool, from that pool's live reserves (constant-product x*y=k, 0.3% fee): amount out, realized price, price impact, the reserves the number came from, and a usable/warnings verdict that marks a dust-pool payout as not-a-price — with NO execution and NO custody. No direct V2 pool means a complete paid answer saying so, not a routed quote. FREE — a /health liveness check. Part of an on-chain agent toolkit: pair this with token-safety (contract risk + honeypot/owner signals before you trade) and address-screen (screen a counterparty or recipient wallet). Deterministic structured JSON built for agent reasoning. v1 covers Base + Ethereum UniswapV2 single-pool quotes; V3/Aerodrome, multi-hop routing via WETH, and USD pricing are on the v2 roadmap."},{"service":"gas-oracle","name":"Gas Oracle API","status":"live","url":"https://x402.professorsausages.com/gas-oracle","sample":"https://x402.professorsausages.com/gas-oracle/sample","category":"Crypto/DeFi","description":"Live multi-chain gas oracle for on-chain agents. PAID — GET bid-ready EIP-1559 fee suggestions (slow/standard/fast maxFeePerGas & maxPriorityFeePerGas, tx-ready wei), USD tx-cost estimates that include the OP-stack L1 data fee naive estimators miss, a `/compare` ranking of every chain by all-in USD cost (the 'cheapest chain right now' routing decision), base-fee `/history` for wait-or-send timing, the EIP-4844 blob market, and keyless Chainlink native-token USD `/prices`. FREE — `/chains` lists coverage, methodology, and RPC health. Six chains: Ethereum, Base, Arbitrum, Optimism, Polygon, BSC. Data is read live from public RPCs + Chainlink and micro-cached — no API keys, no third-party price service. Part of an on-chain agent toolkit: pair with swap-quote (price the trade you're about to send), token-safety (contract risk before you touch a token), and address-screen (screen a counterparty). Check gas here before settling x402 payments on Base."},{"service":"prices","name":"Crypto Prices (Chainlink) API","status":"live","url":"https://x402.professorsausages.com/prices","sample":"https://x402.professorsausages.com/prices/sample","category":"Crypto/Market-Data","description":"Decentralized crypto spot prices + oracle price history for on-chain agents, read DIRECTLY from Chainlink price feeds on-chain via RPC — no CoinGecko/CMC, no centralized price API, and no data-provider licensing (permissionless oracle data). PAID — /spot/:pair returns the live latestRoundData USD price with round metadata, staleness, and the feed address; /history/:pair walks the feed's getRoundData rounds into a time series + summary (oldest/newest/change/min/max); /convert crosses two assets via their USD feeds and reports both legs. FREE — /feeds lists every validated feed (each address verified on-chain before shipping) with its own heartbeat and deviation threshold, how prices are sourced, and the honest limitations. These are oracle MID-prices on a heartbeat/deviation update model — not tick-by-tick exchange data — so history spacing is the feed's update cadence, not fixed candles, and `stale` is judged against each feed's OWN heartbeat rather than one cutoff for the whole registry. Part of the on-chain agent toolkit: pair with gas-oracle (what a tx costs right now), swap-quote (price the trade you're about to send), and token-safety (contract risk before you touch a token)."},{"service":"ens-resolve","name":"ENS Resolve API","status":"live","url":"https://x402.professorsausages.com/ens-resolve","sample":"https://x402.professorsausages.com/ens-resolve/sample","category":"Crypto/Identity","description":"Spoof-safe ENS resolution for on-chain agents. PAID — forward-resolve a name to an EIP-55 address (`/name`, the payment-path workhorse), reverse-resolve an address to its primary name FORWARD-VERIFIED so a spoofed reverse record can never be trusted (`/address`), read arbitrary text records (`/text`), pull a full multichain identity card in one call — addresses across eth/base/arbitrum/optimism, standard texts, contenthash, and a dereferenced avatar (`/profile`), dereference NFT/ipfs avatars to an image URL (`/avatar`), and resolve up to 25 names/addresses in one mixed `/batch`. FREE — `/status` proves liveness with a live demo resolution. Resolution is done inside the Worker via direct eth_calls to the ENS UniversalResolver over free public RPCs — ENSIP-15 normalization (confusable/homograph names are REJECTED, never resolved), keccak namehash, and client-side CCIP-Read for offchain names (cb.id, uni.eth subnames). No third-party resolver API, no keys. Part of an on-chain agent toolkit: every resolved address links straight to address-screen (is this wallet sanctioned/risky?) and token records to token-safety (contract risk before you touch a token); price the trade with swap-quote and the gas with gas-oracle. Resolve `pay vitalik.eth` to an address, screen it, then settle the x402 payment on Base."},{"service":"chain-registry","name":"Chain Registry API","status":"live","url":"https://x402.professorsausages.com/chain-registry","sample":"https://x402.professorsausages.com/chain-registry/sample","category":"Crypto/Reference","description":"Canonical EVM chain metadata for agents touching an unfamiliar chainId — cleaned, probed, and indexed from ethereum-lists/chains (MIT, the data behind chainlist.org). PAID — /chain/{id} returns the full record (name, native currency with correct decimals, liveness-scored public RPCs, explorers, testnet/L2 flags, redFlags); /chain/{id}/rpc returns just the live, latency-ranked RPCs — each eth_chainId-probed and verified to actually report the chainId it claims (stale forks and misconfigured gateways caught); /wallet-config/{id} returns a ready-to-submit EIP-3085 wallet_addEthereumChain object; /search finds chains by name/symbol; /l2s enumerates a parent chain's L2s with bridges; /batch resolves up to 50 chains in one call. FREE — /stats coverage + freshness (carries the MIT attribution). Cross-sells /gas-oracle for live fees on the chains it covers, and pairs with /token-safety and /address-screen once the agent is on-chain. Probe scores are datacenter reachability rankings, not a locale guarantee."},{"service":"company","name":"Company Enrichment API","status":"live","url":"https://x402.professorsausages.com/company","sample":"https://x402.professorsausages.com/company/sample","category":"Finance","description":"Company enrichment for agents — hand over a ticker, CIK, or name and get ground-truth SEC identity plus financial highlights in one call. This is the enrichment entry point to the whole SEC filings suite: resolve once here, then follow the cross-links into 10-K/10-Q/8-K filings, insider trades, and 13F holdings. PAID — /company/:idOrTicker returns the EDGAR profile (name, tickers, exchanges, SIC/industry, filer category, fiscal year end, state of incorporation, EIN, HQ address, and recent-filing cadence); /company/:idOrTicker/financials returns as-reported XBRL highlights (assets, liabilities, equity, revenues, net income, cash); /company/search fuzzy-matches a name or ticker to the right company. FREE — /company/methods lists resolution options, data sources, coverage, and what each route returns (prices live in each route's 402 challenge and /.well-known/x402, never in prose). All data comes from keyless SEC EDGAR (submissions + XBRL), edge-cached 24h. US SEC filers only; domain→company is not supported (EDGAR has no domain index); figures are as-reported, not advice."},{"service":"sec-10k","name":"SEC 10-K Annual Reports API","status":"live","url":"https://x402.professorsausages.com/sec-10k","sample":"https://x402.professorsausages.com/sec-10k/sample","category":"Finance","description":"U.S. SEC 10-K ANNUAL reports made agent-ready — give a ticker or CIK and get the latest 10-K's key sections (business overview, risk factors, MD&A, financial statements) as clean text instead of multi-megabyte EDGAR HTML. Resolved and parsed on demand, edge-cached per filing. Part of the SEC filing family with sec-10q (quarterly) and sec-8k (current reports)."},{"service":"sec-10q","name":"SEC 10-Q Quarterly Reports API","status":"live","url":"https://x402.professorsausages.com/sec-10q","sample":"https://x402.professorsausages.com/sec-10q/sample","category":"Finance","description":"U.S. SEC 10-Q QUARTERLY reports made agent-ready — give a ticker or CIK and get the latest quarter's financial statements, MD&A, market-risk and updated risk factors as clean sectioned text instead of raw EDGAR HTML. Resolved and parsed on demand, edge-cached per filing. Part of the SEC filing family with sec-10k (annual) and sec-8k (current reports)."},{"service":"sec-8k","name":"SEC 8-K Current Reports API","status":"live","url":"https://x402.professorsausages.com/sec-8k","sample":"https://x402.professorsausages.com/sec-8k/sample","category":"Finance","description":"U.S. SEC 8-K CURRENT reports (material events) made agent-ready — give a ticker or CIK and get the latest 8-K's event items (earnings releases 2.02, executive changes 5.02, M&A 2.01, material agreements 1.01…) as clean labelled text instead of raw EDGAR HTML. Resolved and parsed on demand. Part of the SEC filing family with sec-10k (annual) and sec-10q (quarterly)."},{"service":"insider-trades","name":"Insider Trades API","status":"live","url":"https://x402.professorsausages.com/insider-trades","sample":"https://x402.professorsausages.com/insider-trades/sample","category":"Finance","description":"SEC Form 4 insider transactions made agent-ready — who's buying and selling their own company's stock, normalized from EDGAR XML hours after filing. PAID — /recent is the recent-window buys/sells tape (filter by code P/S, min USD value, and role); /company/{ticker} gives one issuer's full transaction history and /company/{ticker}/summary the one-call open-market net-flow verdict with a per-insider ledger; /insider/{cik} follows one person across every issuer; /screen/cluster-buys surfaces companies where >=3 insiders bought in the open market within 14 days (the classic bullish setup). FREE — /codes transaction-code legend and /coverage freshness. Part of the EDGAR cluster: pairs with sec-filings (check whether insiders are selling into a 10-K's risk factors), ipo-calendar (lockup-expiry sales), and macro-indicators (insider net-flow vs the rate environment). Codes and cluster definitions are documented heuristics — signals, not investment advice."},{"service":"13f-holdings","name":"13F Holdings API","status":"coming-soon","url":"https://x402.professorsausages.com/13f-holdings","sample":"https://x402.professorsausages.com/13f-holdings/sample","category":"Finance","description":"What every institutional manager actually holds, made agent-ready — normalized SEC 13F-HR portfolios for ~8,800 filers (Berkshire, Bridgewater, every hedge fund over $100M), refreshed each quarterly deadline from EDGAR XML. PAID — /manager/{cik} is the full normalized portfolio (multi-lot CUSIPs merged, whole-USD values, put/call flags); /manager/{cik}/changes the precomputed quarter-over-quarter diff (new buys, exits, size changes — the 'what did Berkshire buy' answer); /security/{cusip}/holders inverts the whole quarter into per-security holder lists that don't exist anywhere on EDGAR; /security/{cusip}/changes the institutional crowding flow; /managers/search resolves fuzzy names to filer CIKs; /top the size leaderboard. FREE — /quarters coverage and /manager/{cik}/profile identity teasers. Part of the EDGAR cluster: pair with insider-trades (insiders + institutions on the same ticker) and sec-filings (read the 10-K of a fund's new position). 13F data is quarterly positioning with a 45-day lag — signals, not real-time and not investment advice."},{"service":"macro","name":"US Macro Indicators API","status":"coming-soon","url":"https://x402.professorsausages.com/macro","sample":"https://x402.professorsausages.com/macro/sample","category":"Finance","description":"WIP / FREE (BETA) — currently free while data coverage and freshness are expanded; pricing returns once production-grade. US macro & economic indicators made agent-ready — clean, structured time-series for CPI (inflation), the unemployment rate, real GDP, the effective federal funds rate and the 10-year Treasury yield. Each series carries units, frequency, seasonal adjustment and upstream provenance (BLS, BEA/FRED, NY Fed, U.S. Treasury), with ascending {date, value} observations and an as-of latest value. One call lists every series, one returns a full history, and /snapshot returns the current macro backdrop. Pay-per-call, no API keys."},{"service":"roadmap","name":"Roadmap API","status":"live","url":"https://x402.professorsausages.com/roadmap","sample":"https://x402.professorsausages.com/roadmap/sample","category":"Utility","description":"FREE — the published edge of this gateway's coverage. Every capability we have considered and not built, with what you get today, what you would get if it shipped, whether a costed plan exists, and whether we are blocked on sourcing it at all. Read it when a lookup missed and you need to know if the gap is temporary or permanent. No keys, no payment."},{"service":"patent","name":"US Patent Search API","status":"coming-soon","url":"https://x402.professorsausages.com/patent","sample":"https://x402.professorsausages.com/patent/sample","category":"Research","description":"WIP / FREE (BETA) — currently free; the corpus is a small curated slice of landmark patents while the full USPTO ingest is built, so searches over it are demos, not coverage. Granted US patents made agent-ready — give a patent number and get clean metadata (title, patent_number, grant_date, assignee, inventors, CPC classes, and a concise abstract) instead of scraping PDFs, or search by assignee or keyword to surface the top matches. A curated, scoped slice of landmark US patents, pay-per-call."},{"service":"ipo-calendar","name":"IPO Calendar API","status":"live","url":"https://x402.professorsausages.com/ipo-calendar","sample":"https://x402.professorsausages.com/ipo-calendar/sample","category":"Finance","description":"The US IPO pipeline straight from SEC EDGAR — public domain, no paid feed. PAID — /priced returns recently priced IPOs with parsed 424(b) terms (price per share, share counts, gross proceeds, exchange, ticker, each with the source sentence as evidence); /pipeline lists companies currently in registration (S-1/F-1) filterable by stage, recency, SIC and domestic/foreign; /expected surfaces imminent listings inferred from EFFECT + 8-A12B signals; /company/{cik} gives one issuer's full offering timeline; /withdrawn is the Form-RW risk-sentiment tape. FREE — /stats pipeline snapshot and /stages methodology. Part of the EDGAR cluster: a freshly-listed company links straight into sec-filings (first 10-K/10-Q) and insider-trades (lockup-expiry sales). IPO-vs-follow-on classification and term parsing are documented heuristics with evidence attached — signals, not investment advice."},{"service":"fx-rates","name":"FX Rates API","status":"live","url":"https://x402.professorsausages.com/fx-rates","sample":"https://x402.professorsausages.com/fx-rates/sample","category":"Finance/Reference","description":"Daily reference FX rates for commerce and accounting agents. PAID — the European Central Bank's ~30-currency daily fixings as clean JSON: latest rates rebased to any covered currency, EUR-triangulated cross-rates with auditable legs, amount conversion (the invoicing workhorse), historical snapshots back to 1999, and per-pair series with stats. FREE — the /currencies teaser proving freshness. Every response carries the fixing date, staleness, and ECB attribution: these are daily REFERENCE rates for bookkeeping/reporting, NOT live trading rates — for execution-grade crypto pricing use swap-quote, and see macro-indicators for the rate-context (CPI, policy rates) behind the moves."},{"service":"holidays","name":"Holidays API","status":"live","url":"https://x402.professorsausages.com/holidays","sample":"https://x402.professorsausages.com/holidays/sample","category":"Finance/Reference","description":"Deterministic market & bank holiday calendar for finance agents. PAID — GET the full holiday list for a calendar-year, an `/is-open` check with the reason a market is closed, `/next-session` (next open trading/business day), `/business-days` (working-day count over a range), and `/settle` (T+N settlement date that correctly skips weekends AND holidays — the calculation naive `+2 days` math gets wrong). FREE — `/markets` lists every calendar and methodology. Five calendars: NYSE (US equities, incl. Good Friday), US federal/bank, London Stock Exchange (with substitute days), TARGET2 (EUR settlement), and a generic weekend-only. Rules are computed on-device — no upstream, no API keys, no staleness. The date backbone for the finance suite: pair with fx-rates and prices (is the market even open?), ipo-calendar and macro-indicators (schedule around releases), and convert."},{"service":"iban","name":"IBAN API","status":"live","url":"https://x402.professorsausages.com/iban","sample":"https://x402.professorsausages.com/iban/sample","category":"Finance/Payments","description":"IBAN validation & decoding for payment agents. PAID — GET `/validate` (ISO 13616 mod-97 check digits + exact per-country length; names which check failed), `/decode` (country, check digits, and — where the layout is verified — bank/branch/account fields), `/format` (electronic ↔ paper grouping), and `/construct` (build a valid IBAN from a country + BBAN, computing the check digits). FREE — `/countries` lists coverage + lengths. Pure on-device computation from a bundled registry — no upstream, no API keys, no PII stored. Validate the destination before you wire money. Pairs with the payments/finance suite: fx-rates, convert, holidays (settlement dates)."},{"service":"timezone","name":"Timezone API","status":"live","url":"https://x402.professorsausages.com/timezone","sample":"https://x402.professorsausages.com/timezone/sample","category":"Utility/Reference","description":"DST-correct timezone math for scheduling agents. PAID — GET `/now` (current local time, UTC offset, DST state, zone names for any IANA zone), `/offset` (the offset + DST at a SPECIFIC instant — the right way to resolve times across a DST boundary), `/convert` (a wall-clock time from one zone to another, with the shared UTC instant, both offsets, and an explicit flag when the requested wall clock is nonexistent or doubled by DST), and `/business-hours` (is an instant within local weekday business hours). FREE — `/zones` lists coverage + methodology. Computed on-device from the runtime's own IANA timezone database — no bundled tzdata, no upstream, no API keys — and every answer, free or paid, carries a `basis` block fingerprinting the zone rules it was computed from, so it can be dated and diffed. Pairs with holidays (is the market open that local day?) and any agent coordinating actions across regions."},{"service":"weather","name":"Weather API","status":"live","url":"https://x402.professorsausages.com/weather","sample":"https://x402.professorsausages.com/weather/sample","category":"Data/Reference","description":"Weather for agents — the canonical tool call, pay-per-use. PAID — GET /weather/current returns live conditions (temperature, apparent 'feels-like' temperature, humidity, wind speed/gust/direction/compass, cloud cover, precipitation, UV index, pressure); GET /weather/forecast returns an hourly series (1–240h) with per-step precip amount + probability and wind; GET /weather/alerts returns active US severe-weather alerts. Call by coordinate (lat/lon) or city name (place=Tokyo) against a bundled gazetteer of the world's cities. Keyless upstreams — MET Norway (CC BY 4.0) for conditions/forecast, US NWS (public domain) for alerts — micro-cached and attribution-carrying. No API key to provision, no subscription. Part of the agent toolkit: pair with the reader (read the pages), the finance APIs (the data behind them), and the where/when utilities."},{"service":"news","name":"Multi-Source News API","status":"live","url":"https://x402.professorsausages.com/news","sample":"https://x402.professorsausages.com/news/sample","category":"Data/News","description":"Multi-source, agent-ready news — headlines, multi-day archive keyword search, and a sentiment timeline over a deduped corpus refreshed every 15 minutes from a tiered direct-feed portfolio: official press (Federal Reserve, SEC, White House, BLS, ECB), wires + majors (Reuters, AP, CNN, BBC, NYT, Guardian, CNBC, MarketWatch, FT), quality trade press (CoinDesk, Cointelegraph, The Block, Ars, Verge, Krebs, TechCrunch…), Hacker News, and reputation-gated GDELT enrichment (document tone attached by URL match). Real publisher URLs and domains — no aggregator redirects. PAID — /headlines is the newest-first tape (filter by category/source/language); /ai is Top AI News, a HIGH-SIGNAL tape (model/weights releases, security incidents, agents & harnesses, the major labs, legislation, launches — marketing/how-tos/earnings/PR scored out) and /crypto is Top Crypto/NFT News, also HIGH-SIGNAL (hacks, launches, NFT drops, regulation/ETF, deals — price-prediction/TA chatter scored out) — both newest-first, poll-friendly (one optional `since`), no search; /search runs AND-ed keyword + quoted-phrase queries over the retained multi-day publish-day archive shards with source/lang/date filters and recency-or-relevance sort; /timeline buckets matching articles over time with average GDELT sentiment — the sentiment differentiator, computed locally. FREE — /methods (sources, cadence, honest limitations) and /sources (live coverage counts). This is an HONEST SNAPSHOT, not live web search: every answer comes from the corpus as of its last refresh (updated_at is echoed on every response, and freshness.coverage states the exact span it holds), so no news source is ever hit at request time. Pairs with reader (fetch any article's full text from its url) and convert (turn a linked PDF/page into clean text). Headlines are third-party public content served as-is — we don't endorse or verify their accuracy."},{"service":"reader","name":"Reader API","status":"live","url":"https://x402.professorsausages.com/reader","sample":"https://x402.professorsausages.com/reader/sample","category":"Content/Web","description":"Give your agent a real browser. PAID — GET /reader/extract renders any public URL in a headless browser (JavaScript executed, client-side apps and lazy content resolved) and returns the page as clean LLM-ready markdown with its real title, the URL it landed on after redirects, the status the origin answered with, character count, and fetch timestamp; GET /reader/screenshot returns a PNG of the rendered page with optional viewport width/height and fullPage capture. A page that is missing, withdrawn or walled comes back as a complete answer (found:false plus a reason), never as an error you have to guess at. Powered by Cloudflare Browser Rendering — no scraping infrastructure, no puppeteer to run, no residential proxies. Private/loopback/raw-IP internal targets are rejected (SSRF-guarded), so it only reads the public web. Use it to read documentation, articles, dashboards, or JS-heavy pages that plain HTTP fetch returns empty; screenshot pages for visual QA, archival, or multimodal models. Part of the agent toolkit: pair with icons (UI assets), sfx (sounds), and the finance APIs for the data behind the pages you read."},{"service":"convert","name":"Convert API","status":"live","url":"https://x402.professorsausages.com/convert","sample":"https://x402.professorsausages.com/convert/sample","category":"Tools/Conversion","description":"Document conversion tools for agents — hand over any PDF or image (public URL, base64, or raw POSTed bytes, ≤10 MB) and get clean machine-readable data back in one paid call. PAID — /pdf-to-text extracts a whole PDF to one plain-text string (pairs naturally with the SEC filings corpus: any prospectus, paper, or report as text); /pdf-to-json returns structured per-page text plus document metadata (title, author, dates, producer); /image-to-text runs a vision model to transcribe visible text (OCR-style) or describe the image, with a promptable instruction. FREE — /tools lists every tool, price, and input method. PDF extraction is pure in-Worker pdf.js (unpdf) — no upstream service, no stored documents; nothing is retained after the response. The start of the conversion library family."},{"service":"nft","name":"NFT Insight API","status":"live","url":"https://x402.professorsausages.com/nft","sample":"https://x402.professorsausages.com/nft/sample","category":"Crypto/NFT","description":"NFT collection intelligence for agents — Ethereum now, Base next. One freshness tier: cache windows are set per kind of data from each upstream's measured refresh rate (floors ~2 min, trades ~15 min, metadata daily), and every response carries freshness.age_seconds so you can see exactly how old what you bought is. Entry point: /collection/search?q= turns a name into a contract address. Flagship /collection/:address/scam-check runs a deterministic checklist (spam flags, copymint collision vs ~40 famous collections, safelist, age, storage durability, concentration) → verdict + per-check evidence, never a score. Sales, provenance and wash-trade heuristics run on live marketplace trades across Blur, OpenSea, LooksRare, X2Y2 and 0x. /verify-ownership is the always-live token-gating check. FREE — /chains lists every tool and the freshness model."},{"service":"sfx","name":"8-bit SFX Generator API","status":"live","url":"https://x402.professorsausages.com/sfx","sample":"https://x402.professorsausages.com/sfx/sample","category":"Media/Audio","description":"Deterministic 8-bit sound-effect synthesis for agents — game-ready WAVs from a seed or preset in one paid call, no DAW and no CDN (works inside CSP-locked artifact sandboxes that block external audio). PAID — /generate synthesizes one preset sound (coin, laser, explosion, powerup, hit, jump, blip, synth, tone, click, random) to a base64 WAV plus the full SFXR parameter block; POST /generate re-synthesizes from an exact param block (tweak-and-iterate); /batch returns up to 16 reproducible variations in one call (game-jam workflow); /mutate perturbs a known-good seed for nearby variations. FREE — /presets lists every preset with the parameter schema and examples. Same seed ⇒ byte-identical WAV, so agents can cache and reproduce; every response echoes its seed and params. Pure CPU: no dataset, no upstream, no refresh. SFXR algorithm (Dr. Petter) and the jsfxr port are public domain. Cross-sells the pokemon and minecraft demo APIs — creative assets for agent-built games and UIs."},{"service":"icons","name":"Icons API","status":"live","url":"https://x402.professorsausages.com/icons","sample":"https://x402.professorsausages.com/icons/sample","category":"Content/Design","description":"Inline SVG icons for agents building UIs without CDN access — CSP blocks icon CDNs and hand-drawn path data doesn't render, so search 12,900+ open-licensed icons semantically instead. PAID — /search turns an intent ('payment settling', 'warning') into ranked candidates across Lucide, Heroicons, Tabler, Feather and Simple Icons (brands); /get/{set}/{name} returns one render-ready SVG parameterized by size, stroke and color (also data-URI or JSX); /pack bundles up to 40 icons into a symbol sprite in one call; /suggest icons an entire described UI ('crypto dashboard: nav, wallet, settle, alert') with a per-concept shortlist and a consistency recommendation. FREE — /sets lists versions, counts and licenses. Every icon carries its license (ISC/MIT/CC0 — all redistribution-safe). Pairs with the finance cluster: an agent rendering a swap-quote or insider-trades dashboard grabs its wallet/alert/chart glyphs here in one call."},{"service":"pokemon","name":"Pokemon API","status":"live","url":"https://x402.professorsausages.com/pokemon","sample":"https://x402.professorsausages.com/pokemon/sample","category":"Content/Gaming","description":"Pokemon knowledge base for agents. PAID — full species records: base stats, types, abilities, evolution data, and generation-aware learnsets. FREE (BETA) — move power/accuracy/effects, type effectiveness, attacker-vs-defender matchup multipliers, evolution chains, and clean reference collections of all 9 generations, 49 games and TM tables. Deterministic structured JSON built for agent reasoning; species data is pay-per-call, everything else is currently free while in beta."},{"service":"minecraft","name":"Minecraft Blocks & Items API","status":"coming-soon","url":"https://x402.professorsausages.com/minecraft","sample":"https://x402.professorsausages.com/minecraft/sample","category":"Gaming/Data","description":"Minecraft game data for agents — look up any block or item by name with properties, ids and metadata, list and paginate the full catalog, run full-text search across blocks and items, and report the game/data version. Version-stamped, deterministic structured JSON, pay-per-call."}]}}