Skip to content
Storeware

A shop that sells to shoppers, shopping agents, ChatGPT and software with a budget

A whole shop on your own domain, paid into your own Stripe account, with a catalogue that writes down every question it could not answer.

Coming from Shopify? The check runs in your browser and uploads nothing.

Built on, and answering to

StripeApple Pay and Google PayShopify exportsWooCommerceOpenAIChatGPT (ACP)UCPMCPGraphQLPineconeCloudflare WorkflowsResendSupabasex402, USDC on BaseGoogle, Meta, Bing and TikTok feeds

Counted from the code

5

ways software can talk to your shop

3

spend limits on every robot shopper

46

kinds of section for your shop front

104

signed webhook events

Each figure is read from the source file it describes, and a test fails if any of them drifts.

Three steps to open.

How it works

Three steps to open.

  1. 1

    Tell us what you sell

    One description, in your own words. We draft your home page, your About page, your policies, your menus and a first post. You edit anything you do not like.

  2. 2

    Bring your products over

    Export from Shopify and drop the files in. Products, variants, prices, stock, images, customers and past orders land, and your product web addresses stay exactly as they are.

  3. 3

    Open

    Your own domain, your name over the door and no badge of ours anywhere on it. Payments land in your own Stripe account, so you are the merchant of record.

No developer, no theme to pick apart, no plugins to wire together. If you can describe your shop, you can open it.

Tell us what you sell in a sentence or two. You get a drafted shop back on one screen, with a tick beside each part, and you change anything you like before a shopper ever sees it. Nothing goes live until you say so.

Your first run

Describe your shop once. We write the rest.

Tell us what you sell in a sentence or two. You get a drafted shop back on one screen, with a tick beside each part, and you change anything you like before a shopper ever sees it. Nothing goes live until you say so.

What a shop built for this does differently.

Five things older platforms cannot add by writing a new dashboard, because each one depends on how the shop is built underneath.

Lost demand

Shoppers ask for things you already stock. Now you find out.

Every search your shop runs keeps what it turned down. When a shopper asks for a waterproof jacket under £150 and your six waterproof jackets all cost more, that is written down with a price on it, because the stock was on the shelf when they asked.

Why nobody else can tell you this
Every search your shop runs keeps what it turned down. When a shopper asks for a waterproof jacket under £150 and your six waterproof jackets all cost more, that is written down with a price on it, because the stock was on the shelf when they asked.
  • Every refusal is kept

    The search fetches first and filters after, so what a shopper asked for and was not shown is still in hand to be counted.

  • Priced from your own shelf

    For each asking that showed nothing, the cheapest product it refused. Added up. No conversion rate and no forecast.

  • Told apart from what you do not sell

    A search returns whatever is nearest, so a shop asked for something it has never stocked still hands back a page of products. Yours checks whether anything it found is related at all, which is what separates a question you lost from one that was never yours. It answers 4 different ways instead of one, and only the questions about stock you actually hold are ever priced.

  • Close a gap and the catalogue learns

    Mark a question as dealt with and what that shopper needed joins the hints your products are read against. The products that turned them away are read again with it.

  • People, agents and tool calls, one ledger

    Whether the question came from a shopper on your site, a shopping agent or an MCP tool call, it lands in the same record.

Robot shoppers

Software will buy from you. Decide what it may spend first.

Robot shoppers are already placing orders, and this platform lets them, on your terms. Every agent key carries 3 limits, all optional. Set none and nothing changes. Set one and it is checked before any money moves, because a limit checked afterwards is a refund.

How an agent pays in USDC
Robot shoppers are already placing orders, and this platform lets them, on your terms. Every agent key carries 3 limits, all optional. Set none and nothing changes. Set one and it is checked before any money moves, because a limit checked afterwards is a refund.
  • A ceiling on any one basket

    Nothing above it is authorised, whoever is asking.

  • A ceiling on the whole day

    A rolling 24 hour total across every order that key has placed.

  • An order that waits for you

    Above the amount you set, the order is held rather than refused. The shopper is not billed and your stock is not committed while it waits.

  • Every request written down

    Refusals included, because software looping on a rejection is the thing you most need to see.

  • Paid in USDC, if you opt in

    An agent holding a wallet can pay in USDC on Base, with no card and nobody in the loop, on a shop that has opted in and priced its basket in US dollars.

Catalogue

A product that can be asked a question.

Not a row of fields. Each product carries a summary, the words people actually search for it by, its structured details, the questions shoppers really ask, and its place in a map of everything else you sell, drawn with 8 kinds of relation.

Will it invent things?
Not a row of fields. Each product carries a summary, the words people actually search for it by, its structured details, the questions shoppers really ask, and its place in a map of everything else you sell, drawn with 8 kinds of relation.
  • More than a row of fields

    A summary, search terms, structured attributes and the questions shoppers ask, written by a model and kept beside the product.

  • 8 kinds of relation

    Compatible with, alternative to, bought together, upgraded by, replaces, similar style, budget alternative and premium option. That map is how "what would go with this" gets a real answer.

  • Answers that cite your own pages

    Delivery, returns and sizing answers name the page they rest on, with a link and the date you last changed it.

  • Figures come from your settings

    Any amount in an answer is checked against what the checkout charges. One your settings do not vouch for is reported rather than repeated.

  • The writer never sees a price

    Descriptions are drafted without one, so "at this affordable price" cannot appear and a sale never makes the copy wrong.

