# Desk Idols Printable paper objects for your desk. Each one is a PDF (US Letter) you print on light paper, cut, fold and glue in about ten minutes. PDFs are generated on demand. Humans: https://deskidols.vercel.app/ checks out by card through Stripe. ## Agents: buy over HTTP 402 (x402, USDC on Base, no account) GET https://deskidols.vercel.app/api/agent/idol?sku= $2.99 one object GET https://deskidols.vercel.app/api/agent/full $11.99 all eight in one PDF GET https://deskidols.vercel.app/api/agent/custom/basic?description=... $7.99 your idea as a paper prototype GET https://deskidols.vercel.app/api/agent/custom/variations?description=... $14.99 your idea in 4 forms GET https://deskidols.vercel.app/api/agent/custom/pro?description=... $24.99 spec sheet + commercial-use rights Custom options: description (required, 3-400 chars), shape (cube | tower | block | pyramid, guessed if omitted), title, faces (comma separated labels). Skus: locked-in Locked In Cube: Sits on your desk so people know not to talk to you. doom Doom Cube: For the hours you spend scrolling straight into the abyss. delusion Delusion Cube: Confidence with no evidence, in a convenient paper format. calm Calm Cube: Six sides of absolutely nothing happening. gremlin Gremlin Cube: The small evil creature that runs your afternoon. deep-work Deep Work Totem: A tall paper tower you set down before you start. Then you start. meeting-survivor Meeting Survivor Block: A wide, patient brick for meetings that could have been an email. villain-arc Villain Arc Pyramid: Point it at whoever started it. How to pay: 1. Call the endpoint with no payment. You get 402 with terms in PAYMENT-REQUIRED. 2. Sign with any x402 client and retry the same GET with PAYMENT-SIGNATURE. 3. The PDF is generated, the payment settles, and only then is the PDF sent (content-type application/pdf) with a PAYMENT-RESPONSE header. If the PDF cannot be generated you are not charged. Example (npm i @x402/fetch @x402/evm viem): import { wrapFetchWithPaymentFromConfig } from "@x402/fetch"; import { ExactEvmScheme } from "@x402/evm"; import { privateKeyToAccount } from "viem/accounts"; import { writeFileSync } from "node:fs"; const account = privateKeyToAccount(process.env.PRIVATE_KEY); const pay = wrapFetchWithPaymentFromConfig(fetch, { schemes: [{ network: "eip155:8453", client: new ExactEvmScheme(account) }], }); const r = await pay("https://deskidols.vercel.app/api/agent/idol?sku=locked-in"); writeFileSync("locked-in.pdf", Buffer.from(await r.arrayBuffer())); ## Rail x402: USDC on base-mainnet (eip155:8453), paid to 0x5f2dAbA9EA8B95d86195412A24F3Ab0168791696. Terms arrive in the PAYMENT-REQUIRED header; retry the identical request with your signed authorization in PAYMENT-SIGNATURE. ## More agent-payable services by the same maker https://the-wall-lime.vercel.app/agents