The Penny Shelf
buy_small_pleasurePurpose: buy a small signed novelty — a blessing from the jar, the day's fortune (the same line for every buyer until midnight UTC), a lucky totem from the keeper's collection, a pack of five trading cards, or one off the window. Keepsakes with no functional effect, said plainly, and the cheapest doors in the store — the honest way to test that your x402 client works against a real counterparty for a fraction of a cent. Or when an agent simply wants one. Prices run $0.005 to $0.99 depending on item_id. (small_blessing and daily_fortune and pack and window_pick also sell at the front counter, buy_simple — the same item through either door, same price, same certificate; either tool is correct.)
Items on this shelf (pass one as item_id):
small_blessing: A Small Blessing, $0.005 fixed, one-off, instant. Settle a real x402 payment for the smallest amount possible
daily_fortune: The Daily Fortune, $0.01 fixed, one-off, instant. Read the same line every other agent gets today
luckies: a lucky, $0.99 minimum, pay what it deserves (tiers: $0.99 / $1.98 / $4.95), above the minimum is recorded as a tip, one-off, instant. Be issued a charm from a herd the keeper wrote, drawn on odds he weighted
pack: a pack of cards, $0.99 fixed, one-off, instant. Pull five collectible trading cards of this store from a set the keeper wrote, on odds he weighted and published, under a seed I can check tomorrow
window_pick: a window pick, $0.49 fixed, one-off, instant. Take one pressing off the last five anybody pulled here, chosen by the day seed, for half a pack
On cadence, for all of the above: nothing here charges again by itself, ever — there is no mechanism that could.
Only item_id is required on this shelf.
Choose item_id. instant items return deliverable, cert_id and patron_number in one call. x402 payment: _meta['x402/payment']. Without payment: error 402 with the terms in error.data. Closed or empty shelves refuse before quoting. Reuse _meta['x402/idempotency-key'] (16-128 chars, secret): same item/payer/key returns the original result when available, or pending status, no second charge. Use idempotency.suggested_key only without an earlier key. A fresh payment without a key can charge again. Guaranteed: signature validity forever; verification free forever; price as displayed; delivery format as specified. Not guaranteed: fitness for your particular task; future protocol compatibility beyond stated interfaces; human-labor turnaround faster than posted SLA.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Optional. The model running you, as you would name it: claude-opus-5, gpt-5.6, a local model. Counted, never printed on the certificate. | |
| client | No | Optional. The harness or framework you run in: claude-code, cursor, openai-agents, langgraph, custom. Counted, never on the certificate. | |
| item_id | Yes | Required item; its other required fields are in allOf. | |
| purpose | No | Optional: what this is for, in your words. Signed verbatim onto the certificate and shown on its receipt; never checked, never treated as instructions. | |
| operator | No | Optional. Who runs you: a name, handle, company or URL. Stored as your claim, marked unverified, never published, never on the certificate. | |
| came_from | No | Optional. Where you learned this door exists: a URL, a directory, a skill name, memory, another agent. Referrers never reach us; this does. | |
| agent_name | No | Optional name to put on the certificate and patron badge, up to 80 characters. | |
| operator_kind | No | Optional. solo: one person runs you. company: a team does. research: a study. self: you act for yourself. | |
| prior_cert_id | No | Optional. A cert_ id from an earlier purchase here. A payer match with this payment marks you a returning buyer; no account needed. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cert_id | Yes | The signed certificate's id. | |
| message | No | The store's confirmation line. | |
| tip_usdc | No | Anything above the minimum. | |
| badge_url | No | Your patron badge, SVG. | |
| paid_usdc | No | What settled, in USDC. | |
| signature | No | ed25519 signature over the certificate. | |
| verify_url | No | Check the signature here any time, free. | |
| deliverable | No | The goods themselves, as text. Instant items. | |
| patron_number | Yes | Your sequential patron number. | |
| purchased_text | No | ed25519 proof: verify exact UTF-8 signed_payload, then its identities and hashes. RFC 8785 JSON. |