Your shop

A whole shop, drafted from one description.

Everything a shop needs before anything clever matters: products, collections, checkout, discounts, delivery, orders, customers, reviews, pages, a blog and policies. On your own domain, with no badge of ours on it.

Start for free
Everything a shop needs before anything clever matters: products, collections, checkout, discounts, delivery, orders, customers, reviews, pages, a blog and policies. On your own domain, with no badge of ours on it.
  • Drafted, not published

    The first run writes your home page, colours, policies, About page, menus and a first post. Nothing is visible to a shopper until you tick it.

  • 46 kinds of section

    Hero, gallery, video, FAQ, featured collection and more, arranged in the editor without a theme language.

  • Your own domain

    Your name over the door. No favicon of ours, no wordmark in the corner, nothing.

  • Your own Stripe account

    Charges land on it directly, so you are the merchant of record and we cannot hold or delay your payouts.

  • 104 signed webhook events

    Everything that happens in the shop is announced and signed so the receiver can check it. The rules you write against those events can be backtested on the last thirty days before they are switched on.

Moving over

Moving from Shopify, honestly.

You run the exports yourself, in your own Shopify admin, and drop the files in. We recognise 5 kinds of export from their headers. One thing cannot move: Shopify has no collections export, so collections are rebuilt here from your product types and tags rather than copied.

Check your catalogue first

The one exception

Collections are rebuilt, not copied.

Shopify has no collections export, and nothing in the products export names one. You are offered one per product type and per tag that enough of your products carry, with the count each would hold, and nothing is created until you tick it.

A rebuilt collection lives at the address its own title implies. Your products keep theirs.

You run the exports yourself, in your own Shopify admin, and drop the files in. We recognise 5 kinds of export from their headers. One thing cannot move: Shopify has no collections export, so collections are rebuilt here from your product types and tags rather than copied.
  • 5 kinds of export read

    Products, inventory, customers, orders and gift cards, each recognised from the file you dropped in rather than from its name.

  • Your product addresses, unchanged

    Handles are kept exactly, so the links Google already has keep resolving.

  • Images copied afterwards

    Pictures are mirrored once the rows are in, so a slow image never holds up a product.

  • Gift cards, as a report of what you owe

    Shopify exports only the last four characters of a code, so no card can move. You get the outstanding balances, by holder, so replacements can be issued here.

  • WooCommerce too

    Connect a WooCommerce shop, run the preflight, and bring products, categories, customers, orders and coupons over its own API.

Live

Ask a real shop. Watch it think.

This is Kiln and Cloth, a shop running on Storeware now. Ask it for something, or show it a photograph. It says what it understood, checks each product against what you asked, and tells you what it turned away and why.

Nothing is scripted. Every answer comes from the shop's own catalogue at today's prices, and says so when it is not sure.

Why nobody else can tell you this.

Not because they have not thought of it. Because of where the filtering happens.

Two pipelines side by side. One filters by price before it searches and ends with nothing to count. Ours fetches all six jackets first and filters after, so it ends with a record: six withheld, cheapest £189.

Retrieval

Where the filtering happens

A search index drops anything over the price limit while it looks, so the products that missed were never assembled and cannot be counted. Ours fetches all six jackets first and applies the limit after. The shopper sees the same empty page. What survives it is different.

Two money columns. Where a question matched a product there is a figure, £189. Where a question matched nothing the column is left blank and marked no figure, because there is no product, so no price, so nothing to add up.

Honesty

The number we refuse

Questions that matched nothing you sell get a count and an empty money column. There is no product, so there is no price, so there is nothing to add up. Any platform that fills it in is multiplying a guess by an average.

A bank statement row reading YOUR SHOP LTD for £189.00, with Stripe's fees billed to you and our platform fee as a separate line reading zero basis points. We cannot hold your payouts.

Money

Whose money

Charges land on your own Stripe account with our fee taken on top. Your name on the statement, Stripe's fees billed to you, and no balance of yours on our side to hold or delay.

Five doors into one shop: ACP, UCP, MCP, GraphQL, REST, each joined by a dashed line to the same Storeware mark in the centre.

Protocols

Five doors: ACP, UCP, MCP, GraphQL, REST

The same shop, whichever way software arrives. An agent on the Agentic Commerce Protocol, a platform on the Universal Commerce Protocol, an MCP tool call, a GraphQL query or a plain REST request all read the same catalogue under the same rules.

Three things you can use today.

Free, in your browser. Import check.
Free, in your browser

Import check

Drop your Shopify products export on the page and see what your catalogue can be asked. Nothing is uploaded. The file is read by JavaScript on your own machine and the report is drawn from it there.

What you get

  • Counts, not guessesEvery figure is a count of your own rows or a sum of your own prices.
  • Five source filesThat is everything between your CSV and the chart, and a test pins that none of them can send.
  • What it will not tell youThe value of questions shoppers asked and were refused. That is built from questions, and a CSV has none.
Check your catalogue

Start free. Move up when it earns it.

Four plans, and every one of them welcomes robot shoppers, because putting the thing this platform is for behind a tier would be a strange way to argue for it.

No card to start. Nothing goes live until you say so.

Questions merchants ask.