Trango ComputeContextIQ

Free tool · No sign-up required

x402 Inspector —
validate your payment challenge before you ship it.

Paste any endpoint and check its x402 payment challenge — the HTTP 402 Payment Required response that Coinbase and Cloudflare's x402 protocol uses for machine-to-machine USDC payments on Base and beyond. Get a plain-language readiness check, not a bare pass/fail.

Networks recognized

BaseBase SepoliaPolygonArbitrumWorld ChainAvalancheSolanaStellar

What it checks

402 challenge detection

Probes the endpoint with GET, and automatically retries with POST when the response indicates a method mismatch — x402 commonly gates POST-only resources, and a naive GET-only checker would misreport them as broken.

Payment-requirements validation

Checks the 402 body's accepts[] entries against the x402 spec — scheme, network, maxAmountRequired, resource, payTo, asset, maxTimeoutSeconds, and extra — and flags whichever required fields are missing or malformed.

Network & address-format checks

Recognizes the network identifiers in active use across the x402 ecosystem and validates payTo/asset addresses against the right format for that chain family — EVM, Solana, or Stellar.

v1 and v2 shape support

Understands both x402 response shapes in live use — v1's top-level maxAmountRequired and bare network names, and v2's amount field, extra-nested resource/description, and CAIP-2 network identifiers like eip155:8453.

Plain-language findings

Every warning names the specific field and why it matters — no bare pass/fail. Findings that a middleware would have prevented point at the fix directly.

Never spends real funds

This is a shape check, not a live transaction — the inspector confirms your challenge is well-formed and never completes an actual payment. Safe to run against production endpoints.

What a valid 402 response looks like

Modeled on ContextIQ's own /api/v1/dns-inspector endpoint — a real, live x402-gated route:

HTTP/1.1 402 Payment Required
Content-Type: application/json

{
  "x402Version": 1,
  "accepts": [{
    "scheme": "exact",
    "network": "base-sepolia",
    "maxAmountRequired": "10000",       // atomic units — 0.01 USDC at 6 decimals
    "resource": "https://contextiq.trango-compute.com/api/v1/dns-inspector",
    "description": "DNS Inspector record lookup (A/AAAA/MX/NS/TXT/SOA/CAA + SPF/DMARC) — per call",
    "mimeType": "*/*",
    "payTo": "0x...",
    "maxTimeoutSeconds": 300,
    "asset": "0x036CbD53842c5426634e7929541eC2318f3dCF7e",
    "extra": { "name": "USDC", "version": "2" }
  }],
  "error": "Payment required"
}

This is x402 v1. Live v2 endpoints use a different shape — CAIP-2 network IDs, an amount field, and resource/description nested in extra. The inspector reads both; see the full v1 vs v2 diff.

Who uses it

Backend developers integrating x402

Confirm your endpoint's 402 response is actually spec-compliant before real clients start hitting it — a malformed payTo or missing maxTimeoutSeconds fails silently until a payment can't complete.

Agent / AI-infra developers

Before wiring an autonomous agent to pay a third-party service, check that the endpoint's payment challenge is well-formed enough for your client to construct a valid payment from it.

Middleware maintainers

Verify your own x402 middleware integration end to end — this is the same check ContextIQ runs against its own x402-gated v1 API routes.