Verify an x402 seller before paying it: does it exist and respond with a well-formed 402 c
Verify an x402 seller before paying it: does it exist and respond with a well-formed 402 challenge, is its own declared input/output schema internally consistent, and is its payout address sanctioned? Checked live against the seller itself plus Chainalysis's sanctions oracle and Blockscout (Base payTo addresses only). Confirms the checkable things about a seller check out -- not a guarantee of trustworthiness, which no free source can promise.
5000 (raw units)
price
2
calls / 30d
1
unique payers
2026-09-04
updated
Provider
goodsong.dev · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0xf3b36a95913eb2676fcdedb2ba6b0c96ade58de1",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "5000",
"maxTimeoutSeconds": 300
}
]Output schema
{
"bazaar": {
"info": {
"input": {
"body": {
"method": "POST",
"resource_url": "https://api.example.com/paid-endpoint"
},
"bodyType": "json",
"method": "POST",
"type": "http"
},
"output": {
"example": {
"canonical": {
"cairn_conformance": {
"date": "2026-09-02",
"report_url": "https://cairnwake.com/r/df2f7a42.html",
"score": {
"inconclusive": 0,
"observations": 2,
"passed": 16,
"total": 16
},
"verdict": "PASS"
},
"description": "An example x402 service.",
"network": "eip155:8453",
"payto": "0x0000000000000000000000000000000000dEaD",
"resource_url": "https://api.example.com/paid-endpoint",
"service_name": "example-service",
"tags": [
"example"
],
"wallet_age_days": 412.3,
"wallet_tx_count": 87
},
"checks": {
"declaration_consistent": true,
"exists": true,
"payto_sanctioned": false
},
"cost": {
"amount": "0.005",
"currency": "USDC"
},
"evidence": [
{
"retrieved_at": "2026-08-30T12:00:00Z",
"source": "direct_fetch",
"url": "https://api.example.com/paid-endpoint"
},
{
"retrieved_at": "2026-08-30T12:00:00Z",
"source": "chainalysis",
"url": "https://mainnet.base.org"
},
{
"retrieved_at": "2026-08-30T12:00:00Z",
"source": "blockscout",
"url": "https://api.blockscout.com/v2/api"
},
{
"retrieved_at": "2026-08-30T12:00:00Z",
"source": "cairn",
"url": "https://cairnwake.com/r/df2f7a42.html"
}
],
"latency_ms": 640,
"verdict": "confirmed"
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"description": "Provide the exact x402 resource URL; method defaults to POST.",
"properties": {
"method": {
"description": "HTTP method that triggers the seller's 402 challenge.",
"enum": [
"GET",
"POST"
],
"type": "string"
},
"resource_url": {
"description": "The x402 resource URL to verify.",
"type": "string"
}
},
"required": [
"resource_url"
]
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST",
"PUT",
"PATCH"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"canonical": {
"type": [
"object",
"null"
]
},
"checks": {
"type": "object"
},
"cost": {
"type": "object"
},
"evidence": {
"type": "array"
},
"latency_ms": {
"type": "integer"
},
"verdict": {
"enum": [
"confirmed",
"contradicted",
"unknown"
],
"type": "string"
}
},
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
}Use it
curl
curl "https://goodsong.dev/verify/seller" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://goodsong.dev/verify/seller");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://goodsong.dev/verify/seller")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/7664.json, and this resource appears in /discovery/resources and /discovery/search.