curl -i "https://test402.com/api/x402?offerReceipt=jws"
Returns 402 with a spec-compliant challenge.
The signature is minted per request and shown here as a placeholder, and the offer’s validUntil is always 300s past the moment you ask. Run the curl to see the real artifact.
Response it will return (HTTP 402)PAYMENT-REQUIRED: eyJ4NDAyVmVyc2lvbiI6MiwiZXJyb3IiOiJQQVlNRU5ULVNJR05BVFVSRSBoZWFkZXIgaXMgcmVxdWlyZWQiLCJyZXNvdXJjZSI6eyJ1cmwiOiJodHRwczovL3Rlc3Q0MDIuY29tL2FwaS94NDAyP29mZmVyUmVjZWlwdD1qd3MiLCJkZXNjcmlwdGlvbiI6InRlc3Q0MDIgY2hhbGxlbmdlIiwibWltZVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sImFjY2VwdHMiOlt7InNjaGVtZSI6ImV4YWN0IiwibmV0d29yayI6ImVpcDE1NTo4NDUzMiIsImFtb3VudCI6IjEwMCIsImFzc2V0IjoiMHgwMzZDYkQ1Mzg0MmM1NDI2NjM0ZTc5Mjk1NDFlQzIzMThmM2RDRjdlIiwicGF5VG8iOiIweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MDIiLCJtYXhUaW1lb3V0U2Vjb25kcyI6MzAwLCJleHRyYSI6eyJuYW1lIjoiVVNEQyIsInZlcnNpb24iOiIyIiwiYXNzZXRUcmFuc2Zlck1ldGhvZCI6ImVpcDMwMDkifX1dLCJleHRlbnNpb25zIjp7Imh0dHBzOi8vdGVzdDQwMi5jb20vZXh0ZW5zaW9ucy9mYWNpbGl0YXRvciI6eyJpZCI6Ing0MDJvcmciLCJ1cmwiOiJodHRwczovL3g0MDIub3JnL2ZhY2lsaXRhdG9yIn0sIm9mZmVyLXJlY2VpcHQiOnsiaW5mbyI6eyJvZmZlcnMiOlt7ImZvcm1hdCI6Imp3cyIsImFjY2VwdEluZGV4IjowLCJzaWduYXR1cmUiOiI8c2lnbmVkIHBlciByZXF1ZXN0IC0tIHJ1biB0aGUgY3VybCB0byBzZWUgaXQ+In1dfSwic2NoZW1hIjp7IiRzY2hlbWEiOiJodHRwczovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC8yMDIwLTEyL3NjaGVtYSIsInR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7Im9mZmVycyI6eyJ0eXBlIjoiYXJyYXkiLCJpdGVtcyI6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJmb3JtYXQiOnsidHlwZSI6InN0cmluZyIsImNvbnN0IjoiandzIn0sImFjY2VwdEluZGV4Ijp7InR5cGUiOiJpbnRlZ2VyIn0sInNpZ25hdHVyZSI6eyJ0eXBlIjoic3RyaW5nIiwiZGVzY3JpcHRpb24iOiJKV1MgY29tcGFjdCBzZXJpYWxpemF0aW9uIGNvbnRhaW5pbmcgdGhlIG9mZmVyIHBheWxvYWQifX0sInJlcXVpcmVkIjpbImZvcm1hdCIsInNpZ25hdHVyZSJdfX19LCJyZXF1aXJlZCI6WyJvZmZlcnMiXX19fX0=
{
"x402Version": 2,
"error": "PAYMENT-SIGNATURE header is required",
"resource": {
"url": "https://test402.com/api/x402?offerReceipt=jws",
"description": "test402 challenge",
"mimeType": "application/json"
},
"accepts": [
{
"scheme": "exact",
"network": "eip155:84532",
"amount": "100",
"asset": "0x036CbD53842c5426634e7929541eC2318f3dCF7e",
"payTo": "0x0000000000000000000000000000000000000402",
"maxTimeoutSeconds": 300,
"extra": {
"name": "USDC",
"version": "2",
"assetTransferMethod": "eip3009"
}
}
],
"extensions": {
"https://test402.com/extensions/facilitator": {
"id": "x402org",
"url": "https://x402.org/facilitator"
},
"offer-receipt": {
"info": {
"offers": [
{
"format": "jws",
"acceptIndex": 0,
"signature": "<signed per request -- run the curl to see it>"
}
]
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"offers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"format": {
"type": "string",
"const": "jws"
},
"acceptIndex": {
"type": "integer"
},
"signature": {
"type": "string",
"description": "JWS compact serialization containing the offer payload"
}
},
"required": [
"format",
"signature"
]
}
}
},
"required": [
"offers"
]
}
}
},
"note": "test402 scenario. quirk=none"
}