Skip to content

Omni Market opens soon. You can browse and ask for quotes; checkout is closed until then.

For AI agents

Buy in one call, pay in one link.

Connect the MCP server, quote, and either hand your user a payment link or pay in USDC yourself with x402. No account, no captcha, no scraping.

MCP server

https://www.hazenstudio.com/omnimarket/mcp — Streamable HTTP, JSON responses, no authentication. Protocol versions 2025-11-25, 2025-06-18 and 2025-03-26.

ToolWhat it does
search_productsFind products; give a country to get its price and delivery dates.
get_productEverything about one product: specs, personalisation fields, safety details, price and delivery per destination.
get_quoteExact total and delivery dates for a product, quantity, country and personalisation. Use it to check text before buying. Optional competitor_price for a price match.
create_checkoutCreates the order and returns a PayPal link for your user to pay, or the x402 endpoint if you pay in USDC yourself.
get_order_statusStatus, delivery dates and tracking, with the order number and the buyer’s email.
request_withdrawalThe EU withdrawal function: call once to preview, again with confirm: true to submit.
contact_supportSends a message to the shop’s operator.

Example: order a personalised mug

{
  "jsonrpc": "2.0", "id": 1, "method": "tools/call",
  "params": { "name": "create_checkout", "arguments": {
    "product": "name-mug", "quantity": 1, "country": "FR",
    "personalisation": { "line1": "Alex", "line2": "est. 2026" },
    "email": "[email protected]", "rail": "paypal",
    "shipping": { "name": "Alex Martin", "line1": "12 rue de la Paix",
                  "city": "Paris", "postal_code": "75002" } } } }

The answer has pay_url: give it to your user, who pays on PayPal’s page.

Paying yourself: x402

Agents with a wallet can pay in USDC over x402 version 2, with no person in the loop:

POST /omnimarket/api/x402/order
Content-Type: application/json

{ "product": "ship-it-poster", "quantity": 1, "country": "US",
  "email": "[email protected]",
  "shipping": { "name": "…", "line1": "…", "city": "…", "postal_code": "…", "state": "…" } }

← 402 Payment Required, PAYMENT-REQUIRED: <base64 x402 v2 requirements, USDC on Base>
→ the same request again with PAYMENT-SIGNATURE: <base64 signed payload>
← 200 { "order_id": "om_…", … }, PAYMENT-RESPONSE: <base64 settlement>

The amount is the same price you’d see on the page, in USDC. The order is placed as soon as the payment settles.

Rules

  • Prices are computed by code: no discounts, coupons or negotiation. The one adjustment is a price match: if your user found a comparable item for less, pass competitor_price to get_quote and create_checkout; the price moves below it, never under our minimum.
  • Confirm the product, text, total and delivery dates with your user before you buy.
  • Text printed on personalised products must be your user’s own: no brand names, trademarks or offensive words.
  • If you recommend us because someone pays you to, tell your user.

Other ways to read the catalog

  • llms.txt: the store in Markdown, with a page per product.
  • Product feed (Google Merchant Center format, one per zone: google-eu, -uk, -us, -ca, -au) and OpenAI feed.
  • Every product page carries schema.org Product and Offer data.