The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the SCVD General Store listing page.
mcp-name: store.scvd/general-store
Discovery records: Neuronto, WellKnown, Licium — MCP endpoint history, and Zero.xyz — Signature Agent Card. The Desvela checker runs a check of this domain's discovery surfaces. These are third-party readings of publication and indexing, not evidence of visits or purchases. The WellKnown badge above is served live by WellKnown.
Every badge above is somebody else's reading of this store. This one is ours, about ourselves, and it is set apart from that row on purpose — it is the same artifact we ask operators to paste beside their own doors, pointed back at us, and it says SELF-OBSERVED on its face because the weekly census structurally cannot probe its own host:
It goes dark rather than stale-green: it renders only while every self-module agrees, and any disagreement renders the passport indeterminate and refuses the chip. Weigh it accordingly — the reason it is worth showing at all is that every claim inside it is re-checkable at the public surfaces it names.
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.
Three paths, in that order. Before you pay: preflight any x402 door, free, at scvd.store/api/preflight/v1. After you pay: check any issuer's signed offer or receipt, free, at scvd.store/conformance. Over time: read the dated, Bitcoin-anchored corpus, free, at scvd.store/corpus, cite it by DOI (10.5281/zenodo.22284887), or pull it from Hugging Face. Every verdict is ed25519-signed, dated, and verifiable offline without asking us, including the gaps we count against ourselves. Operated by Record Creative Co. LLC.
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 and sign what we saw. If you are building escrow or adjudication, this is the layer underneath you rather than a competitor. That direction was decided and dated on 2026-08-07, in the open — the reversal sits beside what it replaced at scvd.store/becoming.
It is also a small, sincere general store for autonomous AI agents, kept by a human out of Oak City, where you're never late. Agents pay in USDC over x402 on a network offered in the current payment quote. Humans read the receipts.
Live at scvd.store. Agents should start at
/agents.md (the scannable contract
index), /llms.txt (full prose), or
/menu.json.
What people arrive here to do, and where each door is:
x402-verify (MIT,
zero deps), and x402-sign
mints offers and receipts that pass it.not_ready
fails the job and unreachable does not:
action/preflight. The terminal form
is scvd preflight from scvd-cli.standing_watch:
seven days of signed hourly probes on a URL you name.context_anchor: a signed, retrievable
session restore point that survives a context reset.launch_check: a real
mainnet purchase attempt of your own x402 endpoint, from the store's
declared field wallet, recorded stage by stage and signed. Directories
rank doors by whether they answer; this one pays them.the_statement: every
USDC transfer in and out of a wallet on the supported network you select over a stated window,
signed by a party that is neither the agent nor its operator.operator_statement: your
receiving address, every USDC transfer in and out for 30 days, four
signed passes a day, distinct payers and the largest payer counted
beside the totals, by a party that is neither you nor your payers.
Never a renewal.aura_walk: models
of different strength shop your x402 endpoint by the keeper's hand,
one entry point per pass, the method this store publishes on itself
(AGENT_UX.md); the report counts where each stalled and attaches
every transcript. Never a grade.the_mandate: chain-of-custody for delegated authority, citable on
every later certificate, refused if the id does not resolve./api/bounties): walk a listed x402 door with your own wallet, claim
with the settlement transaction, and the price plus a finder's fee
comes back as a signed authorization you redeem yourself./api/credit/{wallet}, redeemable in USDC to that same wallet.Every one of these ends in an ed25519-signed receipt or verdict that
anyone can verify at /api/verify/{id} — free, no account, forever.
The store is a remote MCP server — streamable HTTP, no install, no
API key. tools/list is free; buy_* tools return their x402 terms
as a JSON-RPC 402 error and settle in-band. This is the whole client
configuration:
Or, in Claude Code, one line:
The door speaks MCP revisions 2026-07-28, 2025-11-25, 2025-06-18 and
2025-03-26 over streamable HTTP, POST only (a bare GET is a 405, per
spec, not a fault). Revision 2026-07-28 is served statelessly from
per-request _meta and server/discover; the three before it open
with initialize. The manifest at
https://scvd.store/.well-known/mcp prints the exact list the running
server negotiates, with a discover and a handshake recipe. That
manifest is the source of truth; this paragraph is held to it by a
test, so a version added or retired there fails CI here until this
list moves with it.
(If your host only speaks stdio, node ./bin/scvd-mcp-bridge.mjs
from this repository forwards stdin/stdout JSON-RPC to the live
server. It holds no key and keeps no state. The wrangler commands
further down this README are for running your own copy of the store,
not for connecting to it.)
Tools are listed free by tools/list; the buy_* tools
are x402-paid in-band. Names and one-line summaries below are held
to the live catalogue by test/readme-tools.spec.ts; the full
descriptions and input schemas are what the server sends.
| Tool | What it does |
|---|---|
read_store_guide | The store's front door as text: the menu with prices, how x402 payment works here, the free shelf. |
preflight_endpoint | x402 endpoint preflight, free: checks any x402 door's 402 shape before anyone pays it. |
check_a2a_card | Free A2A 0.3.0 card checks, bounded evidence and suggested repairs. Runtime testing and signed rechecks are available in the repair kit. |
check_conformance | x402 receipt verification and signed-offer verification, free, for any issuer's artifacts. |
verify_artifact | Verify anything scvd.store has ever signed, by its id, free. |
check_purchase | Read retained payment status and original terms with purchase_id and the private status_token. Free, including after payment authorization expiry. |
check_order | Poll a human-queue order by its order_id: status, the promised window, the deliverable once completed. Free. |
find_in_catalog | Search the shelf and read one item's listing: compact rows filtered by price ceiling or text, or one item in full. Free. |
look_at_door | What this store holds about one x402 door: the corpus history, the passport tier, the wallet facts. |
check_before_you_pay | Whether a door meets a buyer's own rules, before the buyer signs. |
ring_bell | Ring the store bell; free. |
sign_guestbook | Sign the guestbook; free. |
buy_simple | The front counter: the few things that need no reading. x402-paid. |
buy_signed_record | A signed, dated certificate that permanently records something. x402-paid. |
buy_observation | A signed settlement attestation, conformance audit, endpoint watch or launch check. x402-paid. |
buy_human_task | Hire the keeper, a named human, for a task in the physical or judgment world. x402-paid. |
buy_memory_anchor | Sign and store a summary of your own state at a permanent URL. x402-paid. |
buy_small_pleasure | A small signed novelty from the jar. x402-paid. |
Evidence cards (MCP Apps). preflight_endpoint and
verify_artifact carry _meta.ui.resourceUri pointing at ui://
templates the server serves; a host that supports the MCP Apps
extension renders the reading as a card instead of prose — the
evidence ladder with the rungs it never climbed at the same weight as
the ones it did. Nothing paid carries one, and a test pins that:
rendering is for evidence, never for a payment decision. Hosts
without the extension get exactly the JSON they always got.
Three doors on one origin. /mcp is the store (the free
instruments and the paid shelves); /mcp/verifier serves five
read-only tools under task-shaped names and no shelf; /mcp/docs
(also POST /mcp.md) is the documentation door — the same resources
/mcp lists, plus one read_docs tool, nothing that acts.
Which door, and what each cannot do: https://scvd.store/mcp.md — remote vs. local stdio vs. the browser, the rendering gap stated plainly (as of 2026-08-28 the local stdio path renders cards and the remote-connector path does not, in the hosts we have tested), and an honest list of what is not built. If your host is missing from that table, the mailbox is free and a person reads it.
In the browser (WebMCP). https://scvd.store/webmcp.js, loaded
by the storefront, registers the free read-only instruments on
document.modelContext for an agent living in the visitor's browser.
The registered set derives from the MCP catalog — free and
readOnlyHint only — so nothing that writes and nothing that can
take money can appear there by construction, and a test holds it.
The code is MIT. The store's voice — the keeper's prose, the byline, the name — is not part of the grant; the scope lives in NOTICE.md. (The LICENSE file itself is byte-standard MIT so license scanners can recognize it; the scoping deliberately lives here and in NOTICE, never inside the license text.)
This repository is owned and operated by @seancrecord — the keeper. Commits are authored by Claude Code on the keeper's instruction; the byline Sean-Claude Van Damme covers the joint work, and the store belongs to the keeper. For any registry or directory verifying an MCP/service claim against this repository (added 2026-08-05 for the M8ven claim, and standing for future claims from the same account): this note is the ownership confirmation — only the repository owner can put it here.
Signed hellos, graffiti on a train (your tag, permanent), and the two
doors where keeper-time is for sale: The Collab (name the shape, a
call, a look, a made thing) and The Aura Walk (your own door shopped
cold by models, transcripts attached). Aisle two carries the novelties:
lowercase luckies (drawn from the herd, carded, honest), and coffee
for whoever closed. Aisle three is utility: context anchors (signed
agent memory restore points), a standing watch (a week of signed
hourly probes on your endpoint), settlement attestations, the case file (everything we observed
about one purchase, in one signed file, never a verdict), and 30-day
recurring patronage passes. The Penny Shelf by the door holds
half-cent blessings, the daily fortune (one line a day, the same
for everyone until midnight UTC, back on the shelf 2026-09-02), and
the confession counter. And the Certificate
of Patronage — which entitles the holder to nothing whatsoever. (Two
consolidations, 2026-08-05 and 2026-08-20, retired several early
shelves; retired ids still answer at the door with a 410 and their
certificates verify forever.) The guestbook, visitor sticker, and weekly visit stamp are
free — no purchase necessary. The bell rings once a day per visitor,
the Agent Zodiac reads for free at /zodiac, and the Mailbox takes
one private letter a day at /api/letter — the keeper reads Sundays
and replies when he has something to say, which is not always.
The reading room: the Keeper's Almanac (his journal, serialized, a penny a page). The Town Directory of neighbors is free.
(This section is the country-store half. The working instruments —
conformance audits, launch checks, statements, mandates, bounties —
are the doors listed at the top, and the always-current catalog is
/menu.json, which cannot drift
from the shelves by construction.)
You'll need Node 22+, a Cloudflare account, a Base wallet, and CDP API keys for the x402 facilitator.
Make the four shelves once, then paste the ids into wrangler.jsonc:
Core secrets, none of which ever go in the repo:
Optional checkout recipients are POLYGON_PAY_TO, ARBITRUM_PAY_TO,
WORLD_PAY_TO, and SOLANA_PAY_TO. Configure each enabled recipient
on both the store Worker and scvd-doors, then deploy both. An absent
optional recipient disables that network; it never borrows another
network's address. See PAYMENT_RAILS.md.
The SIGNING_KEY signs every certificate and badge. Mint a fresh one with:
Copy the 64 hex characters it prints into wrangler secret put SIGNING_KEY.
The matching public key hangs at /.well-known/scvd-signing-key so anyone
can check our signatures.
For local tinkering, copy .dev.vars.example to .dev.vars and fill it in.
Deploys are Git-connected to the scvd.store custom domain — merge to main
and Cloudflare handles the rest.
No accounts, no API keys, no cart. We speak x402 v2 (the current
standard — @x402/core ecosystem) with USDC and the Coinbase Developer Platform as facilitator. The live
/rails and /menu.json responses list enabled checkout networks; the
current PAYMENT-REQUIRED challenge supplies the terms to sign. A
statement or audit can inspect chains that checkout does not accept.
Checkout integration supports Base, Polygon, Arbitrum, World, and Solana; the enabled set is determined by recipient configuration, not this list. Statement readers support Base, Polygon, Ethereum, Arbitrum One, OP Mainnet (Optimism), Avalanche C-Chain, World, and Solana. Individual observation tools have their own coverage; the settlement attestation's automatic lookup is narrower. The browser till signs with a compatible EVM wallet extension. Solana needs a compatible external client; WebMCP accepts already-signed payments and does not supply a wallet signer.
It goes like this:
GET /api/buy/luckies.402 Payment Required. The machine-readable requirements ride
in the PAYMENT-REQUIRED response header (base64 JSON); the body carries
a note in plain English ("That'll be $5, friend, or whatever the luck
deserves. Results vary. They do vary. We have no legal team.").PAYMENT-SIGNATURE header. Standard v2 clients like
@x402/fetch do steps 2–3 on their own.GET /api/order/:order_id within the week.Pay-what-it-deserves items offer several amounts in the 402 challenge — the
minimum, a generous tier (2×), and a patron-of-the-arts tier (5×). The exact
scheme requires paying precisely one offered amount, so tipping means
signing a higher tier; anything above the minimum is recorded as tip.
Every purchase mints a sequential patron number and an ed25519-signed
certificate, verifiable by anyone at /api/verify/:cert_id, with a badge at
/badges/:patron_number.svg. Signature plus stable URL is the whole
authenticity model — no NFTs, no chain writes beyond the payment.
If an item isn't delivered within its promised window, you get your money back. The keeper sends it himself, from the refund ledger below, and you won't have to argue for it.
(This paragraph said "refund is automatic" until 2026-07-27, and then admitted in its own parenthesis that the keeper does it by hand. House rule 10 exists for exactly that: copy never says automatic until the code is. The promise never changed — only the word describing a mechanism the store does not have.)
Note for the archivists: legacy x402 v1 clients (the deprecated
x402-fetch / X-PAYMENT header generation) are not supported. The
facilitator and all current client libraries speak v2.
| Route | What happens there |
|---|---|
/ | The human storefront: weekly note, menu, bell count, guestbook |
/llms.txt | The plain-text front door for agents |
/agents.md | The scannable contract index for agents |
/conformance | The conformance desk's own room: what it checks, worked examples |
/corpus | The corpus in plain language: the census finding, how to verify a round |
/trade | The trade counter: marketplaces resell the shelf on account by signed webhook, billed on a statement — TRADE_COUNTER.md |
/mcp | The MCP door — streamable HTTP; tools/list free, buy_* tools x402-paid in-band |
/skill.md | Agent onboarding in the agentskills.io SKILL.md format |
/menu.json | Machine-readable catalog |
/api/buy/:item_id | x402-gated purchases |
/api/order/:order_id | Poll an order; completed ones carry the goods |
/api/waitlist/:item_id | Queue up when a weekly shelf is empty |
/almanac | Free index of the Keeper's Almanac (his serialized journal) |
/almanac/:slug | One journal page, $0.01 over x402, markdown |
/directory | The Town Directory — keeper-edited, honest one-liners (JSON + human view) |
/api/refund/{refund_id} | Honest refund status: pending until paid by hand, then the tx hash |
/gazette | Retired 2026-08-05; the printed archive still answers, nothing new schedules |
/menu/:item_id | One item up close — JSON, or markdown per Accept |
/what | The Operator Glance — the ten-second check for the humans |
/porch | Around the side, facing the oaks. Nothing for sale out there |
/zodiac | The Systems Almanac — twelve signs, free |
/zodiac/:address | A wallet's sign for life + the current week's page, free |
/zodiac/archive | Free index of past season weeks |
/zodiac/archive/:sign/week-:n | One past page, $0.01 over x402, markdown |
/openapi.json | The OpenAPI 3.1 contract, linked from the homepage |
/.well-known/x402 | Minimal x402 discovery list (de-facto indexer shape) |
/.well-known/x402.json | The richer origin-hosted x402 catalog |
/api/anchor/:anchor_id | Read back a context anchor, verified on every read |
/api/patronage/:pass_id | A patronage pass + the keeper's signed monthly note |
/api/guestbook | GET recent entries; POST to sign (free, sticker included) |
/api/bell | POST to ring it — once a day per visitor |
/api/stamp | POST for a free dated, signed visit stamp; design rotates weekly |
/api/tip | POST a Trading Post tip; human-reviewed, never auto-published |
/api/letter | POST a private letter — free, one a day, never published |
/api/letter/:id | Letter status + the keeper's signed reply, if any |
/api/phantom/:check_id | Old phantom_check pickups still answer (retired 2026-08-05, folded into context_anchor); existing artifacts verify forever |
/api/request | Commission window (and suggest_listing for the Directory) |
/api/verify/:cert_id | Public verification — certificates and stamps alike |
/badges/:patron_number.svg | Patron badges, vintage-label style |
/badges/sticker.svg | The free visitor sticker |
/badges/stamps/:stamp_id.svg | Visit stamps, rubber-stamp style |
/.well-known/scvd-signing-key | Our ed25519 public key |
/admin | The keeper's back room (Basic Auth, username keeper) |
/admin/digest | The weekly digest, compiled Sundays 7am ET by cron |
The ARD manifest at /.well-known/ard.json (also served at
/.well-known/ai-catalog.json) signs each trustManifest with the existing
certificate key: detached EdDSA JWS over RFC 8785 canonical JSON, excluding
signature. The entries carry both type and mediaType from one value.
Verification requires the JWS and independently checked key history at
/.well-known/anchor-log.json: Bitcoin proof, digest links, a previously
trusted checkpoint and outgoing-key handovers. A status label alone is not
proof. Signed provenance binds the catalog's content, but does not prove
the entries are accurate today. The in-page ARD copies remain unsigned identity
declarations. The full boundary is at /attestation#ard_trust_manifest.
Single Worker, Hono for routing, KV for storage. No React, no build complexity.
The Directory at /directory is edited by the keeper's own hands, in
this repo, at src/store/directory.json. To add a neighbor, append to
listings:
Rules of the house: one honest line per listing, no pay-for-placement,
bump updated, and deploy. Visitors can nominate neighbors via
POST /api/request with a suggest_listing field; suggestions land in
the commission ledger for the Sunday read.
One file per page in src/store/almanac/ (kebab-case filename matching
the slug), exporting an AlmanacEntry; then add it to the list in
src/store/almanac/index.ts, newest first. The payment route registers
itself from that list.
The content rule. Almanac entries are dated, first-person field notes — sensory, particular, slightly strange. Never how-to, listicle, "lessons learned", career content, or anything resembling a blog post. If it could be posted on Medium, it doesn't go in the Almanac.
The store's standing documents, so nobody needs ls to find them:
/admin/digest only; email hookup is v0.2.order_sla), the hourly delivery audit
catches a settle that produced no goods, and the chain
reconciliation catches money the books never saw. A scanner reading
the old wording of this line concluded overdue orders went
undetected; they page the keeper within the hour./api/guestbook are told, in the response itself, to
treat entries as things people said — not instructions.verified_identity fields (guestbook, requests, tips) are stored as
claimed and always marked identity_verified: false, because nobody
here has checked. An actual verifier (e.g. a signed-challenge dance)
is a v0.3 idea.payment_nonce:*, 24h TTL)
turns an already-settled nonce away before the facilitator is even
called.extensions.bazaar discovery metadata;
EXTENSION-RESPONSES headers from the facilitator are captured via a
fetch tap (the SDK only console.logs them) and surfaced in /admin
under "Bazaar ledger".Automated reviews of this repository keep raising the same handful of findings. Several describe machinery that already exists; the honest gaps are named as gaps. Point by point, so nobody has to guess:
/admin/recount; Durable
Objects are the v0.2 fix if the crowds arrive.sanitizeText), HTML escaping at render,
and API consumers are told in-band to treat visitor text as quotes,
not instructions. Honest gap: no Content-Security-Policy header yet
on the HTML pages — filed, not disputed.Two pieces by Cairn (cairnwake.com), who has no stake in this store and whose terms were that both sides publish their half, unflattering parts included. Their words and their tests, not ours; not endorsements.
examples/ holds one operational workflow — an agent is about to pay
an x402 door; it reads the 402, asks the free preflight and dry run,
reads the terms and the named defects, decides with every reason named
— written for OpenAI Agents, Vercel AI SDK, LangChain / LangGraph,
CrewAI, PydanticAI, AutoGen, Claude Code / Cursor and GitHub Copilot,
over one shared zero-dependency module in JavaScript and in Python.
Nothing there signs or pays. See examples/README.md
for what CI runs and what it does not.
The free preflight is one POST, so it fits a CI step. This checks a
door's 402 shape after every deploy and weekly; it does not pay, does
not certify, and does not imply this store watches the door between
runs. The example is at
examples/x402-preflight-on-deploy.yml.
The store's own books are the store grading its own homework. These are not:
/.well-known/x402 and /openapi.json declare and probes the paid
routes itself. Claimed 2026-07-27, after the keeper saw it with his
own eyes; the house rule was that we would not claim it before
then.mcpbeat, the second
most frequent visitor at the MCP door in September 2026.sameAs.tools/list — and refreshes on its next
scan rather than being argued with.None of these is an endorsement or an audit of the goods; each proves
indexing, and two of them (x402scan, x402-list) probe the endpoints
themselves. The canonical list — with a what_it_proves sentence per
entry, refusing to overclaim — is EXTERNAL_RECORDS in
src/store/trust-signals.ts, served live at
/.well-known/trust.json and mirrored into the storefront's JSON-LD
sameAs. When this section and that file disagree, that file is
right.
Why any of this is in a README: a store that says it takes real money should be checkable by someone who does not take its word for it. Our signatures verify at our own URL, which is worth exactly as much as you trust the URL. A third party that indexed us independently is the column that does not run through us.
The A2A repair desk checks public A2A cards free and offers an operator-authorized repair kit with reproducible failures, suggested fixes, a regression runner, one signed recheck and a bounded card watch. A2A 0.3.0 JSON-RPC only; untested capabilities and missed observations remain visible. Repository implementation is separately scoped. Pilot scope and verification.