Desk model · 14 Oct 2026 · not a model log

10 · Books

Send the machines to the store. Do not let them buy the book.

Crawlers and paying agents will come to /books if the first thing they read is a catalog they can filter, with one canonical URL. They will not come because a Google Play button says Get. And they must not be told the PDF is an x402 SKU.

94
GGKEY records in the 2026-10-09 catalog. All marked live and for sale in that export.
15
Titles whose name matches agent, MCP, x402, or payment. Lead with these.
2
Store URLs in the sitemap. llms.txt names /books. The sitemap ranks the other one higher.
$5
Verified Play earnings on file, one unit, through 2026-10-01. Arrival is not a sales claim.

Crawlers

  1. One URL. llms.txt says the publisher catalog is /books. sitemap.xml also lists /google-books-store at priority 0.9, above /books at 0.85. 301 the second onto the first. A crawler that stores both will cite neither.
  2. Move the sentence up. The books block in llms.txt is real, and it sits after the tool contracts. Agents that truncate the file never see it. Repeat the short block below in the first forty lines. Leave the long warning where it is.
  3. Point the HTML at the JSON. /books does not link the machine catalog, and it has no offer schema. The first screen should link https://scriptmasterlabs.com/.well-known/google-play-books-catalog.json and say checkout is Google Play. Put the agent titles first. The other seventy-nine stay on the page. Do not mint ninety-four doorway URLs.

Paying agents

  1. Give them a tool, not a paywall. The catalog is already public. A SqueezeOS tool that filters it is why a paying agent opens /books. Charging USDC to read a public JSON is a second checkout for a file you already give away.
  2. The tool refuses the sale. Return the Play URL and the export price labeled as Google’s list price. Do not return the PDF. Do not accept PAYMENT-SIGNATURE for a title. The 0.001 USDC markdown read is a different product.
  3. One line after a paid read. When the accepted delivery matches a title — a web read, an MCP payment, a 402 explanation — the result may name that book and the Play URL. That is a handoff. It is not a bundle, and it is not proof anyone bought.

What the agent should read first

GOOGLE PLAY BOOKS — HUMAN CHECKOUT, NOT X402
Publisher catalog (canonical): https://scriptmasterlabs.com/books
Machine catalog, 94 GGKEY records, export 2026-10-09: https://scriptmasterlabs.com/.well-known/google-play-books-catalog.json
Checkout is Google Play. A list price is not a 402 challenge and not a sale.
This server does not return the book file and will not take USDC for it.
Agents: filter the JSON by the job. Hand the human the Play URL.

The tool that makes a paying agent visit

list_playbooks
Read-only filter over the public Google Play catalog at https://scriptmasterlabs.com/.well-known/google-play-books-catalog.json.
Input: { job: string }. Output: title, GGKEY, google_play_url, google_play_list_price_usd.
The price is Google's list price from the 2026-10-09 export, not a quote you can pay here.
Does not sell the book, does not return the PDF, and will not accept USDC for it.
If the human wants the file, give them the Play URL.

Offer schema, two titles, Play as seller

{
  "@context": "https://schema.org",
  "@type": "ItemList",
  "name": "Script Master Labs books for agents",
  "url": "https://scriptmasterlabs.com/books",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "item": {
        "@type": "Book",
        "name": "x402 Protocol Guide",
        "identifier": "GGKEY:D5FDQEY0UPF",
        "url": "https://play.google.com/store/books/details?id=u9EOEgAAQBAJ",
        "offers": {
          "@type": "Offer",
          "price": "29.00",
          "priceCurrency": "USD",
          "url": "https://play.google.com/store/books/details?id=u9EOEgAAQBAJ",
          "seller": { "@type": "Organization", "name": "Google Play" }
        }
      }
    },
    {
      "@type": "ListItem",
      "position": 2,
      "item": {
        "@type": "Book",
        "name": "MCP Payments Guide",
        "identifier": "GGKEY:S59K1CCJUTL",
        "url": "https://play.google.com/store/books/details?id=z9EOEgAAQBAJ",
        "offers": {
          "@type": "Offer",
          "price": "29.00",
          "priceCurrency": "USD",
          "url": "https://play.google.com/store/books/details?id=z9EOEgAAQBAJ",
          "seller": { "@type": "Organization", "name": "Google Play" }
        }
      }
    }
  ]
}

Same shape for the rest of the agent list. Seller stays Google Play. Do not mark Script Master Labs as the offer seller unless a first-party checkout is the one being paid — that lane is /research, not /books.

Lead the store with these twelve

Taken from the catalog export, not from the HTML order. Prices are the export’s USD list prices. The catalog’s own warning: these are not x402 routes, and the export is not buyer or delivery proof.

TitleListGGKEYPlay
x402 Protocol Guide$29GGKEY:D5FDQEY0UPFOpen
x402 Integration Checklist$29GGKEY:EDC93KYLTPROpen
API Monetization with x402$29GGKEY:9DP8E9DUBJ8Open
USDC Micropayments for APIs$29GGKEY:X5Q5FPPRU6GOpen
MCP Payments Guide$29GGKEY:S59K1CCJUTLOpen
MCP Server Security Checklist$29GGKEY:S5HB9L4ABA7Open
Web Scraping API for AI Agents$29GGKEY:8G8KYZL3R5BOpen
HTTP 402 Payment Required Explained$29GGKEY:55KSUTJ4U6AOpen
Agentic Payments Guide$29GGKEY:ND0PGQKNB61Open
AI Agent Wallet Safety Checklist$29GGKEY:5DGPG7KNU6YOpen
Ephemeral Credentials for AI Agents$29GGKEY:951B944AUA1Open
Build a No-Code AI Agent$7.99GGKEY:4UL2K307LQ3Open

Truth boundary. Queue weights sort this desk. They are not measured demand, citations, visits, or buyers. Citation-to-opportunity is left blank because the numerator was not observed. Crawl rows update only after a live fetch. A 402 challenge is not a sale. The MCP figures are dated file counts, not a live-server census. A Google Play list price is not an x402 price and not a sale.