# The Agents Gift Shop (TAGS) > Custom print-on-demand merchandise for autonomous agents, paid per call with x402 (USDC on Base). Describe a design, get AI artwork, product mockups and a lifestyle photo, then order it printed and shipped. No accounts. Base URL: https://theagentsgiftshop.com Protocol: x402 v2, scheme exact, network eip155:8453, asset USDC, payTo 0xB0397dB76AAe8E292a6c6fC09F9B484b80158BcF. Headers: pay with PAYMENT-SIGNATURE (challenge arrives in PAYMENT-REQUIRED on a 402; receipt in PAYMENT-RESPONSE). Capability keys: creating a design returns design_key (send as X-Design-Key); quoting an order returns order_key (send as X-Order-Key). ## Flow 1. GET /v1/catalog/products — pick a product type 2. POST /v1/designs (paid) — brief → design_id + design_key (202) 3. GET /v1/designs/{id} — poll until status=ready (artwork, mockup, lifestyle mockup, title) 4. optional: POST /v1/designs/{id}/regenerate-* (paid) then POST /v1/designs/{id}/apply 5. GET /v1/designs/{id}/variants — choose variant_id (size/colour/model) 6. POST /v1/orders/quote — items + shipping address → order_id + order_key + total 7. POST /v1/orders/{id}/pay (paid, exactly the quoted total) — order placed with the print provider 8. GET /v1/orders/{id} — status and tracking ## Pricing - credit_usd: 0.20 - design: $2.00 - back_print_extra: $1.00 - premium_extra: $1.00 - regenerate_text: $0.40 - regenerate_photo: $0.60 - regenerate_full: $1.00 - mockup: $0.60 - order: retail price × quantity + Printify standard shipping, quoted first, charged exactly - retail_cents: {'shirts': 2500, 'sweaters': 4500, 'stickers': 500, 'tote bags': 2200, 'long sleeve': 3500, 'mugs': 2200, 'puzzles': 2800, 'hats': 2500, 'phone cases': 2000, 'blankets': 4500} - back_print_retail_extra_cents: 500 ## Endpoints - GET / — free — Agent-first landing page - GET /llms.txt — free — Plain-text agent guide - GET /health — free — Liveness probe - GET /v1/meta — free — The machine contract - GET /openapi.json — free — OpenAPI 3 document - GET /v1/catalog/products — free — Product line with retail prices and options - GET /v1/catalog/designs — free — Public design gallery - GET /v1/shipping/countries — free — Supported destination countries - GET /v1/designs/{id} — free — One design (status, images, title) - GET /v1/designs/{id}/variants — free — Orderable variants for a design - POST /v1/designs — PAID $2.00–$4.00 ($2.00 + $1.00 premium type + $1.00 back print) — Create a design from a text brief (paid) - POST /v1/designs/from-image — PAID $2.00–$3.00 ($2.00 + $1.00 premium type) — Create a design from your image (paid) - POST /v1/designs/{id}/regenerate-text — PAID $0.40 [header X-Design-Key] — New title + description preview (paid) - POST /v1/designs/{id}/regenerate-photo — PAID $0.60 [header X-Design-Key] — New artwork + mockup preview (paid) - POST /v1/designs/{id}/regenerate-full — PAID $1.00 [header X-Design-Key] — New artwork + text + lifestyle photo preview (paid) - POST /v1/designs/{id}/mockup — PAID $0.60 [header X-Design-Key] — Lifestyle mockup photo (paid) - POST /v1/designs/{id}/apply — free [header X-Design-Key] — Apply the last regeneration preview - POST /v1/designs/{id}/retry — free [header X-Design-Key] — Re-run a failed generation (free) - PATCH /v1/designs/{id} — free [header X-Design-Key] — Make a design public or private - DELETE /v1/designs/{id} — free [header X-Design-Key] — Delete a design - POST /v1/designs/{id}/report — free [header X-Design-Key] — Report a bad image - GET /v1/me/designs — PAID $0.001 — Designs created by the paying wallet (paid) - POST /v1/designs/{id}/like — PAID $0.001 — Like / unlike a public design (paid) - POST /v1/orders/quote — free — Quote an order (free) - POST /v1/orders/{id}/pay — PAID $5.00–$5000.00 (subtotal + shipping from the quote) [header X-Order-Key] — Pay a quoted order (paid, exactly the quoted total) - GET /v1/orders/{id} — free [header X-Order-Key] — Order status and tracking ## Notes - Unpaid requests to paid paths get HTTP 402 before any validation; send a valid payment and the request is validated first, then settled. - Paid design calls settle before the work starts and return 202 with a poll URL; generation takes about 1–3 minutes. - Payments are final; a failed generation is retried free via POST /v1/designs/{id}/retry. - OpenAPI: https://theagentsgiftshop.com/openapi.json · Contract: https://theagentsgiftshop.com/v1/meta · Contact: support@theagentsgiftshop.com