78trust / 100

A11y Audit

by x402-api-24223879872.us-east1.run.app in Security & trust

x402 APIPassing, checked 41 min ago

WCAG accessibility audit of a public URL using headless Chromium and axe-core: violation/pass/incomplete counts by impact, per-rule detail, and a 0-100 score.

GET https://x402-api-24223879872.us-east1.run.app/v1/a11y-audit

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
158 ms typical, 222 ms slowest 5%
Last check
41 min ago
Next check
any minute now

How to call it

# See the payment challenge (nothing is charged)
curl -i -X GET "https://x402-api-24223879872.us-east1.run.app/v1/a11y-audit?url=https%3A%2F%2Fexample.com&viewport=desktop&wcag=2.2-aa"
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client().register(
  "eip155:8453",
  new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fx402-api-24223879872.us-east1.run.app%2Fv1%2Fa11y-audit
const res = await pay("https://x402-api-24223879872.us-east1.run.app/v1/a11y-audit?url=https%3A%2F%2Fexample.com&viewport=desktop&wcag=2.2-aa");
console.log(await res.json());

Example input

{
  "url": "https://example.com",
  "viewport": "desktop",
  "wcag": "2.2-aa"
}

Example output

{
  "auditedAt": "2026-09-17T00:00:00.000Z",
  "finalUrl": "https://example.com/",
  "incomplete": [],
  "score": 89,
  "summary": {
    "byImpact": {
      "critical": 0,
      "minor": 0,
      "moderate": 1,
      "serious": 1
    },
    "incomplete": 0,
    "passes": 18,
    "violations": 2
  },
  "url": "https://example.com",
  "viewport": "desktop",
  "violations": [
    {
      "description": "Elements must meet minimum color contrast ratio thresholds",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast",
      "id": "color-contrast",
      "impact": "serious",
      "nodes": [
        {
          "failureSummary": "Fix contrast",
          "html": "<a href=\"/about\">About</a>",
          "selector": "footer a"
        }
      ],
      "wcagTags": [
        "wcag2aa",
        "wcag143"
      ]
    }
  ],
  "wcagLevel": "2.2-aa"
}

Security scan

  • No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
41 min agoPassed402221 ms$0.08
4 h agoPassed402158 ms$0.08
8 h agoPassed402162 ms$0.08
11 h agoPassed402155 ms$0.08
15 h agoPassed402222 ms$0.08
18 h agoPassed402136 ms$0.08
22 h agoPassed402140 ms$0.08
26 h agoPassed402210 ms$0.08
29 h agoPassed402227 ms$0.08
34 h agoPassed402149 ms$0.08
37 h agoPassed402139 ms$0.08
42 h agoPassed402168 ms$0.08