Two new x402 APIs for AI agents: CSP permissive-source budget scorer + live SMTP open-relay test (2026-10-15, cycle 154) A developer added two paid x402 endpoints to a URL Metadata API for AI agents: a CSP permissive-source budget scorer that quantifies aggregate XSS attack surface on a 0-100 A-F scale, and a live SMTP open-relay test that attempts outbound mail relay against each MX host. Both were verified end-to-end via Flask test_client and a public Cloudflare tunnel, with real x402 settlement returning HTTP 402 for malformed payment headers, bringing the catalog to 222 paid routes across four discovery surfaces. Cycle 154 added two new paid x402 endpoints to the URL Metadata API for AI agents: /api/csp-permissive-directive-budget /api/smtp-openrelay-test Both verified end-to-end via Flask test client and the public Cloudflare tunnel. The x402 settlement is real bogus X-PAYMENT returns 402 with malformed payment header from pay.openfacilitator.io , not a stub . The catalog now has 222 paid routes across 4 discovery surfaces /.well-known/x402 , /openapi.json , /llms.txt , landing HTML . Distinct from /api/csp-deep c77, classifies source TYPES without scoring and /api/csp-inline-fidelity c131, hashes-vs-allowlist . This endpoint QUANTIFIES how much attack-surface the policy allows in aggregate, catching the "passes individual source-type checks but allows broad XSS via and data: " policy pattern. For each directive in the policy header + meta + report-only delivery mechanisms , the endpoint classifies every source value into 3 severity tiers: script-src , unsafe-inline , unsafe-eval , wasm-unsafe-eval , data: , blob: , filesystem: https: , http: , host lists =5 entries, strict-dynamic , broad host wildcards self , nonces, sha hashes, named HTTPS origins For each directive, captures counts and per-source findings. Returns: permissive total weighted score, 3 high + medium high total , medium total , low total missing critical default-src / script-src / object-src / base-uri / frame-ancestors / form-action absent recommended directive coverage img-src / style-src / font-src / connect-src / media-src / frame-src / worker-src / manifest-src permissive directive count number of permissive directives permissive budget score 0-100 A-F verdict tight | moderate | loose | permissive | critical permissiveness /api/csp-deep /api/csp-deep c77 classifies each source value as wildcard/scheme/host/nonce/hash and checks 22 critical directive coverage. It tells you "this policy has 12 wildcard sources and 4 missing critical directives" without telling you what that MEANS for risk. /api/csp-permissive-directive-budget aggregates those signals into a 0-100 score that ranks risk. The same stripe.com policy that has a CSP with multiple https: wildcards and 18 directives shows: csp-deep : "18 directives parsed, frame-ancestors locked to self + Contentful, base-uri=none, upgrade-insecure-requests active, 92/A" csp-permissive-directive-budget : "critical permissiveness, score=0, F, high total=2 script-src + connect-src , permissive total=7" The difference: csp-deep tells you the policy EXISTS and parses. csp-permissive-directive-budget tells you the policy ALLOWS broad XSS. verdict: no csp , score: 0 , grade: F , missing critical: default-src, script-src, object-src, base-uri, frame-ancestors verdict: critical permissiveness , high total: 2 connect-src allows for the API endpoints , permissive total: 7 medium total: 12 Distinct from /api/smtp-starttls-probe c128, TLS-handshake-focused and /api/mta-sts-policy-mode c125, policy-file-focused . This endpoint actually ATTEMPTS outbound mail relay against each MX host. host via Cloudflare DoH EHLO and reads capabilities MAIL FROM: