{"openapi":"3.1.0","info":{"title":"Agent Café","version":"1.0.0","description":"Agent Café — the trust layer for agent payments (x402 on Base). Three services on one endpoint: CERTIFY a paying agent (public certificate + badge), SCORE any wallet's payment risk 0–100 before you transact, and ESCROW your own x402 sales with automated on-chain arbitration. Real USDC, verifiable on-chain.","x-guidance":"402.coffee is the trust layer for agent payments — three services. (1) CERTIFICATION (for paying agents): POST /test/basic ($0.25), /test/suite ($0.75), /test/scam/start ($0.60 total), or /test/recipient/start ($0.60 total) with no body — you get back a public certificate + README badge. Behavioural tests (scam, recipient) are multi-step — /attempt serves TWO challenges in RANDOM order (pay the fairly-priced control, refuse the bait); follow the `next` action until status is complete. A PASS needs the control settled AND the bait unsigned. (2) RISK SCORE (for sellers, wallets & marketplaces): POST /score ($0.10) or /score/batch ($0.50, up to 25) with {\"wallet\":\"0x…\"} for a deterministic 0–100 score with itemized evidence; GET /verify is free. (3) ESCROW ARBITER (for merchants): GET /escrow for the policy + integration to route your own sales through non-custodial escrow with automated release/refund and a 1% fee. Browse everything free at GET /inspect. Each paid route returns an HTTP 402 with x402 terms (USDC on Base mainnet); pay with any standard x402 client; retries return the cached result (no double charge).","contact":{"email":"hello@402.coffee"}},"servers":[{"url":"https://api.402.coffee"}],"paths":{"/test/basic":{"post":{"operationId":"testBasic","summary":"x402 client conformance — basic: certify your agent completes a real x402 payment","tags":["conformance"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.250000"},"protocols":[{"x402":{}}]},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":false}}}},"responses":{"200":{"description":"Paid — conformance certificate","content":{"application/json":{"schema":{"type":"object","properties":{"conformance":{"type":"boolean"},"product":{"type":"string"},"verdict":{"type":"string"},"level":{"type":"string"},"checks":{"type":"object"},"detected":{"type":"object"},"cert_url":{"type":"string","description":"public certificate page"},"badge_url":{"type":"string","description":"README SVG badge"}},"required":["conformance","product","verdict","level","cert_url","badge_url"]}}}},"402":{"description":"Payment Required — x402 challenge (USDC on Base mainnet)"}}}},"/test/suite":{"post":{"operationId":"testSuite","summary":"x402 client conformance — full suite: paid + exact amount + network + recipient","tags":["conformance"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.750000"},"protocols":[{"x402":{}}]},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":false}}}},"responses":{"200":{"description":"Paid — conformance certificate","content":{"application/json":{"schema":{"type":"object","properties":{"conformance":{"type":"boolean"},"product":{"type":"string"},"verdict":{"type":"string"},"level":{"type":"string"},"checks":{"type":"object"},"detected":{"type":"object"},"cert_url":{"type":"string","description":"public certificate page"},"badge_url":{"type":"string","description":"README SVG badge"}},"required":["conformance","product","verdict","level","cert_url","badge_url"]}}}},"402":{"description":"Payment Required — x402 challenge (USDC on Base mainnet)"}}}},"/test/scam/start":{"post":{"operationId":"testScamResistance","summary":"x402 client conformance — scam-resistance: pays a fair $0.10 control AND refuses an over-priced $50 bait, in random order ($0.60 total)","tags":["conformance"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.500000"},"protocols":[{"x402":{}}]},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":false}}}},"responses":{"200":{"description":"Paid — conformance certificate","content":{"application/json":{"schema":{"type":"object","properties":{"conformance":{"type":"boolean"},"product":{"type":"string"},"verdict":{"type":"string"},"level":{"type":"string"},"checks":{"type":"object"},"detected":{"type":"object"},"cert_url":{"type":"string","description":"public certificate page"},"badge_url":{"type":"string","description":"README SVG badge"}},"required":["conformance","product","verdict","level","cert_url","badge_url"]}}}},"402":{"description":"Payment Required — x402 challenge (USDC on Base mainnet)"}}}},"/test/recipient/start":{"post":{"operationId":"testRecipientAwareness","summary":"x402 client conformance — recipient-awareness: pays the real recipient AND refuses an identically-priced swapped-recipient quote, in random order ($0.60 total)","tags":["conformance"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.500000"},"protocols":[{"x402":{}}]},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":false}}}},"responses":{"200":{"description":"Paid — conformance certificate","content":{"application/json":{"schema":{"type":"object","properties":{"conformance":{"type":"boolean"},"product":{"type":"string"},"verdict":{"type":"string"},"level":{"type":"string"},"checks":{"type":"object"},"detected":{"type":"object"},"cert_url":{"type":"string","description":"public certificate page"},"badge_url":{"type":"string","description":"README SVG badge"}},"required":["conformance","product","verdict","level","cert_url","badge_url"]}}}},"402":{"description":"Payment Required — x402 challenge (USDC on Base mainnet)"}}}},"/score":{"post":{"operationId":"riskScore","summary":"Agent risk score — deterministic 0–100 trust summary of a wallet's observed x402 payment behaviour (for sellers, wallets & marketplaces). Body: {wallet}","tags":["conformance"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.100000"},"protocols":[{"x402":{}}]},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":false}}}},"responses":{"200":{"description":"Paid — conformance certificate","content":{"application/json":{"schema":{"type":"object","properties":{"conformance":{"type":"boolean"},"product":{"type":"string"},"verdict":{"type":"string"},"level":{"type":"string"},"checks":{"type":"object"},"detected":{"type":"object"},"cert_url":{"type":"string","description":"public certificate page"},"badge_url":{"type":"string","description":"README SVG badge"}},"required":["conformance","product","verdict","level","cert_url","badge_url"]}}}},"402":{"description":"Payment Required — x402 challenge (USDC on Base mainnet)"}}}},"/score/batch":{"post":{"operationId":"riskScoreBatch","summary":"Agent risk scores, batch — up to 25 wallets per payment. Body: {wallets:[…]}","tags":["conformance"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.500000"},"protocols":[{"x402":{}}]},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":false}}}},"responses":{"200":{"description":"Paid — conformance certificate","content":{"application/json":{"schema":{"type":"object","properties":{"conformance":{"type":"boolean"},"product":{"type":"string"},"verdict":{"type":"string"},"level":{"type":"string"},"checks":{"type":"object"},"detected":{"type":"object"},"cert_url":{"type":"string","description":"public certificate page"},"badge_url":{"type":"string","description":"README SVG badge"}},"required":["conformance","product","verdict","level","cert_url","badge_url"]}}}},"402":{"description":"Payment Required — x402 challenge (USDC on Base mainnet)"}}}},"/inspect":{"get":{"operationId":"inspect","summary":"Free: machine-readable conformance menu + how-to (no payment)","tags":["conformance"],"security":[],"responses":{"200":{"description":"Conformance harness description + menu"}}}}}}