{"name":"PaySafe","tagline":"Payment security firewall for x402 micropayments. Advisory, non-custodial.","version":"1.4.2","mode":"live","endpoints":{"POST /v1/keys":"Free (rate-limited: 10/IP/day). Issue an API key with a free-call allowance.","POST /v1/keys/rotate":"Free (X-API-Key header). Swap your key's secret for a fresh one — usage, free quota, and plan carry over. Old secret honors an optional grace window (default 15 min, max 24 h).","POST /v1/keys/revoke":"Free (X-API-Key header, body {\"confirm\": true}). Permanently kill a leaked key AND its account. Irreversible.","POST /v1/scan/outgoing":"$0.01 (first 100 calls free per key). Screen a payment your agent is about to make.","POST /v1/scan/incoming":"$0.01 (first 100 calls free per key). Screen a payment request / 402 offer your agent received.","GET /v1/reputation/:address":"$0.01 (first 100 calls free per key). Counterparty report summary.","POST /v1/reputation/report":"Free (rate-limited: 30/IP/hour). Report a bad counterparty after the fact.","POST /v1/reputation/dispute":"Free (rate-limited: 30/IP/hour). Attach a signed rebuttal to your wallet's report record. Sign \"paysafe-dispute-v1|<address>|<statement>\" with the reported wallet's key (EIP-191 personal_sign) — key ownership is the authentication.","GET /v1/plans":"Free. Machine-readable plan catalog (pricing tiers, limits, how to subscribe).","POST /v1/trust/evaluate":"Free (rate-limited: 120/IP/hour). x402 trust-provider interface: TrustQuery about a payer in, TrustEvaluation (PASS/FAIL/UNCERTAIN + evidence) out — for sellers gating settlement.","POST /v1/approvals/config":"Free (X-API-Key). Configure human-in-the-loop approvals: on a flag verdict, your webhook gets the payment facts + a one-time decide link; a human click mints a short-lived signed override verdict.","GET /v1/approvals/{id}":"Free (X-API-Key). Poll a pending approval; on approve you receive the signed override:allow verdict bound to that exact payment.","POST /v1/outcomes":"Free (rate-limited: 600/IP/hour). Record whether a scanned, settled payment actually DELIVERED (delivered/not_delivered/partial/wrong_content). Must present the scan_id + payment_commitment of a real scan — outcomes are commitment-bound, one per scan. Delivery rates feed reputation lookups and future scans.","POST /v1/plans/subscribe":"x402-paid at the plan's price. Upgrade your API key to a plan; renew by paying again.","GET /v1/usage":"Free. Your own key's usage stats (X-API-Key header): scan/verdict counts, free-tier quota, plan status.","GET /dashboard":"Free. Browser usage dashboard for your key — key is sent via header only, never a URL.","GET /.well-known/x402":"Free. x402 manifest.","GET /.well-known/agent-card.json":"Free. Agent card.","GET /.well-known/erc8004.json":"Free. ERC-8004 agent registration file (on-chain identity tokenURI).","GET /.well-known/paysafe-verdict-key":"Free. Ed25519 public key for verdict attestations.","GET /health":"Free. Liveness.","GET /v1/stats":"Free. Public aggregate service stats with third-party and first-party (operator-owned) usage reported separately, so the operator's own agents never inflate the headline figures. Scan totals, verdict split, distinct agents, self-measured 90-day uptime. Cached ~5 min; aggregates only.","GET /terms":"Free. Terms of Use (human-readable).","GET /privacy":"Free. Privacy Policy (human-readable)."},"checks":["pii: PII/secret detection on resource_url, description, reason, metadata","replay: nonce reuse tracking","overpay: configurable multiple-of-expected-price + absolute ceiling + non-positive amounts","injection: prompt-injection-triggered payment provenance analysis (fast tier)","injection-deep: base64 + unicode-obfuscation rescan (bypassed below MICRO_BYPASS_USD; policy.force_deep overrides)","url: resource URL structural risk (incoming)","asset: canonical-USDC verification (lookalike-token defense)","badlist: known-bad address list","pin: TOFU merchant pinning (domain -> pay_to) + optional async CDP cross-check","poison: address-poisoning detection (pay_to matching a known counterparty/pinned merchant on first+last chars but differing in the middle)","scout: ScoutScore external trust signal for merchant domains (opt-in, async + cached, flag-only)","velocity: rate, hourly spend cap, first-contact size cap (outgoing)","reputation: shared counterparty report registry v2 — 90-day half-life time decay, reporter-credibility weighting (observed payment history counts more than fresh anonymous ids), signed wallet rebuttals surfaced alongside reports","delivery: measured, commitment-bound delivery-outcome history per counterparty (flag-only — a clean payment to a seller who never ships still fails you)"],"attestation":"Verdicts are Ed25519-signed (see /.well-known/paysafe-verdict-key). Wallet policies can require a fresh allow-verdict before signing.","scan_request_schema":{"agent_id":"string (optional, scopes velocity limits)","payment":{"scheme":"exact","network":"eip155:8453","asset":"0x... (token contract; enables canonical-USDC verification)","amount":"atomic units, e.g. '10000'","amount_usd":"or decimal USD","asset_decimals":6,"pay_to":"0x... recipient","payer":"0x... payer (optional)","resource_url":"https://...","description":"string","reason":"why the agent is paying","nonce":"payment nonce","metadata":{"any":"string values"}},"expected_price_usd":0.01,"context":{"origin":"planning | user_instruction | tool_result | fetched_content | unknown","content":"the content the agent just read (for injection analysis)","content_source_url":"https://..."},"policy":{"force_deep":"boolean — run deep content analysis even below the micropayment threshold","skip_deep":"boolean — skip deep analysis regardless of value"}},"custody":"PaySafe never touches private keys, wallets, or funds. Verdicts are advisory (and signed, for wallets that choose to enforce them)."}