Problem
Registering https://api.strale.io/x402/iban-validate on x402scan.com/resources/register fails with:
Registration Failed — Failed to register all 1 resources
URL: https://api.strale.io/x402/iban-validate
Error: Expected 402 response
This happens with both "Add Server" and "Register This URL Only" buttons.
The endpoint returns a valid 402
Verified via curl:
$ curl -s -w "\nHTTP_STATUS: %{http_code}\n" "https://api.strale.io/x402/iban-validate"
{"x402Version":1,"paymentRequirements":[{"scheme":"exact","network":"eip155:8453","maxAmountRequired":"10000","resource":"https://api.strale.io/x402/iban-validate","description":"Validate IBAN numbers","mimeType":"application/json","payTo":"0x66D7C2F952362BFB24FD7F02a9beC9c754ea83bC","maxTimeoutSeconds":300,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}],"error":"Payment required","accepts":[{"network":"eip155:8453","asset":"USDC","amount":"$0.01"}]}
HTTP_STATUS: 402
Full response headers:
HTTP/1.1 402 Payment Required
Content-Type: application/json
Payment-Required: eyJ4NDAyVmVyc2lvbiI6MSwi... (base64 v1 payload)
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: Payment-Required,X-Payment-Response
What we have
- HTTP 402 status ✅
Payment-Required header with base64 v1 payload ✅
- JSON body with
paymentRequirements array (v2 format) ✅
scheme: "exact" ✅
network: "eip155:8453" (Base mainnet) ✅
asset: USDC contract on Base ✅
payTo: valid wallet address ✅
- Both GET and POST return 402 ✅
Environment
- Server: Hono on Railway (europe-west4)
- Agent card at
/.well-known/agent-card.json
- TLS: Railway edge handles TLS, curl shows a renegotiation during handshake
Question
Is there something specific about the 402 response format that x402scan expects beyond the standard x402 spec? For example:
- Does x402scan require the header to be
PAYMENT-REQUIRED (all-caps) instead of Payment-Required?
- Does it need a specific
x402Version value (2 instead of 1)?
- Does it validate against a registered facilitator?
- Could TLS renegotiation be causing the probe to fail?
Happy to adjust our response format if needed. Thanks!
Problem
Registering
https://api.strale.io/x402/iban-validateon x402scan.com/resources/register fails with:This happens with both "Add Server" and "Register This URL Only" buttons.
The endpoint returns a valid 402
Verified via curl:
Full response headers:
What we have
Payment-Requiredheader with base64 v1 payload ✅paymentRequirementsarray (v2 format) ✅scheme: "exact"✅network: "eip155:8453"(Base mainnet) ✅asset: USDC contract on Base ✅payTo: valid wallet address ✅Environment
/.well-known/agent-card.jsonQuestion
Is there something specific about the 402 response format that x402scan expects beyond the standard x402 spec? For example:
PAYMENT-REQUIRED(all-caps) instead ofPayment-Required?x402Versionvalue (2 instead of 1)?Happy to adjust our response format if needed. Thanks!