{"openapi":"3.1.0","info":{"title":"x402fix","version":"0.1.0","contact":{"name":"x402fix","email":"hello@youraitools.co","url":"https://agentgate-source.pages.dev/x402-x402fix/"},"license":{"name":"MIT"},"x-service-name":"x402fix by AgentGate","x-category":"developer-tools","x-categories":["developer-tools","payments","x402","testing"],"x-tags":["developer-tools","x402","lint","bazaar","check_x402_endpoint"],"x-logo":{"url":"https://agentgate-source.pages.dev/icons/x402fix.png"},"description":"x402 endpoint doctor for sellers: probes a paid x402 URL unpaid (GET, HEAD, empty POST, POST {}, CORS preflight; never pays) and returns a grade A-F, a numbered fix list and every check: v2 PAYMENT-REQUIRED header, v1 body, accepts (canonical USDC, EIP-712 domain, Solana feePayer, atomic amounts, payTo), multichain consistency and the Bazaar declaration validated against its own JSON Schema. The check tier adds the CDP facilitator validate verdict and index status, discovery-doc consistency, payee checks and a generated, self-validated extensions.bazaar block with multichain accepts. The site tier audits up to 8 paid routes of an origin.","x-guidance":"GET /v1/lite|check|site?url=https://... or POST {\"url\": \"https://...\"} ($0.005 / $0.02 / $0.05 USDC via x402, charged only on HTTP 200). Free: /v1/preview?url=."},"servers":[{"url":"https://api.youraitools.co/x402fix"}],"externalDocs":{"description":"Source and docs","url":"https://agentgate-source.pages.dev/x402-x402fix/"},"paths":{"/v1/lite":{"get":{"operationId":"x402fix_lite","summary":"Grade and fix list for one paid x402 URL: transport (GET/HEAD/empty POST/CORS), v2 header, v1 body, accepts, multichain, Bazaar declaration ($0.005)","tags":["paid"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]},"x-x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F","amount":"5000","assetSymbol":"USDC","x402Versions":[2,1],"networks":[{"network":"eip155:8453","name":"Base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:137","name":"Polygon","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:42161","name":"Arbitrum One","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","name":"Solana","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","symbol":"USDC","payTo":"FH73WbbUe2UyNzfy72MJs5nT3NxyDf9GrqE7kzjL2Jte"}]},"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","format":"uri"},"description":"Full https URL of the paid x402 route (site: origin or API base URL)"},{"name":"method","in":"query","required":false,"schema":{"type":"string","enum":["GET","POST"]},"description":"Method your paid route uses (default from its Bazaar declaration)"},{"name":"framework","in":"query","required":false,"schema":{"type":"string","enum":["hono","express","next"],"default":"hono"},"description":"Framework for the generated snippet (check tier)"}],"responses":{"200":{"description":"Report (payment settled)","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"tier":{"type":"string"},"method":{"type":"string"},"grade":{"type":"string","enum":["A","B","C","D","F"]},"score":{"type":"integer"},"status":{"type":"string","enum":["pass","ok_with_warnings","fix_needed","broken"]},"summary":{"type":"string"},"counts":{"type":"object"},"x402":{"type":"object"},"probes":{"type":"object"},"fixes":{"type":"array","items":{"type":"object","properties":{"n":{"type":"integer"},"severity":{"type":"string","enum":["error","warn"]},"id":{"type":"string"},"problem":{"type":"string"},"fix":{"type":"string"}}}},"checks":{"type":"array","items":{"type":"object"}},"cdp":{"type":["object","null"]},"generated":{"type":"object"},"routes":{"type":"array"},"missing_data":{"type":"array","items":{"type":"string"}},"limits":{"type":"array","items":{"type":"string"}},"disclaimer":{"type":"string"},"checked_at":{"type":"string","format":"date-time"}}}}}},"400":{"description":"Invalid or private URL (never charged)"},"402":{"description":"Payment Required (x402 v2 terms in the PAYMENT-REQUIRED header, v1 terms in the body)"},"503":{"description":"Check did not finish (never charged)"}}},"post":{"operationId":"x402fix_lite_post","summary":"Same as GET, POST {\"url\": \"https://api.example.com/v1/data\"}","tags":["paid"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]},"x-x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F","amount":"5000","assetSymbol":"USDC","x402Versions":[2,1],"networks":[{"network":"eip155:8453","name":"Base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:137","name":"Polygon","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:42161","name":"Arbitrum One","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","name":"Solana","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","symbol":"USDC","payTo":"FH73WbbUe2UyNzfy72MJs5nT3NxyDf9GrqE7kzjL2Jte"}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"method":{"type":"string","enum":["GET","POST"]},"framework":{"type":"string","enum":["hono","express","next"],"default":"hono"}},"required":["url"]}}}},"responses":{"200":{"description":"Report (payment settled)","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"tier":{"type":"string"},"method":{"type":"string"},"grade":{"type":"string","enum":["A","B","C","D","F"]},"score":{"type":"integer"},"status":{"type":"string","enum":["pass","ok_with_warnings","fix_needed","broken"]},"summary":{"type":"string"},"counts":{"type":"object"},"x402":{"type":"object"},"probes":{"type":"object"},"fixes":{"type":"array","items":{"type":"object","properties":{"n":{"type":"integer"},"severity":{"type":"string","enum":["error","warn"]},"id":{"type":"string"},"problem":{"type":"string"},"fix":{"type":"string"}}}},"checks":{"type":"array","items":{"type":"object"}},"cdp":{"type":["object","null"]},"generated":{"type":"object"},"routes":{"type":"array"},"missing_data":{"type":"array","items":{"type":"string"}},"limits":{"type":"array","items":{"type":"string"}},"disclaimer":{"type":"string"},"checked_at":{"type":"string","format":"date-time"}}}}}},"400":{"description":"Invalid or private URL (never charged)"},"402":{"description":"Payment Required (x402 v2 terms in the PAYMENT-REQUIRED header, v1 terms in the body)"},"503":{"description":"Check did not finish (never charged)"}}}},"/v1/check":{"get":{"operationId":"x402fix_check","summary":"Lite + CDP validate verdict and Bazaar index status, discovery docs, payee checks, generated extensions.bazaar block, multichain accepts and snippet ($0.02)","tags":["paid"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]},"x-x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F","amount":"20000","assetSymbol":"USDC","x402Versions":[2,1],"networks":[{"network":"eip155:8453","name":"Base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:137","name":"Polygon","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:42161","name":"Arbitrum One","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","name":"Solana","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","symbol":"USDC","payTo":"FH73WbbUe2UyNzfy72MJs5nT3NxyDf9GrqE7kzjL2Jte"}]},"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","format":"uri"},"description":"Full https URL of the paid x402 route (site: origin or API base URL)"},{"name":"method","in":"query","required":false,"schema":{"type":"string","enum":["GET","POST"]},"description":"Method your paid route uses (default from its Bazaar declaration)"},{"name":"framework","in":"query","required":false,"schema":{"type":"string","enum":["hono","express","next"],"default":"hono"},"description":"Framework for the generated snippet (check tier)"}],"responses":{"200":{"description":"Report (payment settled)","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"tier":{"type":"string"},"method":{"type":"string"},"grade":{"type":"string","enum":["A","B","C","D","F"]},"score":{"type":"integer"},"status":{"type":"string","enum":["pass","ok_with_warnings","fix_needed","broken"]},"summary":{"type":"string"},"counts":{"type":"object"},"x402":{"type":"object"},"probes":{"type":"object"},"fixes":{"type":"array","items":{"type":"object","properties":{"n":{"type":"integer"},"severity":{"type":"string","enum":["error","warn"]},"id":{"type":"string"},"problem":{"type":"string"},"fix":{"type":"string"}}}},"checks":{"type":"array","items":{"type":"object"}},"cdp":{"type":["object","null"]},"generated":{"type":"object"},"routes":{"type":"array"},"missing_data":{"type":"array","items":{"type":"string"}},"limits":{"type":"array","items":{"type":"string"}},"disclaimer":{"type":"string"},"checked_at":{"type":"string","format":"date-time"}}}}}},"400":{"description":"Invalid or private URL (never charged)"},"402":{"description":"Payment Required (x402 v2 terms in the PAYMENT-REQUIRED header, v1 terms in the body)"},"503":{"description":"Check did not finish (never charged)"}}},"post":{"operationId":"x402fix_check_post","summary":"Same as GET, POST {\"url\": \"https://api.example.com/v1/data\"}","tags":["paid"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]},"x-x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F","amount":"20000","assetSymbol":"USDC","x402Versions":[2,1],"networks":[{"network":"eip155:8453","name":"Base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:137","name":"Polygon","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:42161","name":"Arbitrum One","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","name":"Solana","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","symbol":"USDC","payTo":"FH73WbbUe2UyNzfy72MJs5nT3NxyDf9GrqE7kzjL2Jte"}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"method":{"type":"string","enum":["GET","POST"]},"framework":{"type":"string","enum":["hono","express","next"],"default":"hono"}},"required":["url"]}}}},"responses":{"200":{"description":"Report (payment settled)","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"tier":{"type":"string"},"method":{"type":"string"},"grade":{"type":"string","enum":["A","B","C","D","F"]},"score":{"type":"integer"},"status":{"type":"string","enum":["pass","ok_with_warnings","fix_needed","broken"]},"summary":{"type":"string"},"counts":{"type":"object"},"x402":{"type":"object"},"probes":{"type":"object"},"fixes":{"type":"array","items":{"type":"object","properties":{"n":{"type":"integer"},"severity":{"type":"string","enum":["error","warn"]},"id":{"type":"string"},"problem":{"type":"string"},"fix":{"type":"string"}}}},"checks":{"type":"array","items":{"type":"object"}},"cdp":{"type":["object","null"]},"generated":{"type":"object"},"routes":{"type":"array"},"missing_data":{"type":"array","items":{"type":"string"}},"limits":{"type":"array","items":{"type":"string"}},"disclaimer":{"type":"string"},"checked_at":{"type":"string","format":"date-time"}}}}}},"400":{"description":"Invalid or private URL (never charged)"},"402":{"description":"Payment Required (x402 v2 terms in the PAYMENT-REQUIRED header, v1 terms in the body)"},"503":{"description":"Check did not finish (never charged)"}}}},"/v1/site":{"get":{"operationId":"x402fix_site","summary":"Whole origin: paid routes from /.well-known/x402 and /openapi.json (up to 8), grade and top fixes per route, discovery-doc drift ($0.05)","tags":["paid"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{}}]},"x-x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F","amount":"50000","assetSymbol":"USDC","x402Versions":[2,1],"networks":[{"network":"eip155:8453","name":"Base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:137","name":"Polygon","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:42161","name":"Arbitrum One","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","name":"Solana","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","symbol":"USDC","payTo":"FH73WbbUe2UyNzfy72MJs5nT3NxyDf9GrqE7kzjL2Jte"}]},"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","format":"uri"},"description":"Full https URL of the paid x402 route (site: origin or API base URL)"},{"name":"method","in":"query","required":false,"schema":{"type":"string","enum":["GET","POST"]},"description":"Method your paid route uses (default from its Bazaar declaration)"},{"name":"framework","in":"query","required":false,"schema":{"type":"string","enum":["hono","express","next"],"default":"hono"},"description":"Framework for the generated snippet (check tier)"}],"responses":{"200":{"description":"Report (payment settled)","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"tier":{"type":"string"},"method":{"type":"string"},"grade":{"type":"string","enum":["A","B","C","D","F"]},"score":{"type":"integer"},"status":{"type":"string","enum":["pass","ok_with_warnings","fix_needed","broken"]},"summary":{"type":"string"},"counts":{"type":"object"},"x402":{"type":"object"},"probes":{"type":"object"},"fixes":{"type":"array","items":{"type":"object","properties":{"n":{"type":"integer"},"severity":{"type":"string","enum":["error","warn"]},"id":{"type":"string"},"problem":{"type":"string"},"fix":{"type":"string"}}}},"checks":{"type":"array","items":{"type":"object"}},"cdp":{"type":["object","null"]},"generated":{"type":"object"},"routes":{"type":"array"},"missing_data":{"type":"array","items":{"type":"string"}},"limits":{"type":"array","items":{"type":"string"}},"disclaimer":{"type":"string"},"checked_at":{"type":"string","format":"date-time"}}}}}},"400":{"description":"Invalid or private URL (never charged)"},"402":{"description":"Payment Required (x402 v2 terms in the PAYMENT-REQUIRED header, v1 terms in the body)"},"503":{"description":"Check did not finish (never charged)"}}},"post":{"operationId":"x402fix_site_post","summary":"Same as GET, POST {\"url\": \"https://api.example.com/v1/data\"}","tags":["paid"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{}}]},"x-x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F","amount":"50000","assetSymbol":"USDC","x402Versions":[2,1],"networks":[{"network":"eip155:8453","name":"Base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:137","name":"Polygon","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:42161","name":"Arbitrum One","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","name":"Solana","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","symbol":"USDC","payTo":"FH73WbbUe2UyNzfy72MJs5nT3NxyDf9GrqE7kzjL2Jte"}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"method":{"type":"string","enum":["GET","POST"]},"framework":{"type":"string","enum":["hono","express","next"],"default":"hono"}},"required":["url"]}}}},"responses":{"200":{"description":"Report (payment settled)","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"tier":{"type":"string"},"method":{"type":"string"},"grade":{"type":"string","enum":["A","B","C","D","F"]},"score":{"type":"integer"},"status":{"type":"string","enum":["pass","ok_with_warnings","fix_needed","broken"]},"summary":{"type":"string"},"counts":{"type":"object"},"x402":{"type":"object"},"probes":{"type":"object"},"fixes":{"type":"array","items":{"type":"object","properties":{"n":{"type":"integer"},"severity":{"type":"string","enum":["error","warn"]},"id":{"type":"string"},"problem":{"type":"string"},"fix":{"type":"string"}}}},"checks":{"type":"array","items":{"type":"object"}},"cdp":{"type":["object","null"]},"generated":{"type":"object"},"routes":{"type":"array"},"missing_data":{"type":"array","items":{"type":"string"}},"limits":{"type":"array","items":{"type":"string"}},"disclaimer":{"type":"string"},"checked_at":{"type":"string","format":"date-time"}}}}}},"400":{"description":"Invalid or private URL (never charged)"},"402":{"description":"Payment Required (x402 v2 terms in the PAYMENT-REQUIRED header, v1 terms in the body)"},"503":{"description":"Check did not finish (never charged)"}}}},"/v1/preview":{"get":{"operationId":"x402fix_preview","summary":"Free: grade, score, status and counts (no fixes), 10/min per IP","security":[],"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","format":"uri"},"description":"Full https URL of the paid x402 route (site: origin or API base URL)"},{"name":"method","in":"query","required":false,"schema":{"type":"string","enum":["GET","POST"]},"description":"Method your paid route uses (default from its Bazaar declaration)"},{"name":"framework","in":"query","required":false,"schema":{"type":"string","enum":["hono","express","next"],"default":"hono"},"description":"Framework for the generated snippet (check tier)"}],"responses":{"200":{"description":"OK"},"400":{"description":"Invalid input"},"429":{"description":"Free tier rate limit"}}}}},"x-x402-networks":[{"network":"eip155:8453","name":"Base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:137","name":"Polygon","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:42161","name":"Arbitrum One","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","name":"Solana","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","symbol":"USDC","payTo":"FH73WbbUe2UyNzfy72MJs5nT3NxyDf9GrqE7kzjL2Jte"}]}