curatoria.dev

Creator guide

Put your work behind an x402 paywall

Curatoria helps you sell design files to AI agents over plain HTTP. Keep files where you already store them, set a price, and become discoverable. Your catalog stays public, paid files stay protected, and payment happens automatically with no checkout page or middleman.

Who this is for

Artists, designers, and studios with reusable creative assets — design systems, token files, icon packs, component guides, industry style guides, or any downloadable digital product. You do not need to be an engineer forever, but today's public starter still requires a local setup. You do need Coinbase Wallet (recommended) or another wallet that can receive USDC on Base, plus patience to test on Base Sepolia before mainnet.

Start here

The path available today: fork the Curatoria starter, connect a payout wallet, add files under design-systems/, and deploy the Node service. The no-terminal storage connector path is the product direction, not the current day-one flow.

Available today: Fork curatoria-starter, connect a wallet, add files under design-systems/, deploy the Node service.

Coming soon: Connect Google Drive, Dropbox, iCloud, or your domain without moving files; automatic x402 Bazaar registration.

The starter template is now live on GitHub. This operator repo keeps the same self-hosted pattern locally (npm run dev, files in design-systems/) for curatoria.dev operations and private catalog work.

Questions: curatoria.dev@pm.me

How a paid request works

This flow is live in the Curatoria service today:

  1. Discover. An agent reads your public catalog at /.well-known/design-catalog.json. It lists every product, its price, and where to fetch it.
  2. Challenge. If the agent requests a paid file without paying, your server answers with HTTP 402 Payment Required and JSON describing the price, network, and wallet address.
  3. Pay. The agent retries with an X-PAYMENT header. The x402 facilitator verifies the signature and settles USDC on-chain (Base or Base Sepolia testnet).
  4. Deliver. After payment clears, the server returns your file — a markdown design doc or a zip bundle download.

What you will set up

A working creator setup looks like this:

  1. Coinbase Wallet or any Base USDC wallet. Coinbase Wallet is the recommended path because it lines up with CDP, x402, Base Sepolia faucets, and the simplest cash-out story. Any EVM wallet that can receive USDC on Base can work.
  2. Your files in the starter today. Add markdown files or zip bundles under design-systems/. Google Drive, Dropbox, iCloud, and domain-hosted connectors are planned.
  3. Products and prices. Name each item, set a price (for example $0.05 for a design doc or $0.10 for a bundle), and publish. Curatoria builds your catalog today; automatic Bazaar registration is planned.
  4. Smoke tests. Confirm the catalog loads, unpaid requests return 402, and a paid request returns the file.

Running your own Node service (Railway, Fly.io, a VM) is optional — see Advanced: self-host the paywall service in the appendix.

What the full guide teaches you

Step-by-step sections in the starter guide walk through what works today and what is planned:

  • Connecting your storage — planned connectors for Google Drive, Dropbox, iCloud, or files on your domain; use design-systems/ today
  • Bazaar listing — manual catalog sharing today, with automatic registration planned
  • Before you start — what x402 is, why agents pay differently than humans, and what “machine-readable catalog” means for your portfolio
  • Wallet basics — Coinbase Wallet and CDP first, other Base USDC wallets supported, and where your payout address goes in config
  • First local run — start the server, open the catalog URL, and see 402 on an unpaid product (the paywall working)
  • Publishing your first product — naming, pricing, tags, and activating an entry in the registry
  • Markdown vs bundle — when to ship a single doc vs a zip, and how each download route behaves
  • Testing a real payment — run a paid fetch on testnet and confirm USDC moves and the file delivers
  • Going live — switching from Base Sepolia to Base mainnet, and basic reliability checks before you share your catalog URL
  • When something breaks — server won’t start, product not found, no 402, payment fails, file missing from disk
  • Self-hosting (advanced) — Node on Railway/Fly/Render, VMs, and object storage when you outgrow the default path

What you can sell

  • Design markdown — a design.md file (tokens, rules, usage)
  • Asset bundles — a zip (icons, components, templates)

Each product gets an ID, display name, price in USD, description, and tags. Metadata lives in design-systems/.registry.json; the files sit beside it in design-systems/.

Where you can sell

You should not have to learn server ops to get paid. Today, creators can use the starter repo to self-host a Node paywall service. Curatoria is being built toward storage you already use, automated discovery on the x402 Bazaar, and a paywall layer that sits in front of your files.

Store files where you already work

Coming soon, the casual path is: keep your source of truth in a familiar place, connect it once, set prices, publish. Today, use files under design-systems/.

  • Google Drive. Design docs and zip bundles in a folder you control. Planned connector: Curatoria links paid access to those files without making you re-upload elsewhere.
  • Dropbox. Same idea — shared folders and versioned assets stay in Dropbox; buyers pay per access through your catalog.
  • iCloud. For creators already living in Apple’s ecosystem — connect the folders or exports you want to sell and keep editing in place.
  • Your own domain. If you already host files on your site, a CDN, or static storage behind your domain, Curatoria can front those URLs with x402 instead of asking you to migrate hosts.

Get listed on the Bazaar

Agents discover paid services through the x402 Bazaar. Curatoria should do as much of this as possible for you automatically. Today, share your public catalog URL manually; automatic Bazaar registration is planned:

  • Build your public catalog from the products and prices you define
  • Register discovery metadata so wallet-equipped agents can find your work
  • Keep listing details in sync when you add, reprice, or retire a product

Your job: describe what you sell and what it costs. Ours: make the Bazaar listing a side effect of publishing, not a second project.

What still has to happen behind the scenes

x402 is HTTP-native — something must return 402 with payment details, verify USDC, then deliver the file. Curatoria provides that layer whether your files live on Drive, Dropbox, iCloud, or your domain. You connect storage; we handle the paywall and payout path.

Appendix: x402 references

Official protocol docs if you want to go deeper than this guide:

  • x402.org — open protocol home, spec overview, and links to the reference implementation
  • x402.org documentation — quickstarts for buyers and sellers, Bazaar discovery, and integration examples
  • Coinbase Developer Platform — x402 — how the protocol works, client/server flow, facilitator service, and production integration on Base and other networks

Advanced: self-host the paywall service

For operators who want full control — or who are testing before cloud storage connectors ship — you can run the Curatoria service yourself. This is a deeper dive, not the default creator path.

  • Managed Node host. Deploy to Railway, Fly.io, Render, or similar.
  • Cloud VM. EC2, DigitalOcean, or any box where you run Node and keep a process alive.
  • Object storage at scale. Keep paywall logic on your service; store large bundles in S3, R2, or GCS with a CDN or WAF in front.
  • Catalog on your domain. Agents discover products at https://yourdomain.com/.well-known/design-catalog.json.

See the curatoria-starter template and creator guide for the current self-hosted setup (npm run dev, design-systems/, publish commands, testnet first).