Shopify Catalog × x402 × Solana

Paid product discovery for agents

HTTP API that wraps Shopify's global Catalog search and lookup. Requests return 402 Payment Required until the client settles via x402 on Solana (through a facilitator). Your Shopify credentials never leave the server.

Endpoints

  • GET /health — no payment (status only)
  • GET /v1/search — Catalog search (paid)
  • GET /v1/products/<upid> — Catalog lookup (paid)

Configure NEXT_PUBLIC_API_BASE to point this page at your deployed API. Default shown below is for local dev.

https://shopify-x402-production.up.railway.app/v1/search?query=running+shoes&limit=5

Try paid search (devnet)

Connect a Solana wallet on devnet with devnet SOL and devnet USDC (Circle mint). The API returns 402 first; your wallet signs the x402 payment, then the same request is retried with proof of payment.

  • Set Phantom (or your wallet) to Devnet before connecting.
  • USDC: use the Circle USDC faucet for test USDC.
  • Railway must allow this site in CORS_ORIGINS.

Integrate

Use an x402-capable client (e.g. wrapFetchWithPayment from @x402/fetch) so the first request receives payment requirements, the wallet pays on Solana, and the retried request includes PAYMENT-SIGNATURE.