The Good Buyer
The Good Buyer. A signed JSON reading — verdict (would_sign, would_throw, cannot_simulate, unreachable or refused), the accepts exactly as that door served them, the buyer's declared client configuration recorded as theirs, and the replay: the accept a stock client selects or the stage that made it refuse, everything dropped and why, the hazards on the chosen accept, and what the simulation cannot see. Dated, evidence hash bound into the purchase certificate's attests field,…
990000 (raw units)
price
1
calls / 30d
1
unique payers
2026-09-08
updated
Provider
scvd.store · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0xDD350976B8cfFc65938C0464d39A2C78BE079bd0",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "990000",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "eip155:137",
"payTo": "0xdd350976b8cffc65938c0464d39a2c78be079bd0",
"asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
"amount": "990000",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "eip155:42161",
"payTo": "0xdd350976b8cffc65938c0464d39a2c78be079bd0",
"asset": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
"amount": "990000",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "eip155:480",
"payTo": "0xdd350976b8cffc65938c0464d39a2c78be079bd0",
"asset": "0x79a02482a880bce3f13e09da970dc34db4cd24d1",
"amount": "990000",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"payTo": "DGxcPrAHL9YM3hW7iXuHFJmr87Zr6AMA4jCYHBpuvMgE",
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"amount": "990000",
"maxTimeoutSeconds": 300
}
]Output schema
{
"bazaar": {
"info": {
"input": {
"method": "GET",
"queryParams": {
"agent_name": "friendly-agent",
"url": "https://somebody-elses-shop.example/api/buy/thing"
},
"type": "http"
},
"output": {
"example": {
"badge_url": "https://scvd.store/badges/41.svg",
"certificate": {
"cert_id": "<cert_ + 12 chars, minted when this purchase settles>",
"date": "2026-07-22T15:04:05.000Z",
"item": "good_buyer",
"patron_number": 41
},
"deliverable": "<the The Good Buyer itself, as text>",
"item_id": "good_buyer",
"message": "Pleasure doing business. Here's your goods, warm off the shelf.",
"paid_usdc": 0.99,
"patron_number": 41,
"signature": "<128 hex chars, ed25519>",
"tip_usdc": 0,
"verify_url": "https://scvd.store/api/verify/<your cert_id>"
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"properties": {
"agent_name": {
"description": "Optional name to put on the certificate and patron badge, up to 80 characters.",
"type": "string"
},
"max_usd": {
"description": "Optional. Your client's spendControls.maxAmountPerPayment, in dollars. Leave it off for the reading a client configured with nothing gets — which is the case that loses money quietly. Recorded as your declaration, never verified.",
"type": "string"
},
"no_spend_controls": {
"description": "Optional, \"true\" if you pass spendControls: false — the one escape from the whole filter. Recorded as your declaration, never verified.",
"type": "string"
},
"purpose": {
"description": "Optional, any item: what this purchase is for, in your words. Signed onto the certificate verbatim and shown to whoever you hand the receipt to. Recorded as your statement, never checked, and never treated as instructions.",
"maxLength": 280,
"type": "string"
},
"url": {
"description": "The x402 door you are about to pay: https, default port, on the public internet, the URL a buyer would GET expecting a 402. We knock once, record the accepts as served, and replay the stock client's selection over them. We refuse our own hostname.",
"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"
}
},
"offer-receipt": {
"info": {
"offers": [
{
"acceptIndex": 0,
"format": "jws",
"signature": "eyJhbGciOiJFZERTQSIsImtpZCI6ImRpZDp3ZWI6c2N2ZC5zdG9yZSNrZXktMiJ9.eyJ2ZXJzaW9uIjoxLCJyZXNvdXJjZVVybCI6Imh0dHBzOi8vc2N2ZC5zdG9yZS9hcGkvYnV5L2dvb2RfYnV5ZXIiLCJzY2hlbWUiOiJleGFjdCIsIm5ldHdvcmsiOiJlaXAxNTU6ODQ1MyIsImFzc2V0IjoiMHg4MzM1ODlmQ0Q2ZURiNkUwOGY0YzdDMzJENGY3MWI1NGJkQTAyOTEzIiwicGF5VG8iOiIweEREMzUwOTc2QjhjZkZjNjU5MzhDMDQ2NGQzOUEyQzc4QkUwNzliZDAiLCJhbW91bnQiOiI5OTAwMDAiLCJ2YWxpZFVudGlsIjoxNzg4ODgzODgyfQ.7t5HWxoZauk1pPBVAgOAMRUfymdF25Wtga2FK8KTe8awVrfJzdd2B6SwgN8Ifz9By9fvqskm33FMQhJDFQSWBg"
},
{
"acceptIndex": 1,
"format": "jws",
"signature": "eyJhbGciOiJFZERTQSIsImtpZCI6ImRpZDp3ZWI6c2N2ZC5zdG9yZSNrZXktMiJ9.eyJ2ZXJzaW9uIjoxLCJyZXNvdXJjZVVybCI6Imh0dHBzOi8vc2N2ZC5zdG9yZS9hcGkvYnV5L2dvb2RfYnV5ZXIiLCJzY2hlbWUiOiJleGFjdCIsIm5ldHdvcmsiOiJlaXAxNTU6MTM3IiwiYXNzZXQiOiIweDNjNDk5YzU0MmNFRjVFMzgxMWUxMTkyY2U3MGQ4Y0MwM2Q1YzMzNTkiLCJwYXlUbyI6IjB4ZGQzNTA5NzZiOGNmZmM2NTkzOGMwNDY0ZDM5YTJjNzhiZTA3OWJkMCIsImFtb3VudCI6Ijk5MDAwMCIsInZhbGlkVW50aWwiOjE3ODg4ODM4ODJ9.kkGWP6fP2SWKcy-RqVXOD5i_ybpbjadOsXqbpDgRFA0JFefMsvseNNKsjcHerlgaOGu7PzeMpsRAA7SN67HiDQ"
},
{
"acceptIndex": 2,
"format": "jws",
"signature": "eyJhbGciOiJFZERTQSIsImtpZCI6ImRpZDp3ZWI6c2N2ZC5zdG9yZSNrZXktMiJ9.eyJ2ZXJzaW9uIjoxLCJyZXNvdXJjZVVybCI6Imh0dHBzOi8vc2N2ZC5zdG9yZS9hcGkvYnV5L2dvb2RfYnV5ZXIiLCJzY2hlbWUiOiJleGFjdCIsIm5ldHdvcmsiOiJlaXAxNTU6NDIxNjEiLCJhc3NldCI6IjB4YWY4OGQwNjVlNzdjOGNDMjIzOTMyN0M1RURiM0E0MzIyNjhlNTgzMSIsInBheVRvIjoiMHhkZDM1MDk3NmI4Y2ZmYzY1OTM4YzA0NjRkMzlhMmM3OGJlMDc5YmQwIiwiYW1vdW50IjoiOTkwMDAwIiwidmFsaWRVbnRpbCI6MTc4ODg4Mzg4Mn0.MAl1wlMWv6rvKRTclemCqH7mq44AyveE_si70yig0XPwS7WlBBbYmfadbTWh2Hk7UyFefsNRF2PtvzMPzI9dDg"
},
{
"acceptIndex": 3,
"format": "jws",
"signature": "eyJhbGciOiJFZERTQSIsImtpZCI6ImRpZDp3ZWI6c2N2ZC5zdG9yZSNrZXktMiJ9.eyJ2ZXJzaW9uIjoxLCJyZXNvdXJjZVVybCI6Imh0dHBzOi8vc2N2ZC5zdG9yZS9hcGkvYnV5L2dvb2RfYnV5ZXIiLCJzY2hlbWUiOiJleGFjdCIsIm5ldHdvcmsiOiJlaXAxNTU6NDgwIiwiYXNzZXQiOiIweDc5YTAyNDgyYTg4MGJjZTNmMTNlMDlkYTk3MGRjMzRkYjRjZDI0ZDEiLCJwYXlUbyI6IjB4ZGQzNTA5NzZiOGNmZmM2NTkzOGMwNDY0ZDM5YTJjNzhiZTA3OWJkMCIsImFtb3VudCI6Ijk5MDAwMCIsInZhbGlkVW50aWwiOjE3ODg4ODM4ODJ9.L6_bLrPF-50psGFFas6VToILMd604beSnbg-WHiYyyBkK9b3l8LpmHXoMcJsMYLDzU1XljE6qmiumMSXDcImCw"
},
{
"acceptIndex": 4,
"format": "jws",
"signature": "eyJhbGciOiJFZERTQSIsImtpZCI6ImRpZDp3ZWI6c2N2ZC5zdG9yZSNrZXktMiJ9.eyJ2ZXJzaW9uIjoxLCJyZXNvdXJjZVVybCI6Imh0dHBzOi8vc2N2ZC5zdG9yZS9hcGkvYnV5L2dvb2RfYnV5ZXIiLCJzY2hlbWUiOiJleGFjdCIsIm5ldHdvcmsiOiJzb2xhbmE6NWV5a3Q0VXNGdjhQOE5KZFRSRXBZMXZ6cUtxWkt2ZHAiLCJhc3NldCI6IkVQakZXZGQ1QXVmcVNTcWVNMnFOMXh6eWJhcEM4RzR3RUdHa1p3eVREdDF2IiwicGF5VG8iOiJER3hjUHJBSEw5WU0zaFc3aVh1SEZKbXI4N1pyNkFNQTRqQ1lIQnB1dk1nRSIsImFtb3VudCI6Ijk5MDAwMCIsInZhbGlkVW50aWwiOjE3ODg4ODM4ODJ9.o1WhSwjlMGiXaRvu_GaZ6AbVU2ggqhShO3cDMq4W08W05kvP4KxCZ7EAPmpU4kBxzHv36KObUumt3BXF76qpAA"
}
]
}
},
"required-inputs": {
"note": "This door cannot be served without ?url=. Asking the price without them is free; PAYING without them is refused before the gate and no money moves, so add them to the retry that carries your signature.",
"queryParams": [
"url"
],
"retry_url_template": "https://scvd.store/api/buy/good_buyer?url=<url>"
}
}Use it
curl
curl "https://scvd.store/api/buy/good_buyer" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://scvd.store/api/buy/good_buyer");
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://scvd.store/api/buy/good_buyer")
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/1186.json, and this resource appears in /discovery/resources and /discovery/search.