Install
openclaw skills install @marketingkioldenburg/x402-endpoint-validatorValidate x402 endpoints — test 402 responses, check Bazaar extension, verify payment schemas, confirm .well-known/x402 discovery manifests. For agents and operators who want to verify their x402 implementation works correctly.
openclaw skills install @marketingkioldenburg/x402-endpoint-validatorTest and validate x402 endpoints. Check that the 402 payment challenge is correctly configured, the Bazaar extension is present, and the .well-known discovery manifest is valid.
accepts array valid (asset, network, payTo, amount)?extensions.bazaar with discovery metadata?/.well-known/x402 exist and contain valid JSON?# Trigger a 402 (replace URL and body with the service's expected input)
curl -s -o /dev/null -w "%{http_code}" -X POST https://service.example/services/your-endpoint/jobs \
-H "Content-Type: application/json" \
-d '{"url": "https://example.de"}'
Expected: 402
curl -s -X POST https://service.example/services/your-endpoint/jobs \
-H "Content-Type: application/json" \
-d '{"url": "https://example.de"}' | python3 -m json.tool
Check these fields:
| Field | Expected | Check |
|---|---|---|
x402Version | 2 | Protocol version |
accepts[].scheme | "exact" | Payment scheme |
accepts[].network | "eip155:8453" | Base mainnet |
accepts[].asset | "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" | USDC contract |
accepts[].amount | valid number string | In atomic units (6 decimals) |
accepts[].payTo | valid address | Where to send payment |
accepts[].maxTimeoutSeconds | number | Max wait for result |
extensions.bazaar | present | Bazaar discovery metadata |
extensions.bazaar.discoverable | true | Indexed on Bazaar |
curl -s https://service.example/.well-known/x402 | python3 -m json.tool
Check:
x402Version = 2serviceName, claim, description are presentfacilitator is declared (e.g. "cdp")resources array is non-emptyUse the official validator at https://agentic.market/validate:
The tool checks x402 configuration, facilitator setup, and Bazaar indexing.
| Symptom | Likely Cause |
|---|---|
| HTTP 200 instead of 402 | Endpoint not x402-configured |
Missing accepts array | Payment schema not declared |
| Wrong asset address | USDC on Base is 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 |
No extensions.bazaar | Bazaar metadata not included |
/.well-known/x402 returns 404 | Discovery manifest not published |
| Amount too high/low | Check atomic units (50000 = $0.05) |
| PAYMENT-SIGNATURE rejected | Wrong tx hash, amount mismatch, or expired quote |