Try it in one command
No install, no keys, no signup, and nothing settles on-chain:
npx @wasit-dev/cli test --target https://your-service.example/paid --read-onlyPoint --target at any endpoint that answers HTTP 402. That runs
X402-01 through X402-05 — the read-only half of the x402 suite —
and prints one line per check:
PASS X402-01 402 Response Status
Server responded with 402 as required.
PASS X402-02 Payment Header Present
Challenge header present on the 402 response.
FAIL X402-03 Header Payload Decodable
Base64 decoded, but the result is not valid JSON.
2 passed, 1 failed.Every result carries its own detail line, passes included — a check that passed still tells you what it accepted.
Note —
--read-onlyis what keeps this free. Drop it and the payment checksX402-06/07run as soon as aSTELLAR_PRIVATE_KEYis available, settling a real testnet payment. The CLI reads.envfrom the directory you run it in, so "I did not pass a key" is not the same as "no key is set".
What the exit code means
Useful immediately, because it is what a CI job reads:
| Code | Meaning |
|---|---|
0 | Every check that ran conformed |
1 | At least one conformance failure |
2 | At least one check produced no verdict — unreachable target, bad config |
A run with both a failure and an error exits 1: a real finding
outranks a missing one.
Browse the checks without running any
npx @wasit-dev/cli checksLists all thirteen checks with the subcommand that runs each, and flags the ones that are negative, destructive, or spend funds. It contacts nothing.
Ready for the checks that settle? Quick setup gets you a funded testnet wallet.