← Protocol index
Resource / 502
healthyQuartermaster x402 Inspector.
Inspect and lint any x402 paid endpoint: decodes the 402 payment challenge, names the network and asset, and flags misconfigurations including missing Bazaar discovery metadata.
Payment requirements / accepts[]
2 options
| State | Network | Scheme | Atomic amount | Asset | payTo / untrusted |
|---|---|---|---|---|---|
| active | eip155:8453 | exact | 2000 | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 | 0x5253666c40432f009ebd99908b9cd2a7fd1019cb |
| active | solana:5eykt4usfv8p8njdtrepy1vzqkqzkvdp | exact | 2000 | EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v | FgcKNzsBXSEHGNZNWetPsjXiBZk1WFoU6sF2zVsnzXfa |
All advertised payment options are stored. Base (`eip155:8453`) is the operational network for ranking and canaries; non-Base options remain visible for transparency.
Probe evidence
1 recent
healthy 2026-08-13 01:15:01 UTC GET · HTTP 402 · 9ms · accepts 2 · base 1 ok
Accepts snapshot
[
{
"amount": "2000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"assetTransferMethod": null,
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 300,
"network": "eip155:8453",
"payTo": "0x5253666c40432f009ebd99908b9cd2a7fd1019cb",
"paymentFlow": null,
"raw": {
"amount": "2000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 300,
"max_timeout_seconds": 300,
"network": "eip155:8453",
"payTo": "0x5253666c40432f009ebd99908b9cd2a7fd1019cb",
"pay_to": "0x5253666c40432f009ebd99908b9cd2a7fd1019cb",
"scheme": "exact"
},
"scheme": "exact"
},
{
"amount": "2000",
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"assetTransferMethod": null,
"extra": {
"feePayer": "D6ZhtNQ5nT9ZnTHUbqXZsTx5MH2rPFiBBggX4hY1WePM"
},
"maxTimeoutSeconds": 300,
"network": "solana:5eykt4usfv8p8njdtrepy1vzqkqzkvdp",
"payTo": "FgcKNzsBXSEHGNZNWetPsjXiBZk1WFoU6sF2zVsnzXfa",
"paymentFlow": null,
"raw": {
"amount": "2000",
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "D6ZhtNQ5nT9ZnTHUbqXZsTx5MH2rPFiBBggX4hY1WePM"
},
"maxTimeoutSeconds": 300,
"max_timeout_seconds": 300,
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"payTo": "FgcKNzsBXSEHGNZNWetPsjXiBZk1WFoU6sF2zVsnzXfa",
"pay_to": "FgcKNzsBXSEHGNZNWetPsjXiBZk1WFoU6sF2zVsnzXfa",
"scheme": "exact"
},
"scheme": "exact"
}
]
PaymentRequired raw
{
"accepts": [
{
"amount": "2000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 300,
"network": "eip155:8453",
"payTo": "0x5253666c40432f009ebd99908b9cd2a7fd1019cb",
"scheme": "exact"
},
{
"amount": "2000",
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "D6ZhtNQ5nT9ZnTHUbqXZsTx5MH2rPFiBBggX4hY1WePM"
},
"maxTimeoutSeconds": 300,
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"payTo": "FgcKNzsBXSEHGNZNWetPsjXiBZk1WFoU6sF2zVsnzXfa",
"scheme": "exact"
}
],
"error": "Payment required",
"extensions": {
"bazaar": {
"info": {
"input": {
"method": "GET",
"queryParams": {
"url": "https://api.example.com/paid-endpoint"
},
"type": "http"
},
"output": {
"example": {
"accepts": [
{
"asset_name": "USDC (Base mainnet)",
"network": "eip155:8453",
"network_name": "Base mainnet",
"pay_to": "0x...",
"scheme": "exact"
}
],
"findings": [
"No `bazaar` discovery extension declared - settlements will NOT list this endpoint in the Coinbase Bazaar catalog."
],
"has_bazaar_discovery_metadata": false,
"http_status": 402,
"is_x402": true,
"url": "https://api.example.com/paid-endpoint",
"x402_version": 2
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"properties": {
"url": {
"description": "Any x402 paid endpoint to inspect and lint",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
},
"resource": {
"description": "Inspect and lint any x402 paid endpoint: decodes the 402 payment challenge, names the network and asset, and flags misconfigurations including missing Bazaar discovery metadata.",
"mimeType": "application/json",
"serviceName": "Quartermaster x402 Inspector",
"tags": [
"x402",
"402",
"payments",
"debugging",
"developer-tools",
"bazaar",
"discovery",
"lint"
],
"url": "https://quartermaster.surewhynot.app/v1/x402/inspect"
},
"x402Version": 2
}
Response headers
{
"access-control-allow-origin": "*",
"access-control-expose-headers": "PAYMENT-REQUIRED,PAYMENT-RESPONSE,X-PAYMENT-RESPONSE,X-Payment-Notice,Retry-After",
"alt-svc": "h3=\":443\"; ma=86400",
"cache-control": "no-store",
"cf-ray": "a2a3ddc4db2bc9a5-IAD",
"connection": "keep-alive",
"content-length": "2",
"content-type": "application/json",
"date": "Thu, 13 Aug 2026 01:15:01 GMT",
"nel": "{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}",
"payment-required": "eyJ4NDAyVmVyc2lvbiI6MiwiZXJyb3IiOiJQYXltZW50IHJlcXVpcmVkIiwicmVzb3VyY2UiOnsidXJsIjoiaHR0cHM6Ly9xdWFydGVybWFzdGVyLnN1cmV3aHlub3QuYXBwL3YxL3g0MDIvaW5zcGVjdCIsImRlc2NyaXB0aW9uIjoiSW5zcGVjdCBhbmQgbGludCBhbnkgeDQwMiBwYWlkIGVuZHBvaW50OiBkZWNvZGVzIHRoZSA0MDIgcGF5bWVudCBjaGFsbGVuZ2UsIG5hbWVzIHRoZSBuZXR3b3JrIGFuZCBhc3NldCwgYW5kIGZsYWdzIG1pc2NvbmZpZ3VyYXRpb25zIGluY2x1ZGluZyBtaXNzaW5nIEJhemFhciBkaXNjb3ZlcnkgbWV0YWRhdGEuIiwibWltZVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIiwic2VydmljZU5hbWUiOiJRdWFydGVybWFzdGVyIHg0MDIgSW5zcGVjdG9yIiwidGFncyI6WyJ4NDAyIiwiNDAyIiwicGF5bWVudHMiLCJkZWJ1Z2dpbmciLCJkZXZlbG9wZXItdG9vbHMiLCJiYXphYXIiLCJkaXNjb3ZlcnkiLCJsaW50Il19LCJhY2NlcHRzIjpbeyJzY2hlbWUiOiJleGFjdCIsIm5ldHdvcmsiOiJlaXAxNTU6ODQ1MyIsImFtb3VudCI6IjIwMDAiLCJhc3NldCI6IjB4ODMzNTg5ZkNENmVEYjZFMDhmNGM3QzMyRDRmNzFiNTRiZEEwMjkxMyIsInBheVRvIjoiMHg1MjUzNjY2YzQwNDMyZjAwOWViZDk5OTA4YjljZDJhN2ZkMTAxOWNiIiwibWF4VGltZW91dFNlY29uZHMiOjMwMCwiZXh0cmEiOnsibmFtZSI6IlVTRCBDb2luIiwidmVyc2lvbiI6IjIifX0seyJzY2hlbWUiOiJleGFjdCIsIm5ldHdvcmsiOiJzb2xhbmE6NWV5a3Q0VXNGdjhQOE5KZFRSRXBZMXZ6cUtxWkt2ZHAiLCJhbW91bnQiOiIyMDAwIiwiYXNzZXQiOiJFUGpGV2RkNUF1ZnFTU3FlTTJxTjF4enliYXBDOEc0d0VHR2tad3lURHQxdiIsInBheVRvIjoiRmdjS056c0JYU0VIR05aTldldFBzalhpQlprMVdGb1U2c0YyelZzbnpYZmEiLCJtYXhUaW1lb3V0U2Vjb25kcyI6MzAwLCJleHRyYSI6eyJmZWVQYXllciI6IkQ2Wmh0TlE1blQ5Wm5USFVicVhac1R4NU1IMnJQRmlCQmdnWDRoWTFXZVBNIn19XSwiZXh0ZW5zaW9ucyI6eyJiYXphYXIiOnsiaW5mbyI6eyJpbnB1dCI6eyJ0eXBlIjoiaHR0cCIsInF1ZXJ5UGFyYW1zIjp7InVybCI6Imh0dHBzOi8vYXBpLmV4YW1wbGUuY29tL3BhaWQtZW5kcG9pbnQifSwibWV0aG9kIjoiR0VUIn0sIm91dHB1dCI6eyJ0eXBlIjoianNvbiIsImV4YW1wbGUiOnsidXJsIjoiaHR0cHM6Ly9hcGkuZXhhbXBsZS5jb20vcGFpZC1lbmRwb2ludCIsImh0dHBfc3RhdHVzIjo0MDIsImlzX3g0MDIiOnRydWUsIng0MDJfdmVyc2lvbiI6MiwiYWNjZXB0cyI6W3sic2NoZW1lIjoiZXhhY3QiLCJuZXR3b3JrIjoiZWlwMTU1Ojg0NTMiLCJuZXR3b3JrX25hbWUiOiJCYXNlIG1haW5uZXQiLCJhc3NldF9uYW1lIjoiVVNEQyAoQmFzZSBtYWlubmV0KSIsInBheV90byI6IjB4Li4uIn1dLCJoYXNfYmF6YWFyX2Rpc2NvdmVyeV9tZXRhZGF0YSI6ZmFsc2UsImZpbmRpbmdzIjpbIk5vIGBiYXphYXJgIGRpc2NvdmVyeSBleHRlbnNpb24gZGVjbGFyZWQgLSBzZXR0bGVtZW50cyB3aWxsIE5PVCBsaXN0IHRoaXMgZW5kcG9pbnQgaW4gdGhlIENvaW5iYXNlIEJhemFhciBjYXRhbG9nLiJdfX19LCJzY2hlbWEiOnsiJHNjaGVtYSI6Imh0dHBzOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LzIwMjAtMTIvc2NoZW1hIiwidHlwZSI6Im9iamVjdCIsInByb3BlcnRpZXMiOnsiaW5wdXQiOnsidHlwZSI6Im9iamVjdCIsInByb3BlcnRpZXMiOnsidHlwZSI6eyJ0eXBlIjoic3RyaW5nIiwiY29uc3QiOiJodHRwIn0sIm1ldGhvZCI6eyJ0eXBlIjoic3RyaW5nIiwiZW51bSI6WyJHRVQiXX0sInF1ZXJ5UGFyYW1zIjp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7InVybCI6eyJ0eXBlIjoic3RyaW5nIiwiZm9ybWF0IjoidXJpIiwiZGVzY3JpcHRpb24iOiJBbnkgeDQwMiBwYWlkIGVuZHBvaW50IHRvIGluc3BlY3QgYW5kIGxpbnQifX0sInJlcXVpcmVkIjpbInVybCJdfX0sInJlcXVpcmVkIjpbInR5cGUiLCJtZXRob2QiXSwiYWRkaXRpb25hbFByb3BlcnRpZXMiOmZhbHNlfSwib3V0cHV0Ijp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7InR5cGUiOnsidHlwZSI6InN0cmluZyJ9LCJleGFtcGxlIjp7InR5cGUiOiJvYmplY3QifX0sInJlcXVpcmVkIjpbInR5cGUiXX19LCJyZXF1aXJlZCI6WyJpbnB1dCJdfX19fQ==",
"permissions-policy": "camera=(), microphone=(), geolocation=()",
"referrer-policy": "strict-origin-when-cross-origin",
"report-to": "{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=o0omdERDfC1blACSet9WTzWMQuUbua2YCUlWZZILhqu4snDhfWRwlq1Qky1gNE2WWC9Jiqr5W6Yy9hgUp9lip%2FpOwYL6mTJN7mkabkd6ghr3SlbcpCb8V3JaDdvV6atMdkNcoIdxRmNLsx8kgjDt\"}]}",
"server": "cloudflare",
"speculation-rules": "\"/cdn-cgi/speculation\"",
"strict-transport-security": "max-age=31536000; includeSubDomains",
"x-content-type-options": "nosniff"
}
Response body
{}
Request headers
{
"accept": "*/*",
"user-agent": "Fetch402Bot/0.1 (+https://fetch402.com/crawler; contact: crawler@fetch402.com)"
}
Machine contract
Schemas.
InputJSON
{}
OutputJSON
{}