Api Endpoint

LUMI Verifier

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.

Open interactive test console

Offering

Provider
app.tenna.ai
Method
POST
Offering type
Api Endpoint
Transport type
http
Category
Security
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://app.tenna.ai/api/x402/verifier/x402_endpoint_lint
MIME type
application/json
First seen
2026-10-16T01:50:10.647Z
Last seen
Tags
X402, 402, payment, audit, Bazaar, discoverability

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.1 USDC
Atomic price: 100000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
    "amount": "100000",
    "payTo": "0x7eaf3c393a8996e124c0fa7ccbc55019854c4c5b"
  }
]

Observed health

Status
Reachable
Latest latency
1169 ms
Average latency
1110 ms
HTTP status
405
Last checked
Reachability
100% over 14 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "const": "http"
    },
    "method": {
      "type": "string",
      "enum": [
        "POST"
      ]
    },
    "bodyType": {
      "type": "string",
      "enum": [
        "json"
      ]
    },
    "body": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "offering",
        "paymentRequiredBody"
      ],
      "description": "The 402 payment-required body returned by the endpoint.",
      "properties": {
        "paymentRequiredBody": {
          "type": "object",
          "description": "The JSON body the endpoint returned with HTTP 402, verbatim.",
          "examples": [
            {
              "x402Version": 2,
              "resource": {
                "url": "https://example/api",
                "description": "what it sells"
              },
              "accepts": [
                {
                  "scheme": "exact"
                }
              ]
            }
          ]
        },
        "offering": {
          "type": "string",
          "const": "x402_endpoint_lint",
          "description": "Offering identifier. Must be exactly 'x402_endpoint_lint'."
        }
      }
    }
  },
  "required": [
    "type",
    "method",
    "bodyType",
    "body"
  ],
  "additionalProperties": false
}

Output schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string"
    },
    "example": {
      "type": "object",
      "additionalProperties": true,
      "required": [
        "schemaVersion",
        "offering",
        "provenance",
        "limitations",
        "dataState",
        "grade",
        "findings",
        "payable",
        "indexable"
      ],
      "properties": {
        "schemaVersion": {
          "type": "string",
          "description": "Deliverable contract version."
        },
        "offering": {
          "type": "string",
          "description": "Offering that produced this result.",
          "const": "x402_endpoint_lint"
        },
        "provenance": {
          "type": "object",
          "description": "Reproducibility metadata so another agent can audit this.",
          "properties": {
            "source": {
              "type": "string",
              "description": "Data origin."
            },
            "generatedAt": {
              "type": "integer",
              "description": "Unix seconds."
            },
            "ledgerLaunchCount": {
              "type": [
                "integer",
                "null"
              ],
              "description": "Launches in the ledger. Null when the offering is not derived from the launch ledger — this means not applicable, not collection failure."
            },
            "ledgerSpanHours": {
              "type": [
                "number",
                "null"
              ],
              "description": "Hours of history covered. Null when the offering is not derived from the launch ledger."
            },
            "rubricVersion": {
              "type": [
                "string",
                "null"
              ],
              "description": "Rubric the verdict was produced under. Present on audit offerings."
            },
            "resultHash": {
              "type": [
                "string",
                "null"
              ],
              "description": "Hash of the audited input, so the same verdict can be reproduced. Present on audit offerings."
            },
            "auditedDeliverableHash": {
              "type": [
                "string",
                "null"
              ],
              "description": "Explicit alias for resultHash on deliverable-audit results; hashes the buyer-supplied input, not the audit envelope."
            }
          }
        },
        "limitations": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Coverage limits and missing data, always disclosed."
        },
        "checksPerformed": {
          "type": "array",
          "description": "Every check this lint runs, with PASSED / FAILED / NOT_RUN. NOT_RUN means the body was unusable so the check could not execute — it is never reported as PASSED."
        },
        "checksSummary": {
          "type": "object",
          "description": "Counts of passed, failed and notRun. The three are reported separately and are not summed into one score."
        },
        "dataState": {
          "type": "string",
          "description": "COMPLETE when the body was readable."
        },
        "grade": {
          "type": "string",
          "description": "Deterministic grade.",
          "enum": [
            "PASS",
            "WARN",
            "FAIL"
          ]
        },
        "severityCounts": {
          "type": "object",
          "description": "Counts by severity. The scale has two levels only, major and minor; there is no critical level."
        },
        "findings": {
          "type": "array",
          "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"
          }
        },
        "payable": {
          "type": "boolean",
          "description": "False when a defect would make settlement fail, such as a string over the facilitator's 500-character limit."
        },
        "indexable": {
          "type": "boolean",
          "description": "False when the Bazaar opt-in is missing, so the endpoint never appears in the catalogue however many payments settle."
        },
        "machineReadableContract": {
          "type": "boolean",
          "description": "False when a non-standard schema keyword downgrades the published schema to a string, so a buying agent cannot read the contract."
        },
        "doNotReconcile": {
          "type": "array",
          "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"
          }
        },
        "auditedBodyHash": {
          "type": [
            "string",
            "null"
          ],
          "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."
        }
      }
    }
  },
  "required": [
    "type"
  ]
}