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.