x402-inspect
Decode and validate x402 protocol messages from the command line.
x402 is an open payment protocol for the internet (HTTP 402), used for agent and machine payments. Its messages ride as base64-encoded JSON in three headers:
| Header | Schema | Sent by |
|---|---|---|
PAYMENT-REQUIRED (v1: none) |
PaymentRequired |
server (402 response) |
PAYMENT-SIGNATURE (v1: X-PAYMENT) |
PaymentPayload |
client (request) |
PAYMENT-RESPONSE |
SettlementResponse |
server (settlement) |
When something rejects your payment, you're usually staring at an opaque base64
blob. x402-inspect decodes it, tells you which message it is, and checks it
against the v2 spec — required fields, EVM address / amount / timestamp / nonce /
signature shape, CAIP-2 network — so you can see what's actually wrong fast.
Install
pip install x402-inspect
Usage
# paste a header value (base64) or raw JSON
x402-inspect "eyJ4NDAyVmVyc2lvbiI6Mi..."
# or pipe it
echo "$PAYMENT_SIGNATURE" | x402-inspect
# machine-readable
x402-inspect --json "$header"
Example:
$ x402-inspect "$header"
kind: PaymentPayload
encoding: base64
findings:
[warn] payload.signature: not a 65-byte 0x EVM signature
[FAIL] payload.authorization.value: required field missing
result: INVALID
Exit code is 0 when valid, 1 when invalid — usable in CI or a pre-flight check.
Library
from x402_inspect import inspect
rep = inspect(header_value) # base64 or JSON
print(rep.kind, rep.ok)
for f in rep.findings:
print(f.level, f.path, f.message)
Scope
- v2 spec (v1
X-PAYMENTheader name tolerated). - Deep validation for the exact / EVM scheme; other schemes/networks are structurally checked and flagged as warnings rather than failures (so a Solana or future-scheme payload still inspects, it just won't over-assert EVM shape).
- Validation only — it never verifies signatures on-chain or contacts a facilitator.
License
MIT
Release files for x402-inspect 0.1.0
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_inspect-0.1.0.tar.gz | 6.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| x402_inspect-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.5 kB
Release files / x402_inspect-0.1.0.tar.gz
| Download URL | x402_inspect-0.1.0.tar.gz |
|---|---|
| Size | 6.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f0c034f201e50b8bd12a946152eecf2ce3eda005ad5472020f61f9452e15e2f8
|
|
BLAKE2b-256 checksum How to use checksums |
63069ebf9c0c74b329ebc027a76ec2269cfcb3e69a6011025f55ddcb9428cd46
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 2, 2026.
Transparency logRelease files / x402_inspect-0.1.0-py3-none-any.whl
| Download URL | x402_inspect-0.1.0-py3-none-any.whl |
|---|---|
| Size | 6.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
81776f141983af17bbc9a7ecf927592cc059b33f30ae5b2d0d3f6642e87f31f1
|
|
BLAKE2b-256 checksum How to use checksums |
da6566d316747ed9893ee0ebacfb1dc33f5a50131cea9f55695510a037669725
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 2, 2026.
Transparency log