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.2
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.2.tar.gz | 93.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| x402_conformance_suite-0.5.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 129.5 kB
Release files / x402_conformance_suite-0.5.2.tar.gz
| Download URL | x402_conformance_suite-0.5.2.tar.gz |
|---|---|
| Size | 93.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
15393a9e907637f86ab79ab48163d291bbfa737d810970a1a8348368410df1cb
|
|
BLAKE2b-256 checksum How to use checksums |
e5eadc257a3b827839bfa020a30944b66484678bef590f1c741831ec6d3ee284
|
| 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.2-py3-none-any.whl
| Download URL | x402_conformance_suite-0.5.2-py3-none-any.whl |
|---|---|
| Size | 36.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dd8da67cf024b7af1fb511de9dbf884cf9c565cb8516e642a6acbfa2e26aeba7
|
|
BLAKE2b-256 checksum How to use checksums |
9fe093ba4d32cc7ebb22a3b3aec8bf8bf689da4da43897183fe361ecb8c2e1df
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.5
|