{
  "x402Version": 2,
  "id": 26980,
  "slug": "26980",
  "resource": "https://app.tenna.ai/api/x402/verifier/x402_endpoint_lint",
  "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. 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.",
  "type": "http",
  "serviceName": "LUMI Verifier",
  "resourceType": "Payments",
  "accepts": [
    {
      "scheme": "exact",
      "network": "eip155:8453",
      "payTo": "0x7eaf3c393a8996e124c0fa7ccbc55019854c4c5b",
      "asset": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
      "amount": "10000",
      "amountUsd": 0.01,
      "maxTimeoutSeconds": 60
    }
  ],
  "outputSchema": {
    "properties": {
      "example": {
        "additionalProperties": true,
        "properties": {
          "auditedBodyHash": {
            "description": "Hash of the 402 body we audited, so the same input can be re-run and this verdict reproduced. Null when no body was supplied.",
            "type": [
              "string",
              "null"
            ]
          },
          "dataState": {
            "description": "COMPLETE when the body was readable.",
            "type": "string"
          },
          "doNotReconcile": {
            "description": "Field pairs that describe independent failure modes and must not be cross-checked against each other; a difference between such a pair is expected and is not a contradiction.",
            "items": {
              "type": "object"
            },
            "type": "array"
          },
          "findings": {
            "description": "Defects, each with a JSON evidence path and a recommended fix. Severity is major (would stop a paying agent or block catalogue listing) or minor.",
            "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. The scale has two levels only, major and minor; there is no critical level.",
            "type": "object"
          }
        },
        "required": [
          "schemaVersion",
          "offering",
          "provenance",
          "limitations",
          "dataState",
          "grade",
          "findings",
          "payable",
          "indexable"
        ],
        "type": "object"
      },
      "type": {
        "type": "string"
      }
    },
    "required": [
      "type"
    ],
    "type": "object"
  },
  "extensions": {
    "bazaar": {
      "discoverable": true,
      "info": {
        "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": {
          "example": {
            "dataState": "<dataState>",
            "findings": [
              {}
            ],
            "grade": "PASS",
            "indexable": true,
            "limitations": [
              "<limitations>"
            ],
            "offering": "x402_endpoint_lint",
            "payable": true,
            "provenance": {
              "auditedDeliverableHash": null,
              "generatedAt": 1,
              "ledgerLaunchCount": null,
              "ledgerSpanHours": null,
              "resultHash": null,
              "rubricVersion": null,
              "source": "<source>"
            },
            "schemaVersion": "<schemaVersion>"
          },
          "type": "json"
        }
      },
      "resource": "https://app.tenna.ai/api/x402/verifier/x402_endpoint_lint",
      "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": {
                  "auditedBodyHash": {
                    "description": "Hash of the 402 body we audited, so the same input can be re-run and this verdict reproduced. Null when no body was supplied.",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "dataState": {
                    "description": "COMPLETE when the body was readable.",
                    "type": "string"
                  },
                  "doNotReconcile": {
                    "description": "Field pairs that describe independent failure modes and must not be cross-checked against each other; a difference between such a pair is expected and is not a contradiction.",
                    "items": {
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "findings": {
                    "description": "Defects, each with a JSON evidence path and a recommended fix. Severity is major (would stop a paying agent or block catalogue listing) or minor.",
                    "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. The scale has two levels only, major and minor; there is no critical level.",
                    "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"
      }
    }
  },
  "tags": [
    "x402",
    "402",
    "payment",
    "audit",
    "bazaar"
  ],
  "sourceHost": "app.tenna.ai",
  "lastUpdated": "2026-10-06T03:38:59.603Z",
  "quality": {
    "calls30d": 4,
    "uniquePayers30d": 3,
    "lastCalledAt": "2026-10-06T03:38:58.942Z"
  },
  "metadata": {
    "serviceName": "LUMI Verifier",
    "extensions": {
      "bazaar": {
        "discoverable": true,
        "info": {
          "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": {
            "example": {
              "dataState": "<dataState>",
              "findings": [
                {}
              ],
              "grade": "PASS",
              "indexable": true,
              "limitations": [
                "<limitations>"
              ],
              "offering": "x402_endpoint_lint",
              "payable": true,
              "provenance": {
                "auditedDeliverableHash": null,
                "generatedAt": 1,
                "ledgerLaunchCount": null,
                "ledgerSpanHours": null,
                "resultHash": null,
                "rubricVersion": null,
                "source": "<source>"
              },
              "schemaVersion": "<schemaVersion>"
            },
            "type": "json"
          }
        },
        "resource": "https://app.tenna.ai/api/x402/verifier/x402_endpoint_lint",
        "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": {
                    "auditedBodyHash": {
                      "description": "Hash of the 402 body we audited, so the same input can be re-run and this verdict reproduced. Null when no body was supplied.",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "dataState": {
                      "description": "COMPLETE when the body was readable.",
                      "type": "string"
                    },
                    "doNotReconcile": {
                      "description": "Field pairs that describe independent failure modes and must not be cross-checked against each other; a difference between such a pair is expected and is not a contradiction.",
                      "items": {
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "findings": {
                      "description": "Defects, each with a JSON evidence path and a recommended fix. Severity is major (would stop a paying agent or block catalogue listing) or minor.",
                      "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. The scale has two levels only, major and minor; there is no critical level.",
                      "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"
        }
      }
    }
  },
  "liveness": {
    "reliability": null
  },
  "verified": false,
  "featured": false,
  "provider": {
    "host": "app.tenna.ai",
    "manifest_name": "app.tenna.ai",
    "source": "cdp-mirror",
    "source_manifest_url": "https://api.cdp.coinbase.com/platform/v2/x402/discovery/resources",
    "submitted_at": "2026-10-14T01:15:01.050Z"
  },
  "exampleResponse": {
    "example": {
      "auditedBodyHash": "string",
      "dataState": "string",
      "doNotReconcile": [
        {}
      ],
      "findings": [
        {}
      ],
      "grade": "PASS",
      "indexable": true,
      "limitations": [
        "string"
      ],
      "machineReadableContract": true,
      "offering": "string",
      "payable": true,
      "provenance": {
        "auditedDeliverableHash": "string",
        "generatedAt": 0,
        "ledgerLaunchCount": 0,
        "ledgerSpanHours": 0,
        "resultHash": "string",
        "rubricVersion": "string",
        "source": "string"
      },
      "schemaVersion": "string",
      "severityCounts": {}
    },
    "type": "string"
  }
}