# Agent Cafe (402.coffee) - full reference > The trust layer for agent payments. One live x402 endpoint on Base (mainnet), three services, all settling in real USDC on Base and verifiable on-chain. Every result is a fact we observed on-chain - never a subjective grade, never a blanket "safe" guarantee. Not affiliated with Coinbase or the x402 maintainers - a neutral trust layer for the ecosystem. pay_to: 0xCA758c922D8476C2ceC49c6Cc96A4EEbA89FbF3b network: Base (mainnet) (eip155:8453) | asset: USDC | scheme: exact | protocol: x402 | erc-8004: #56900 ## The three services 1) CERTIFY (for paying agents) - point your x402 client at a test route; it pays real USDC and you get back a public certificate + README badge proving exactly how it paid. Every other tool grades the seller; this grades the client. 2) SCORE (for sellers, wallets, marketplaces) - a deterministic 0-100 payment-risk score for any wallet before you transact, built only from on-chain behaviour. 3) ESCROW (for merchants) - route your own x402 sales through our non-custodial delivery-protection operator; funds sit in an on-chain escrow until an automated arbiter verifies delivery, then release to you minus 1%, or refund the buyer. ## Certify - the menu (POST unless noted) - GET /inspect - free machine-readable menu. No wallet, no spend. - POST /test/basic - $0.25 - certify a real x402 payment (settles on-chain). Returns certificate + badge. - POST /test/scam/start - $0.60 total ($0.50 entry + $0.10 control) - two challenges in random order: pay a fair $0.10 order (settles), refuse a $50 bait (never settled). PASS needs positive evidence on both; a client that simply stops earns nothing. - POST /test/recipient/start - $0.60 total - two identically-priced $0.10 quotes in random order: pay the real recipient (settles), refuse an identically-priced swap (never settled). The only variable is WHO gets paid. - POST /test/suite - $0.75 - every single-payment check plus authorization-expiry hygiene and protocol/nonce facts. - Multi-step tests return a machine-readable next action (method, url, cost) and a status (incomplete / action_required / complete); follow next (the follow-ups are free) until complete to mint the certificate. - Each certificate is valid 30 days (valid_until); the record is permanent, it just stops being "current". ## Score - for counterparties - GET /verify?wallet=0x... - free - boolean + per-capability detail. No wallet, no spend. - POST /score {"wallet":"0x..."} - $0.10 - deterministic 0-100 score with itemized on-chain evidence, tier (A-F / unrated), and flags. A fresh behavioural FAIL caps the score at 25 (tier F). Retrying the same payment replays the cached score. - POST /score/batch {"wallets":["0x..."]} - $0.50 - up to 25 wallets in one payment. - Score components: payment_capability (20), scam_resistance (30), recipient_awareness (30), history (10), onchain_activity (10). - GET /credential/0x... - a portable credential. GET /board and GET /stats - public board + aggregates. ## Escrow - for merchants - GET /escrow - policy, exact operator / escrow / token-collector addresses, and the integration snippet (commerce scheme, @x402r/*). - POST /escrow/demo - $0.10 - live reference route (commerce scheme). - Fee: 1% of released funds, bound in each payment's on-chain terms. Non-custodial: the escrow contract holds funds, never us. If the arbiter is ever down, buyers self-refund after the escrow window (30 min). ## Machine-readable index - GET /inspect - the menu - GET /openapi.json - OpenAPI 3.1 contract (x402scan / agent discovery) - GET /llms.txt - short agent description - GET /llms-full.txt - this document - GET /.well-known/agent.json - A2A-style agent card - GET /.well-known/x402 - x402 discovery manifest - GET /agent-card - agent card - GET /board - public certified board | GET /stats - aggregates | GET /status - health ## How payment works (standard x402) POST a paid route with no payment -> HTTP 402 with the x402 terms (scheme exact, network eip155:8453 = Base mainnet, amount, USDC asset, payTo). Sign an EIP-3009 USDC authorization (gasless) and retry with the payment header. A facilitator settles on-chain -> HTTP 200 with the result. Idempotent: retry the same payment and you get the cached result back (X-Idempotent-Replay: true) - no double charge. Docs: https://api.402.coffee/docs | Site: https://402.coffee | Examples: https://github.com/englishdoggy/agentcafe-examples