x402 Portfolio

Nine paid HTTP endpoints an AI agent can use with no account, no signup and no contract — paid per call in USDC over the x402 protocol. The subject is German law and German text; the interface is English.

Real payments. Settled on Base (eip155:8453) in USDC (0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913). Measured on a live payment: the facilitator takes no detectable fee and covers the gas, so a caller needs USDC and no ETH.

Routes

RoutePriceWhat it does
GET /api/catalog free Machine-readable catalog: prices, input schemas, examples, full URLs. Start here.
GET /api/health free Liveness and the list of paid routes.
POST /api/agent-ready/assess $0.01 Rates how well a site is opened up to AI agents, from robots.txt, HTML, response headers, llms.txt and sitemap data that you send along.
POST /api/bfsg/check $0.10 Checks the statically decidable accessibility criteria in HTML you send, and states explicitly what a pattern parser cannot decide.
POST /api/imprint/check $0.10 Checks HTML you send against the eight groups of mandatory disclosures in § 5 DDG, with a citation per item. Conditional duties the HTML cannot decide are unknown, never a defect.
POST /api/holidays $0.02 Year + federal state → statutory public holidays with date, weekday and the citation in that state's own act. Regionally limited holidays are flagged.
POST /api/outreach/policy $0.05 Country + channel (email, phone, SMS, postal) → allowed, conditional or prohibited, with the legal basis and the conditions. Nine countries: DE, AT, CH, GB, US, CA, AU, NZ, ZA.
POST /api/invoice/check $0.10 Checks invoice text against the ten mandatory details of § 14 (4) UStG, and detects a structured e-invoice format (XRechnung/CII, UBL, ZUGFeRD) as a format finding — never as a claim about a duty or deadline.
POST /api/deadlines $0.05 Computes a deadline under §§ 187-193 BGB, including the postponement to the next working day. With a federal state, its public holidays are honoured; without one, the limitation is stated rather than assumed away.
POST /api/readability $0.05 Flesch Reading Ease (Amstad adaptation) and the four Wiener Sachtextformel variants for German text, with the counts and formulas so the result can be recomputed.
POST /api/llmstxt/generate $0.10 Builds a spec-compliant llms.txt from sitemap entries and page titles you send. Produces an artefact rather than assessing one.

Why a model cannot just guess these: the German TMG was renamed DDG in 2024 — a model citing § 5 TMG cites a norm that no longer exists under that name. Public holidays are state law, so the same date can be a holiday in one state and a working day in the next. And in cold outreach the countries contradict each other: Austria prohibits the email, Germany treats it as conditional, the US allows it — but prohibits the SMS. The wrong answer costs money, not time.

This service fetches nothing

Every paid route makes zero outbound requests. You send your own material, we assess it. A public paid scanner could never structurally hold the consent of the site it inspects; whoever sends their own HTML has given it by definition.

And: the server holds no private key, only a receiving address.

Two honesty rules that show up in the result

What was not supplied is unknown. What does not occur in the document is not_applicable. Only what was measured and found wanting is missing. Neither non-state counts towards the score or produces a recommendation — reporting "not measured" as "measured and defective" would mean billing someone for fixing a defect nobody ever observed.

Calling it

# Without payment: 402 with the terms in the PAYMENT-REQUIRED header
curl -i -X POST https://api.ozdreamtools.de/api/bfsg/check \
  -H 'content-type: application/json' \
  -d '{"html":"<!doctype html><html lang=\"de\">…</html>"}'

# What exists and what it costs — free
curl https://api.ozdreamtools.de/api/catalog

Invalid input is rejected before the paywall: a broken request costs nothing, and every request that is charged is one that can be answered.

Legal framing of the BFSG check

The German Barrierefreiheitsstärkungsgesetz refers in § 3 to a statutory instrument for the concrete requirements, and in § 4 presumes conformity where "harmonised standards whose references have been published in the Official Journal of the European Union" are met. The act names no standard by name. The WCAG mapping per criterion is therefore a technical classification — not legal advice and not a conformity statement. Source: gesetze-im-internet.de/bfsg.

Auf Deutsch

Neun bezahlte HTTP-Endpoints, die ein KI-Agent ohne Konto und ohne Vertrag nutzen kann; bezahlt wird pro Aufruf in USDC auf Base-Mainnet. Gegenstand ist deutsches Recht und deutscher Text — die Schnittstelle spricht Englisch, weil die Verzeichnisse und Agenten, die diese Endpoints finden sollen, es tun. Alle Routen bewerten ausschließlich vom Aufrufer geliefertes Material und setzen null ausgehende Anfragen ab. Preise, Eingabe-Schemata und Beispiele stehen frei abrufbar unter GET /api/catalog. Impressum und Datenschutzerklärung sind auf Deutsch.

What is measured here

Two separate measurements that are never added into one number — they measure different things.

This page counts visits via Umami on our own server in the EU: cookieless, no cross-site profiles, no consent banner (Art. 6 (1) (f) GDPR). Recorded are the page, referrer, coarse location and device type — no identifier that recognises you across websites. AI agents do not execute JavaScript and never show up here.

The paid endpoints record one row per call: timestamp, route, outcome, truncated client identifier, country code, price and — if paid — the payer address and transaction hash, which are public anyway. No IP address and no request body. The HTML you send is assessed and not stored.