{"name":"x402 Preflight","technicalName":"base-wallet-readiness-service","service":"x402-preflight","version":"1.0.0","description":"Inspect and validate an unfamiliar x402 endpoint before an agent spends USDC. x402 Preflight observes the challenge, price, network, asset, receiver, discovery metadata, CORS, and operational signals without signing or paying for the buyer.","whenToUse":"Call before an autonomous agent pays an unknown x402 resource, or after a failed audit when remediation is needed.","limitations":["Reports describe observable behavior at a point in time and expire.","The service cannot prove seller intent, future availability, smart-contract safety, or successful future settlement.","The service never signs payment payloads, controls a buyer wallet, or spends funds for the buyer."],"interfaces":{"openapi":"https://x402-wallet-readiness-service.vercel.app/openapi.json","mcp":"https://x402-wallet-readiness-service.vercel.app/mcp","x402":"https://x402-wallet-readiness-service.vercel.app/.well-known/x402.json","llms":"https://x402-wallet-readiness-service.vercel.app/llms.txt","agent":"https://x402-wallet-readiness-service.vercel.app/.well-known/agent.json"},"capabilities":[{"name":"inspect_x402_endpoint","description":"Use before paying an unfamiliar x402 resource. Performs a free read-only probe and returns a deterministic policy decision from the observed challenge and caller limits.","transport":"https","method":"POST","endpoint":"https://x402-wallet-readiness-service.vercel.app/api/preflight/inspect","payment":{"required":false},"inputSchema":{"$id":"https://x402-preflight.dev/schemas/preflight-input.json","type":"object","additionalProperties":false,"required":["resource_url"],"properties":{"resource_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS x402 resource to inspect without payment credentials."},"method":{"type":"string","enum":["GET","HEAD","POST"],"default":"GET"},"expected_network":{"type":"string","pattern":"^[a-z0-9]+:[A-Za-z0-9._-]+$","maxLength":100},"max_price_usd":{"type":"number","minimum":0,"maximum":1000000}}},"outputSchema":{"$id":"https://x402-preflight.dev/schemas/preflight-report.json","type":"object","additionalProperties":false,"required":["profile","decision","score","requestId","observedAt","expiresAt","resource","payment","cors","checks","issues","discovery","operational","evidence","claimBoundary"],"properties":{"profile":{"type":"string","enum":["inspect","audit"]},"decision":{"type":"string","enum":["ALLOW","CAUTION","BLOCK","UNKNOWN"]},"score":{"type":"integer","minimum":0,"maximum":100},"requestId":{"type":"string","pattern":"^req_[A-Za-z0-9_-]+$"},"observedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"resource":{"type":"object","additionalProperties":false,"required":["url","method","finalUrl","statusCode","latencyMs"],"properties":{"url":{"type":"string","format":"uri"},"method":{"type":"string","enum":["GET","HEAD","POST"]},"finalUrl":{"type":"string","format":"uri"},"statusCode":{"type":["integer","null"]},"latencyMs":{"type":"integer","minimum":0}}},"payment":{"type":"object","additionalProperties":false,"required":["detected","challengeSource","x402Version","scheme","network","asset","amountAtomic","priceUsd","payTo","facilitator","maxTimeoutSeconds","bazaar"],"properties":{"detected":{"type":"boolean"},"challengeSource":{"type":["string","null"],"enum":["header","body",null]},"x402Version":{"type":["integer","null"]},"scheme":{"type":["string","null"]},"network":{"type":["string","null"]},"asset":{"type":["string","null"]},"amountAtomic":{"type":["string","null"]},"priceUsd":{"type":["number","null"]},"payTo":{"type":["string","null"]},"facilitator":{"type":["string","null"]},"maxTimeoutSeconds":{"type":["integer","null"]},"bazaar":{"type":"object","additionalProperties":false,"required":["found","valid","type","method","toolName","description","inputSchemaPresent","outputSchemaPresent","examplePresent"],"properties":{"found":{"type":"boolean"},"valid":{"type":["boolean","null"]},"type":{"type":["string","null"]},"method":{"type":["string","null"]},"toolName":{"type":["string","null"]},"description":{"type":["string","null"]},"inputSchemaPresent":{"type":"boolean"},"outputSchemaPresent":{"type":"boolean"},"examplePresent":{"type":"boolean"}}}}},"cors":{"type":"object","additionalProperties":false,"required":["allowOrigin","allowMethods","allowHeaders","exposeHeaders","allowCredentials","browserAgentCompatible"],"properties":{"allowOrigin":{"type":["string","null"]},"allowMethods":{"type":"array","items":{"type":"string"}},"allowHeaders":{"type":"array","items":{"type":"string"}},"exposeHeaders":{"type":"array","items":{"type":"string"}},"allowCredentials":{"type":["boolean","null"]},"browserAgentCompatible":{"type":["boolean","null"]}}},"checks":{"type":"array","maxItems":100,"items":{"type":"object","additionalProperties":false,"required":["id","status","severity","evidence"],"properties":{"id":{"type":"string","maxLength":120},"status":{"type":"string","enum":["PASS","WARN","FAIL","UNKNOWN"]},"severity":{"type":"string","enum":["critical","high","medium","low","info"]},"evidence":{"type":"string","maxLength":2000}}}},"issues":{"type":"array","maxItems":100,"items":{"type":"object","additionalProperties":false,"required":["code","severity","retryable","message","remediation"],"properties":{"code":{"type":"string","pattern":"^[A-Z0-9_]+$"},"severity":{"type":"string","enum":["critical","high","medium","low","info"]},"retryable":{"type":"boolean"},"message":{"type":"string","maxLength":2000},"remediation":{"type":"string","maxLength":2000}}}},"discovery":{"type":"object","additionalProperties":false,"required":["openapi","llmsTxt","agentMetadata","x402Metadata"],"properties":{"openapi":{"type":"object","additionalProperties":false,"required":["url","statusCode","contentType","present","valid","consistent"],"properties":{"url":{"type":"string"},"statusCode":{"type":["integer","null"]},"contentType":{"type":["string","null"]},"present":{"type":"boolean"},"valid":{"type":["boolean","null"]},"consistent":{"type":["boolean","null"]}}},"llmsTxt":{"type":"object","additionalProperties":false,"required":["url","statusCode","contentType","present","valid","consistent"],"properties":{"url":{"type":"string"},"statusCode":{"type":["integer","null"]},"contentType":{"type":["string","null"]},"present":{"type":"boolean"},"valid":{"type":["boolean","null"]},"consistent":{"type":["boolean","null"]}}},"agentMetadata":{"type":"object","additionalProperties":false,"required":["url","statusCode","contentType","present","valid","consistent"],"properties":{"url":{"type":"string"},"statusCode":{"type":["integer","null"]},"contentType":{"type":["string","null"]},"present":{"type":"boolean"},"valid":{"type":["boolean","null"]},"consistent":{"type":["boolean","null"]}}},"x402Metadata":{"type":"object","additionalProperties":false,"required":["url","statusCode","contentType","present","valid","consistent"],"properties":{"url":{"type":"string"},"statusCode":{"type":["integer","null"]},"contentType":{"type":["string","null"]},"present":{"type":"boolean"},"valid":{"type":["boolean","null"]},"consistent":{"type":["boolean","null"]}}}}},"operational":{"type":"object","additionalProperties":false,"required":["contentType","cacheControl","responseBytes","timeoutMs","redirectChain"],"properties":{"contentType":{"type":["string","null"]},"cacheControl":{"type":["string","null"]},"responseBytes":{"type":"integer","minimum":0},"timeoutMs":{"type":"integer","minimum":1},"redirectChain":{"type":"array","maxItems":5,"items":{"type":"object","additionalProperties":false,"required":["from","to","statusCode"],"properties":{"from":{"type":"string","format":"uri"},"to":{"type":"string","format":"uri"},"statusCode":{"type":"integer","minimum":300,"maximum":399}}}}}},"evidence":{"type":"array","maxItems":100,"items":{"type":"object","additionalProperties":false,"required":["id","source","observation"],"properties":{"id":{"type":"string","maxLength":120},"source":{"type":"string","maxLength":500},"observation":{"type":"string","maxLength":2000}}}},"claimBoundary":{"type":"object","additionalProperties":false,"required":["proves","doesNotProve"],"properties":{"proves":{"type":"array","items":{"type":"string"}},"doesNotProve":{"type":"array","items":{"type":"string"}}}}}}},{"name":"audit_x402_endpoint","description":"Use when a buyer needs deeper evidence before spending: validates payment requirements, redirects, CORS, cache behavior, OpenAPI, llms.txt, agent metadata, and x402 discovery consistency.","transport":"https+x402","method":"POST","endpoint":"https://x402-wallet-readiness-service.vercel.app/api/x402/preflight/audit","payment":{"required":true,"protocol":"x402","scheme":"exact","priceUsd":0.05,"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x820a7bf90d944bb26bfD9b62Ab172Fc3A0829cB9","facilitator":"https://facilitator.world.fun","runtimeAuthority":true},"inputSchema":{"$id":"https://x402-preflight.dev/schemas/preflight-input.json","type":"object","additionalProperties":false,"required":["resource_url"],"properties":{"resource_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS x402 resource to inspect without payment credentials."},"method":{"type":"string","enum":["GET","HEAD","POST"],"default":"GET"},"expected_network":{"type":"string","pattern":"^[a-z0-9]+:[A-Za-z0-9._-]+$","maxLength":100},"max_price_usd":{"type":"number","minimum":0,"maximum":1000000}}},"outputSchema":{"$id":"https://x402-preflight.dev/schemas/preflight-report.json","type":"object","additionalProperties":false,"required":["profile","decision","score","requestId","observedAt","expiresAt","resource","payment","cors","checks","issues","discovery","operational","evidence","claimBoundary"],"properties":{"profile":{"type":"string","enum":["inspect","audit"]},"decision":{"type":"string","enum":["ALLOW","CAUTION","BLOCK","UNKNOWN"]},"score":{"type":"integer","minimum":0,"maximum":100},"requestId":{"type":"string","pattern":"^req_[A-Za-z0-9_-]+$"},"observedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"resource":{"type":"object","additionalProperties":false,"required":["url","method","finalUrl","statusCode","latencyMs"],"properties":{"url":{"type":"string","format":"uri"},"method":{"type":"string","enum":["GET","HEAD","POST"]},"finalUrl":{"type":"string","format":"uri"},"statusCode":{"type":["integer","null"]},"latencyMs":{"type":"integer","minimum":0}}},"payment":{"type":"object","additionalProperties":false,"required":["detected","challengeSource","x402Version","scheme","network","asset","amountAtomic","priceUsd","payTo","facilitator","maxTimeoutSeconds","bazaar"],"properties":{"detected":{"type":"boolean"},"challengeSource":{"type":["string","null"],"enum":["header","body",null]},"x402Version":{"type":["integer","null"]},"scheme":{"type":["string","null"]},"network":{"type":["string","null"]},"asset":{"type":["string","null"]},"amountAtomic":{"type":["string","null"]},"priceUsd":{"type":["number","null"]},"payTo":{"type":["string","null"]},"facilitator":{"type":["string","null"]},"maxTimeoutSeconds":{"type":["integer","null"]},"bazaar":{"type":"object","additionalProperties":false,"required":["found","valid","type","method","toolName","description","inputSchemaPresent","outputSchemaPresent","examplePresent"],"properties":{"found":{"type":"boolean"},"valid":{"type":["boolean","null"]},"type":{"type":["string","null"]},"method":{"type":["string","null"]},"toolName":{"type":["string","null"]},"description":{"type":["string","null"]},"inputSchemaPresent":{"type":"boolean"},"outputSchemaPresent":{"type":"boolean"},"examplePresent":{"type":"boolean"}}}}},"cors":{"type":"object","additionalProperties":false,"required":["allowOrigin","allowMethods","allowHeaders","exposeHeaders","allowCredentials","browserAgentCompatible"],"properties":{"allowOrigin":{"type":["string","null"]},"allowMethods":{"type":"array","items":{"type":"string"}},"allowHeaders":{"type":"array","items":{"type":"string"}},"exposeHeaders":{"type":"array","items":{"type":"string"}},"allowCredentials":{"type":["boolean","null"]},"browserAgentCompatible":{"type":["boolean","null"]}}},"checks":{"type":"array","maxItems":100,"items":{"type":"object","additionalProperties":false,"required":["id","status","severity","evidence"],"properties":{"id":{"type":"string","maxLength":120},"status":{"type":"string","enum":["PASS","WARN","FAIL","UNKNOWN"]},"severity":{"type":"string","enum":["critical","high","medium","low","info"]},"evidence":{"type":"string","maxLength":2000}}}},"issues":{"type":"array","maxItems":100,"items":{"type":"object","additionalProperties":false,"required":["code","severity","retryable","message","remediation"],"properties":{"code":{"type":"string","pattern":"^[A-Z0-9_]+$"},"severity":{"type":"string","enum":["critical","high","medium","low","info"]},"retryable":{"type":"boolean"},"message":{"type":"string","maxLength":2000},"remediation":{"type":"string","maxLength":2000}}}},"discovery":{"type":"object","additionalProperties":false,"required":["openapi","llmsTxt","agentMetadata","x402Metadata"],"properties":{"openapi":{"type":"object","additionalProperties":false,"required":["url","statusCode","contentType","present","valid","consistent"],"properties":{"url":{"type":"string"},"statusCode":{"type":["integer","null"]},"contentType":{"type":["string","null"]},"present":{"type":"boolean"},"valid":{"type":["boolean","null"]},"consistent":{"type":["boolean","null"]}}},"llmsTxt":{"type":"object","additionalProperties":false,"required":["url","statusCode","contentType","present","valid","consistent"],"properties":{"url":{"type":"string"},"statusCode":{"type":["integer","null"]},"contentType":{"type":["string","null"]},"present":{"type":"boolean"},"valid":{"type":["boolean","null"]},"consistent":{"type":["boolean","null"]}}},"agentMetadata":{"type":"object","additionalProperties":false,"required":["url","statusCode","contentType","present","valid","consistent"],"properties":{"url":{"type":"string"},"statusCode":{"type":["integer","null"]},"contentType":{"type":["string","null"]},"present":{"type":"boolean"},"valid":{"type":["boolean","null"]},"consistent":{"type":["boolean","null"]}}},"x402Metadata":{"type":"object","additionalProperties":false,"required":["url","statusCode","contentType","present","valid","consistent"],"properties":{"url":{"type":"string"},"statusCode":{"type":["integer","null"]},"contentType":{"type":["string","null"]},"present":{"type":"boolean"},"valid":{"type":["boolean","null"]},"consistent":{"type":["boolean","null"]}}}}},"operational":{"type":"object","additionalProperties":false,"required":["contentType","cacheControl","responseBytes","timeoutMs","redirectChain"],"properties":{"contentType":{"type":["string","null"]},"cacheControl":{"type":["string","null"]},"responseBytes":{"type":"integer","minimum":0},"timeoutMs":{"type":"integer","minimum":1},"redirectChain":{"type":"array","maxItems":5,"items":{"type":"object","additionalProperties":false,"required":["from","to","statusCode"],"properties":{"from":{"type":"string","format":"uri"},"to":{"type":"string","format":"uri"},"statusCode":{"type":"integer","minimum":300,"maximum":399}}}}}},"evidence":{"type":"array","maxItems":100,"items":{"type":"object","additionalProperties":false,"required":["id","source","observation"],"properties":{"id":{"type":"string","maxLength":120},"source":{"type":"string","maxLength":500},"observation":{"type":"string","maxLength":2000}}}},"claimBoundary":{"type":"object","additionalProperties":false,"required":["proves","doesNotProve"],"properties":{"proves":{"type":"array","items":{"type":"string"}},"doesNotProve":{"type":"array","items":{"type":"string"}}}}}}},{"name":"order_x402_remediation","description":"Use after a failed or risky audit to purchase a durable remediation intake for the endpoint. This creates an order; it never deploys changes or spends automatically.","transport":"https+x402","method":"POST","endpoint":"https://x402-wallet-readiness-service.vercel.app/api/x402/preflight/remediation","payment":{"required":true,"protocol":"x402","scheme":"exact","priceUsd":100,"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x820a7bf90d944bb26bfD9b62Ab172Fc3A0829cB9","facilitator":"https://facilitator.world.fun","runtimeAuthority":true},"inputSchema":{"$id":"https://x402-preflight.dev/schemas/remediation-input.json","type":"object","additionalProperties":false,"required":["resource_url","goal"],"properties":{"resource_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":500},"goal":{"type":"string","minLength":1,"maxLength":800},"contact":{"type":"string","maxLength":300},"constraints":{"type":"string","maxLength":1000},"callback_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":2000},"response_format":{"type":"string","enum":["json","markdown","both"],"default":"both"},"language":{"type":"string","minLength":2,"maxLength":20,"default":"en"}}},"outputSchema":{"$id":"https://x402-preflight.dev/schemas/remediation-receipt.json","type":"object","additionalProperties":false,"required":["capability","service","orderId","status","acceptedAt","payment","request","review","persistence","claimBoundary"],"properties":{"capability":{"type":"string","const":"order_x402_remediation"},"service":{"type":"string"},"orderId":{"type":"string"},"status":{"type":"string"},"acceptedAt":{"type":"string","format":"date-time"},"payment":{"type":"object","additionalProperties":false,"required":["asset","assetContract","network","networkCaip2","expectedAmountAtomic","expectedAmountUsd","payTo","facilitator"],"properties":{"asset":{"type":"string"},"assetContract":{"type":"string"},"network":{"type":"string"},"networkCaip2":{"type":"string"},"expectedAmountAtomic":{"type":"string"},"expectedAmountUsd":{"type":"number"},"payTo":{"type":"string"},"facilitator":{"type":"string","format":"uri"}}},"request":{"type":"object","additionalProperties":false,"required":["repository_or_url","goal","contact","constraints","callback_url","response_format","language"],"properties":{"repository_or_url":{"type":"string"},"goal":{"type":"string"},"contact":{"type":"string"},"constraints":{"type":"string"},"callback_url":{"type":"string"},"response_format":{"type":"string","enum":["json","markdown","both"]},"language":{"type":"string"}}},"review":{"type":"object","additionalProperties":false,"required":["status","statusUrl","resultUrl","reportUrl","estimatedCompletionMinutes","accessToken"],"properties":{"status":{"type":"string"},"statusUrl":{"type":"string","format":"uri"},"resultUrl":{"type":"string","format":"uri"},"reportUrl":{"type":"string","format":"uri"},"estimatedCompletionMinutes":{"type":"integer","minimum":1},"accessToken":{"type":"string"}}},"persistence":{"type":"object","additionalProperties":false,"required":["status","settlementTracking"],"properties":{"status":{"type":"string"},"settlementTracking":{"type":"boolean"}}},"claimBoundary":{"type":"object","additionalProperties":false,"required":["proves","doesNotProve"],"properties":{"proves":{"type":"array","items":{"type":"string"}},"doesNotProve":{"type":"array","items":{"type":"string"}}}}}}}],"labs":[{"category":"wallet","endpoint":"https://x402-wallet-readiness-service.vercel.app/api/preview","status":"labs"},{"category":"wallet","endpoint":"https://x402-wallet-readiness-service.vercel.app/api/readiness","status":"legacy"},{"category":"market","endpoint":"https://x402-wallet-readiness-service.vercel.app/api/market/crypto-snapshot","status":"labs"},{"category":"market","endpoint":"https://x402-wallet-readiness-service.vercel.app/api/market/ohlcv","status":"labs"},{"category":"developer","endpoint":"https://x402-wallet-readiness-service.vercel.app/api/dev/repo-snapshot","status":"labs"},{"category":"weather","endpoint":"https://x402-wallet-readiness-service.vercel.app/api/weather/current","status":"labs"},{"category":"services","endpoint":"https://x402-wallet-readiness-service.vercel.app/api/x402/services/quick-review","status":"legacy"},{"category":"services","endpoint":"https://x402-wallet-readiness-service.vercel.app/api/x402/services/integration-triage","status":"legacy"}]}