# Sean-Claude Van Damme's General Store Current checkout networks: Base, Polygon, Arbitrum, World, Solana. > scvd.store is an evidence observatory for agentic commerce: independent verification of x402 endpoints, payments and receipts. Before an agent pays an x402 endpoint, we check that it can be paid. After it pays, we check the signed receipt. Over time we watch endpoints and publish a dated, signed corpus. Sellers use it to prove a door works; buyers use it before spending. Every artifact is signed, expires, and names what we did not see. Not escrow, not a rating, not a guarantee. Free instruments: a preflight check on any x402 door, a conformance desk for any issuer's signed offers and receipts — including our competitors' — a named defect vocabulary, and a Bitcoin-anchored corpus that appends weekly. Paid instruments: conformance audits, endpoint watches, settlement attestations, launch checks. Never a ranking, and never a verdict without its derivation and denominator beside it. Operated by Record Creative Co. LLC. > Everything this store signs verifies free, forever, at > `https://scvd.store/api/verify/{id}` — no account, no wallet, no rate limit, > verifiable offline without asking us. > Not an escrow, a guarantor, or a dispute court: those absorb the risk between payment and delivery and need a balance sheet. We observe that gap, sign what we saw, and publish it — including the gaps we count against ourselves. > It is also a general store for autonomous agents, kept by a named human, paid in USDC over x402 on a network offered in the current payment quote. The cheapest thing on the shelf is $0.001. Before you pay: preflight any x402 door, free at https://scvd.store/api/preflight/v1. After you pay: check any issuer's signed offer or receipt, free at https://scvd.store/conformance. Over time: read the dated, Bitcoin-anchored corpus, free at https://scvd.store/corpus. The conformance desk explains itself in plain language at https://scvd.store/conformance and now takes a pasted artifact in a form on that page — declared to browser agents with WebMCP's `toolname` attributes, and deliberately without `toolautosubmit`, so an agent may fill it and a human presses submit; the corpus, the weekly signed record of the x402 ecosystem, reads at https://scvd.store/corpus. That order is deliberate: the infrastructure is the product, and the store personality below — which is real, and stays — comes second. Last checked by hand: 2026-09-11. Served: 2026-09-12. Those are two different facts and we print both, because serving a page is not the same as having verified what is on it. https://scvd.store/llms-full.txt serves this SAME document, byte for byte — the llmstxt.org convention reserves that path for the complete prose, and ours has always been complete, so the alias exists to keep a crawler that asks for it blindly from getting a 404. It is not a fuller copy and this file will not pretend otherwise. https://scvd.store/agents.md is the same store in the agents.md convention. # The evidence: corpus, registry, passports The weekly signed record of the public x402 ecosystem, the state of the registry, the fresh set, per-host passports and profiles, and the trust surfaces that read from all of it. ## The corpus https://scvd.store/corpus.json: the public x402 ecosystem as this store's weekly round observed it, one signed snapshot per round — hash-chained, each digest submitted to OpenTimestamps for Bitcoin anchoring, verification steps published on the document itself. Dated observations of moments, never a score on anybody: a continuous record kept because it cannot be backfilled later, and checkable precisely so you do not have to take that sentence on faith. The readable landing — what the corpus is, what it has found so far, and how to verify it — is https://scvd.store/corpus. Every observed host has a page at `https://scvd.store/corpus/host/{host}` beside its JSON twin, titled with its tier and the fraction the tier came from; every signed week has one at `https://scvd.store/corpus/round/{week}`; every defect class has one at `https://scvd.store/defects/{id}`. All three are in the sitemap and derived from the same rows and vocabulary as the JSON. Beside the weekly record: ecosystem research reports, signed and free. The first, https://scvd.store/api/report/x402-ecosystem-2026-08 — the August 2026 field run — was WITHDRAWN on 2026-08-20, one day after publication, and the URL serves the withdrawal notice in front of the unedited original. Its largest failure class was attributed to sellers; its own committed ledger supports that for about 3% of it, while roughly 29% were endpoints correctly asking for inputs our instrument never sent. Do not quote its failure rates. The chain-side arithmetic stands and the raw evidence stays committed, so anyone can redo the classification. The store makes no claim about ecosystem payment-failure rates until a repaired instrument has walked again. The week, on one page a stranger can quote: https://scvd.store/corpus/brief is The Week's Doors — how many doors the feeds named, how many were knocked on, how many could be paid and how many could not, the defects by their registered names, and the gaps counted against us — read from the latest signed snapshot, with ?week= naming an earlier one. Counts with their denominators; never a ratio, never a rank, never a host named beside its verdict. The same week READ, rather than tabulated: https://scvd.store/ledger is The Week's Ledger, one page per signed week at `https://scvd.store/ledger/{week}` with JSON at `https://scvd.store/ledger/{week}.json`. One signed week of the observed x402 neighbourhood read as a research note: what we reached, what answered, what moved, which defects by name, and on the same page what this instrument could not see. Nothing here costs money: every figure is a count over a signed snapshot that is already free to fetch, and the paid instruments are priced on the shelf where they are sold rather than gated behind this reading. Everything on it was already published and already signed — the brief has served the counts, the changes feed the movement, /sources the feeds' own health, /corrections what we got wrong. What none of them did was say what the week amounted to, which left a reader holding five tabs open and doing the joining themselves. The ledger does the joining: what we reached, what answered, what moved, which defects by name, whether the directories were even talking to us, and — on the same page, never a click away — what this instrument could not see. Its findings are MACHINE-DERIVED and it says so on itself. Every sentence comes from a fixed rule over fields it names in `derived_from`, and no rule fires without its numbers: a page that fills a quiet week with prose is how a measurement project starts publishing vibes. It structures; it does not interpret. Nothing on it is stored, so it cannot drift from what was sealed, and a week the chain does not hold is a 404 naming the weeks it does. The chain also reads as time, derived at read from the same signed snapshots. https://scvd.store/corpus/trajectory.json serves one point per weekly snapshot — counts with their denominators, never a ratio, every point naming the digest it derives from. `https://scvd.store/corpus/diff.json?since={week}` answers "what changed since a week I already saw": doors appeared and disappeared, verdict transitions, and drift in a door's own declared terms (price bounds, rails, schemes) between two signed weeks — the cheapest honest agent loop is polling that diff. A week the chain does not hold gets a 404 naming the weeks it does. To subscribe (since 2026-09-04): https://scvd.store/corpus/latest.json is the latest signed snapshot at an address that never changes, with ETag and Last-Modified for a conditional GET, and `https://scvd.store/corpus/changes/{week}.json` is one week against the one before it — additions, removals, recoveries, regressions, changed payment routes and prices, changed defect state, and (since 2026-09-10) `changed_pay_to`: where a door asks to be paid moving between the two weeks, as salted digests, compared only where both weeks captured an address, with `pay_to_compared` as the denominator — as fields and as a plain changelog. Each host's history carries the same fact as a run: `pay_to.unchanged_since` is the earliest round of the unbroken run carrying the set last observed. A host the chain has never probed is queued by name when any free surface is asked about it, and the next weekly sweep reads its own /.well-known/x402 for a door; `https://scvd.store/corpus/asked.json` is that queue with where each host stands. Wallet facts, under the operator-linking ruling of 2026-08-27: the store provides the wallet fact and the receiver makes the call. https://scvd.store/corpus/wallet-facts.json counts, for the latest signed week, how many receiving addresses the probed doors advertised and how many receive at more than one door — counts with denominators, no addresses, no names, never an operator claim. Each door's own page carries its payment_address block: whether its advertised address also receives at other doors that week, without naming them. The caveat rides every such fact: custodial and platform wallets make unrelated doors share one address, so the inference is yours to make and yours to defend. And the subject gets a voice: https://scvd.store/api/standing-note is the self-serve lane for attaching your own dated statement to a door or wallet this store has observed. Prove control — an EIP-191 wallet signature over a statement-bound challenge, or serve the statement's sha256 at your /.well-known/scvd-note.txt — and your words ride beside the observation on every surface that shows it. Beside, never instead: no note alters an observation, and no observation silences a note. https://scvd.store/samples/once-over.json is a free, unsigned specimen of the $5 Once-Over: every field a buyer receives, run by the same battery, over a constructed door that passes the frozen v1 core and fails v2's atomic-amount check — one probe, two verdicts, disagreeing. It is NOT signed and does NOT verify; the paid artifact is and does, at `https://scvd.store/api/verify/{id}`. The subject is a .example host that can never resolve, so it is an observation about nobody. The room is at https://scvd.store/samples, and the free way to check your own door before buying anything is https://scvd.store/api/preflight/v1. ⚑ KEEPER'S PEN, RULE 7: the paragraph below is DRAFTED, not canon. The list decides whether a room is named here; the wording is yours. https://scvd.store/how-it-works.json is the mechanism in one document: the five steps by which a look at somebody else's door becomes evidence a stranger can check without trusting us — the knock, the reading, the signature, the hash chain, the Bitcoin anchor — and every step names the thing you can go and verify yourself. It also says, in the place a buyer actually meets it, what happens to money here: the store delivers first and settles after, so a delivery that fails takes nothing and there is no refund queue to join. Prices and cadence in it are read off the live shelf, never typed. It is free, needs no key, and the human page is at https://scvd.store/how-it-works. It exists because this store published WHAT it saw on a dozen surfaces and WHAT it sells on every item page, and had HOW IT WORKS in one piece nowhere. A person could assemble that from eight pages. An agent deciding whether to trust us or spend with us could not, because the assembling is the expensive part. https://scvd.store/doors.json is the LIST of every host the chain has ever carried — one entry each, alphabetical, with the most recent dated verdict, the week it was taken, how many rounds reached a real verdict, and the URL of that host's full history. Filter it with `?verdict=not_ready` (the four values are ready, not_ready, unreachable and not_probed; anything else is a 400 that names them). It is free, it needs no key, and it exists because until 2026-08-29 this store published hundreds of per-host histories and no way to find out which hosts it had — https://scvd.store/corpus.json indexes SNAPSHOTS, and the per-host read is a template you must already know a hostname to use. The human page is at https://scvd.store/doors. It is not a scoreboard and there is no ranking in it. The list is alphabetical and each row is one observation with its date. Ask about one host at `https://scvd.store/corpus/host/{host}.json.` It replays that host out of the signed chain, and every round we have NO verdict for carries a reason: no feed named it, a feed named it but we did not knock, the round hit its cap and it may have been in the tail, or the round recorded coverage trouble of its own. The gaps are the point — a timeline with the misses left out reads as continuous coverage. What that read will not give you is a ranking, or a figure without its working. The house sentence since 2026-09-02 is never a ranking, and never a verdict without its derivation and denominator beside it: a derived reading of those rows — a tier, a fraction — is published only with the rule it came from, the denominator, and the rows, so a reader who disagrees with the rule can apply their own to the same rows. The rule and the dated note are at https://scvd.store/criteria. The first such reading is the passport tier, and every host's sits at `https://scvd.store/corpus/tiers.json`: each host with its tier and the fraction it came from, alphabetical by host — ordered by tier would be a ranking. The per-host read above carries the same tier with its rows. ## Where our numbers come from https://scvd.store/sources, JSON at https://scvd.store/sources.json. Every ecosystem figure this store publishes rests on a handful of public directories, and this page names all of them beside the last time each one actually answered us, derived from the stored weekly rounds rather than maintained by hand. Nothing here costs money and nothing here is for sale: this is the store reporting on its own reach, and a measurement project that charged for its list of limitations would have the incentive pointing the wrong way. Every figure this store publishes about the x402 ecosystem rests on a handful of public directories. This is the list of them and, the column that matters, THE LAST TIME EACH ONE ACTUALLY ANSWERED US. Nothing on it is maintained by hand, and that is the whole point. Until 2026-09-04 the roster stated its own health in prose — a constant in a source file, last edited by a person, re-checked by nothing, which is a claim about the present tense with no mechanism to make it false. Liveness now comes out of the stored weekly rounds, which have always recorded what each source returned and have always distinguished "answered with nothing" from "could not be read". Nobody had ever asked that field a question across rounds. Five words carry it. `live`: answered on the most recent round. `partial`: answered, and the census would not count it — the listing is page-capped, and a partial enumeration cannot tell a delisting from a page we never reached; the round still walked every door it named, and only the denominator leaves it out. `stale`: has answered before, not this time, so its hosts are on the register by carry-forward rather than by observation. `unread`: we name the directory and have no reader for it, with the reason and the condition that would dissolve it. And `never_answered`, which is the one to stare at: we built a reader, the round calls it every week, and it has never once come back with anything — a feed that looks configured and silently records nothing. Publishing that is cheaper than discovering it. It rates nobody. A directory we cannot read may be perfectly healthy for everyone else; what the row describes is the reach of THIS instrument, counted against the instrument, the same discipline as `days_unchecked` on a watch and `not_probed` on a brief. The page also carries the ward's heartbeat, because the plainest question after "are your sources answering" is "is your machine even running". It is checked hourly rather than weekly — a watchdog on the same schedule as the thing it watches dies with it — and it asks whether a round WROTE something, not merely whether one finished. A run that completes having recorded nothing is indistinguishable, on every other surface here, from a quiet week. Weeks the chain holds no snapshot for at all are named there and on https://scvd.store/corpus.json under `continuity`, rather than left absent for a reader's own arithmetic to read as continuous coverage. ## The MCP ward https://scvd.store/mcp-ward, JSON at https://scvd.store/mcp-ward.json. A second ward on the same instrument design pointed at the MCP registry instead of at x402 doors: it counts registrations and records when a host stops being listed, and it shares no total with the x402 side. Nothing here costs money and no MCP verdict is for sale, because none exists: this ward enumerates and does not probe, so there is no reading to price. A second ward on the same instrument design, pointed at the official MCP registry instead of at x402 doors, and kept rigorously apart from the first. IT COUNTS AND IT DOES NOT KNOCK. Probing an MCP server means opening a session and speaking the initialize handshake — a different battery, a different consent posture, a different set of things that can go wrong. This store has a published preflight battery for x402 doors and nothing of the kind for MCP, and inventing a verdict here to match the other ward's shape would be the worst available kind of symmetry. What enumeration buys for free is the thing the population layer was built for: a host that was listed and is now listed nowhere is a delisting recorded having never spent a request on it. IT SHARES NO TOTAL WITH THE X402 SIDE, and neither page ever quotes the other's denominator. `population_known` is what `coverage_pct` divides by, and that percentage rides every corpus snapshot, every brief and every ledger sealed since July. Pouring twenty thousand MCP servers into it would not have widened our coverage; it would have retroactively changed what every published percentage was a percentage OF, with no correction possible, because the old rows keep their bytes while their meaning moves underneath them. Adding the two wards' totals gives a number that is about nothing. Rows and hosts are published as separate figures. A registration can be an npm or stdio server with no network address at all — a real row that contributes no host — and reporting only the host count would inflate the share of the registry that is remotely reachable. The registry's own status words are counted and not reinterpreted. The registry is far larger than one invocation can read, so a pass runs in hourly batches on a stored cursor and completes when the registry's own cursor runs out. Mortality is recorded ONLY on a completed pass: a partial read cannot tell a delisting from a page we never reached, and a truncated pass therefore records its hosts and refuses every disappearance, saying so on the artifact. A missed delisting is recoverable next pass; a fabricated one is a wrong claim about somebody's project inside a record we do not rewrite. ## The same evidence as an OKF bundle https://scvd.store/okf/index.md serves the evidence layer as an Open Knowledge Format v0.2 bundle (the Google Cloud spec, 2026-06): one markdown concept per file, YAML frontmatter for the structured fields, ordinary markdown links between them. If your toolchain already reads OKF bundles, this is the door to use — nothing here is unique to the format, it is the census and the criteria in a shape a knowledge catalog can ingest. Two things about the frontmatter are worth knowing before you trust it. Every concept carries `stale_after`, sixteen days past the observation, which is the passport's own aging rule and not a number invented for this surface — expire it yourself rather than asking us. And every concept's `verified` list names only the census instrument, never a `human:` actor, so an OKF consumer deriving trust tiers will correctly read these as machine-confirmed rather than human-reviewed. Nobody reviewed the weekly rounds by hand. Claiming the top tier for an unwatched machine walk would be the exact thing this store sells against. The bundle is generated from the signed round on every read, so it cannot go stale in the way a hand-maintained file does. Concepts in the bundle: - https://scvd.store/okf/index.md: every concept, listed. The bundle root. - https://scvd.store/okf/log.md: what changed, by date, newest first. - https://scvd.store/okf/store.md: what this shop is and when to reach for it. - https://scvd.store/okf/criteria.md: the battery every observation was made against. - https://scvd.store/okf/fresh-set.md: this week's conformant doors, as a concept. - `https://scvd.store/okf/host/{host}.md`: one door, dated. Exists only for hosts that answered conformantly in the latest round; anything else answers 404 with a pointer back to the index. ## The tab's pooled corpus, taking contributions The scvd-tab package (npm, MIT) keeps an agent's spending tab locally; its POOLED corpus is contribute-to-access. The intake is live: POST https://scvd.store/api/tab/delta takes an anonymized delta, and https://scvd.store/api/tab/pool publishes the sample sizes so far. Pooled READS are not built yet — contribution now is what earns them when the pool has enough to aggregate, and the pool endpoint says so honestly rather than pretending. ## State of the registry https://scvd.store/registry: the same weekly census as a public running tally — how many doors public x402 discovery lists, how many actually work, how many serve offers a third party can verify, and what the market charges. Aggregates only and no names, updated by the keeper's hand each week; JSON at the same URL. If you operate a listed endpoint, the free check for your own door is POST https://scvd.store/api/preflight. ## Inflows — what arrived at the addresses doors advertise https://scvd.store/inflows: the weekly census files the payment addresses public x402 doors advertise in their own 402s; this reads what actually ARRIVED at them on Base and Polygon over roughly a day. It is not sales and not revenue — a transfer into an advertised address can be treasury movement, a shared or facilitator wallet, or an operator funding itself, and no reading here can tell those apart. So every number carries the denominator it was computed over and the coverage the walk actually had, down to the narrowest figure chain data can produce: addresses only one door advertised, taking transfers inside the range that door itself quoted, from more than one distinct payer. That is a floor on plausible payments, never a count of sales. Counts only, no names, pressed by hand; JSON at the same URL. ## The fresh set — where to spend, dated https://scvd.store/fresh-set: the doors that answered a spec-conformant x402 challenge in the latest census, named, with the rails and cheapest USDC ask each door's own 402 offered, and every row linking its signed observation history in the corpus. Free, full set as JSON at the same URL. Routing data, not a ranking: a row is a dated fact that a door was answering correctly, never a score on its operator, and doors that failed appear only as counts. If you are an agent deciding where an x402 purchase is likely to work today, start here. ## The trust panel — every trust surface, one page https://scvd.store/trust: the signing key and its Bitcoin-anchored history, the assurance ladder (what a valid signature CLAIMS at each of five levels — novelty, observation, monitored, audited, witnessed), a gallery of real house-bought artifacts you can verify before ever paying us, and links to the corrections log, the chain-checked books, and the corpus. JSON at the same URL. If you are deciding whether to trust a signature from this store, start and end here; the honesty block (what we are NOT) leads the page. ## Endpoint passports — one signed object per host `https://scvd.store/passport/{host}`: the census's evidence about one ready-side host as a single signed, EXPIRING object — latest verdict, observation history with its gaps counted, a freshness state you can act on mechanically (fresh / aging / expired / broken / indeterminate — refuse expired passports), and the signed per-host history it derives from. Free. READ `payload.summary` FIRST: it is the whole pre-pay answer in one block, inside the signature — `decision` (READY / NOT_READY / EXPIRED / INDETERMINATE, a total function of `status`, so it can never disagree with the freshness rule), `observed_at`, `valid_until`, `evidence_age_days`, the door's declared networks and USDC range, `failed`, and `not_observed` — what the cited modules declined to check, stated beside the verdict rather than left silent. A refusal answers `decision: INDETERMINATE` too, so an agent reading one field never has to special-case the status code. Since 2026-09-02 every passport also carries a TIER — observed, established, standing, broken or indeterminate — derived at read from that host's signed rounds by the rule typed once at https://scvd.store/criteria, and printed on every rendering with the fraction it came from (`summary.tier_line`, e.g. "established — 4 of 4, W33–W36") and the rows behind it (`payload.tier.rows`). Never a ranking; a tier is a reading of a door's rounds, not a score on whoever runs it, and a paid refresh that finds the door broken moves the tier to broken the same hour. Landing and the store's own self-passport (labeled self-observed) at https://scvd.store/passport. Hosts whose latest observation failed get a refusal, not a row: names appear only on the ready side here. Every passport carries a free embeddable chip (`https://scvd.store/badges/passport/{host}.svg`) that DECAYS by the same freshness arithmetic — and the paid refresh (the passport_refresh item, $1) points the census's own probe at your door right now, folding the result in wherever it is newest. The check is bought; the verdict never is. Operators who want a STANDING address for their evidence can commission a hosted profile (`https://scvd.store/profiles/{host}`, the trust_profile item — 30 days a purchase, renewable): the passport, chip and history at one URL, derived live from the same corpus, honest in both directions. The index at https://scvd.store/profiles lists in-term ready-side hosts only. The passport's share card, drawn from the same dates — who looked, when, which host, when it goes stale, never a verdict word — is `https://scvd.store/passport/card/{host}.png`; it is the page's own social image, so a pasted passport link unfurls into the observation. ## The trust list A signed list of origins the keeper has personally dealt with, at https://scvd.store/trust-list.json. Version 2 carries 1 he has TRANSACTED with, 3 he has only USED, and 1 under a receipt TREATY — the strong claim, the weak one, and the mutual one kept apart, never blurred. It grows by hand and only after he has done the thing himself. Each entry records an observation about a past event, not a promise about anyone's future. A treaty entry points at the other operator's own published statement and never paraphrases it; the terms both sides commit to are stated once on the list. ## The rest of this store This file is one section of the store's guide. The complete prose, every section in one document, is at https://scvd.store/llms-full.txt. The index, with the list of every door, is at https://scvd.store/llms.txt. - https://scvd.store/developers/llms.txt — Building against this store - https://scvd.store/conformance/llms.txt — Conformance and what a signature is worth - https://scvd.store/menu/llms.txt — The shelf, the prices, and the money that flows back - https://scvd.store/trust/llms.txt — Accountability: corrections, keys, wind-down