{"slug":"app-tenna-ai-api-x402-verifier-x402-endpoint-lint-ecfcf2","title":"x402 Endpoint Payment Check","host":"app.tenna.ai","method":"POST","resource":"https://app.tenna.ai/api/x402/verifier/x402_endpoint_lint","category":"other","description":"x402 Endpoint Payment Check. Check an x402 endpoint's 402 payment-required body before you rely on it. Reports whether the contract is payable, whether it is opted in to the Bazaar catalogue, and whether a buying agent can read its input schema by machine. Every defect carries a JSON evidence path. ","price_listed":0.01,"price_asked":0.01,"state":"answering","state_label":"Answering","checks_7d":1,"answered_7d":1,"latency_ms_median":150,"reported_calls_30d":1,"reported_payers_30d":1,"networks":["eip155:8453"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"body":{"offering":"x402_endpoint_lint","paymentRequiredBody":{"accepts":[{"scheme":"exact"}],"resource":{"description":"what it sells","url":"https://example/api"},"x402Version":2}},"bodyType":"json","method":"POST","type":"http"},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"additionalProperties":false,"description":"The 402 payment-required body returned by the endpoint.","properties":{"offering":{"const":"x402_endpoint_lint","description":"Offering identifier. Must be exactly 'x402_endpoint_lint'.","type":"string"},"paymentRequiredBody":{"description":"The JSON body the endpoint returned with HTTP 402, verbatim.","examples":[{"accepts":[{"scheme":"exact"}],"resource":{"description":"what it sells","url":"https://example/api"},"x402Version":2}],"type":"object"}},"required":["offering","paymentRequiredBody"],"type":"object"},"bodyType":{"enum":["json"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"additionalProperties":true,"properties":{"dataState":{"description":"COMPLETE when the body was readable.","type":"string"},"findings":{"description":"Defects, each with a JSON evidence path and a recommended fix.","items":{"type":"object"},"type":"array"},"grade":{"description":"Deterministic grade.","enum":["PASS","WARN","FAIL"],"type":"string"},"indexable":{"description":"False when the Bazaar opt-in is missing, so the endpoint never appears in the catalogue however many payments settle.","type":"boolean"},"limitations":{"description":"Coverage limits and missing data, always disclosed.","items":{"type":"string"},"type":"array"},"machineReadableContract":{"description":"False when a non-standard schema keyword downgrades the published schema to a string, so a buying agent cannot read the contract.","type":"boolean"},"offering":{"const":"x402_endpoint_lint","description":"Offering that produced this result.","type":"string"},"payable":{"description":"False when a defect would make settlement fail, such as a string over the facilitator's 500-character limit.","type":"boolean"},"provenance":{"description":"Reproducibility metadata so another agent can audit this.","properties":{"auditedDeliverableHash":{"description":"Explicit alias for resultHash on deliverable-audit results; hashes the buyer-supplied input, not the audit envelope.","type":["string","null"]},"generatedAt":{"description":"Unix seconds.","type":"integer"},"ledgerLaunchCount":{"description":"Launches in the ledger. Null when the offering is not derived from the launch ledger — this means not applicable, not collection failure.","type":["integer","null"]},"ledgerSpanHours":{"description":"Hours of history covered. Null when the offering is not derived from the launch ledger.","type":["number","null"]},"resultHash":{"description":"Hash of the audited input, so the same verdict can be reproduced. Present on audit offerings.","type":["string","null"]},"rubricVersion":{"description":"Rubric the verdict was produced under. Present on audit offerings.","type":["string","null"]},"source":{"description":"Data origin.","type":"string"}},"type":"object"},"schemaVersion":{"description":"Deliverable contract version.","type":"string"},"severityCounts":{"description":"Counts by severity.","type":"object"}},"required":["schemaVersion","offering","provenance","limitations","dataState","grade","findings","payable","indexable"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"},"history":[{"day":"2026-09-24","reachable":true,"status":402,"valid_402":true,"asked_usdc":0.01,"price_match":true,"latency_ms":150,"error":null}],"description_full":"x402 Endpoint Payment Check. Check an x402 endpoint's 402 payment-required body before you rely on it. Reports whether the contract is payable, whether it is opted in to the Bazaar catalogue, and whether a buying agent can read its input schema by machine. Every defect carries a JSON evidence path. Reads the body you supply; it does not pay or call the endpoint. A PASS is not a correctness guarantee and not a claim that the service is accurate.","last_updated":"2026-09-06T20:10:34.774Z","schemes":["exact"]}