x402-conformance-suite
Audit, monitor, and protect endpoints against the x402 strict-v2 standard.
pip install x402-conformance-suite
Quick examples
CLI:
x402-validate https://observer.137-184-67-179.sslip.io
Batch audit:
x402-validate endpoints.txt --output html --parallel 20
MCP server (Claude / Cursor / any MCP client):
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | x402-mcp
Python:
import asyncio
from x402_conformance_suite._engine import run_audit
async def main():
report = await run_audit("https://example.com")
print(report.summary)
asyncio.run(main())
What it checks
Seven core checks plus marketplace mode:
| Check | Purpose |
|---|---|
manifest_discovery |
GET /.well-known/x402 returns a valid JSON manifest |
caip2_compliance |
A valid CAIP-2 network is advertised — including v2 accepts[].network |
json_resilience |
HTTP 402 body is a JSON object, not a primitive |
bazaar_compliance |
The 402 body has a valid extensions.bazaar block |
bot_wall |
No bot-protection challenge answers in place of the origin |
accepts_completeness |
Every accepts[] entry is complete, with amounts in atomic units |
discovery_resource_listing |
The paid resource is listed in the origin's catalog so agents find it |
A check that does not apply — a bazaar block on an endpoint that never returns
402, say — reports PASS with applicable: false rather than punishing the
operator for something the spec does not require.
For multi-product catalogs, use mode="marketplace": every product in the
manifest gets its own endpoint audit and bazaar check (see
API.md).
Extended tools (separate repo)
Dashboard, API server, Stripe monetization, and proxy middleware: MSSATANASS/x402-validator-tools
Documentation
- API Reference — every public function and result type
- Design — architecture and design choices
- Validation Report — 27 endpoints audited in 5.2 s
- Contributing — how to add checks without breaking stability
License
Apache-2.0.
Release files for x402-conformance-suite 0.5.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| x402_conformance_suite-0.5.1.tar.gz | 87.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| x402_conformance_suite-0.5.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 120.7 kB
Release files / x402_conformance_suite-0.5.1.tar.gz
| Download URL | x402_conformance_suite-0.5.1.tar.gz |
|---|---|
| Size | 87.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f1dda8e3bfed09d02d949c240ba8b7edf2343be5f80e9936d45479adaa0d32e5
|
|
BLAKE2b-256 checksum How to use checksums |
57ea593b11307a60c20d83ab05fe751d8b57742577f523cd50c6263956c98535
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.5
|
Release files / x402_conformance_suite-0.5.1-py3-none-any.whl
| Download URL | x402_conformance_suite-0.5.1-py3-none-any.whl |
|---|---|
| Size | 33.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
116ed7c19a4e8f2033fb07fc476616f8b1eea5cc94fbd49bca9b458002637fd4
|
|
BLAKE2b-256 checksum How to use checksums |
fe06f9a1dfaf830de895cf03807d93de62c66d631ee29c7fe7fe6efca7f2c9f6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.5
|