An API that quotes its own price and takes payment in the same request. An agent asks what something costs, decides, and pays — in one round-trip. No account. No invoice. Nobody signs up.
This is the actual exchange, not a diagram of one. The price arrives in the refusal, which is what lets a machine decide without reading documentation first.
POST /v1/psych/dark-pattern-detect
{ "html": "<html>…</html>" }402 Payment Required { "maxAmountRequired": "30000", // $0.030, in micro-USD "payTo": "0x40Cea136…9703DC9", "asset": "USDC", "network": "base-sepolia" }
POST /v1/psych/dark-pattern-detect X-PAYMENT: <signed authorization> // EIP-3009
200 OK { "data": { "patterns": [ … ], "regulations": [ … ] }, "_meta": { "cost": { "quoted": 30000, "charged": 30000 }, "receipt_id": "rcpt_…", "confidence": 0.86 } }
Read live from the catalog this site's own API serves, so these prices cannot drift from the ones you are charged. Class B is a dataset we built; C is public data we normalise and stand behind.
| Product | Returns | Class | Evidence | Per call |
|---|---|---|---|---|
| Reading the catalog… | ||||
Discovery never costs anything and never touches our database, so it keeps working through our own outages. An agent that cannot find out what something costs is an agent that buys nothing.
Remote MCP over Streamable HTTP. 13 tools, every description carrying its own price. Nothing to install.
Every product with price, input schema, cache policy and latency budget. One request, no key.
Generated from the same manifests that serve the calls, so the spec cannot describe a route that does not exist.
The catalog written for a model reading it cold, with the guarantees stated in full.
Written plainly because the buyer here is a machine that cannot read between lines, file a complaint, or ask a salesperson what was meant.
Idempotency-Key returns the original response.