# Vault & Virtue

[Vault & Virtue](https://collectibles.mock.shop/llms.txt) is a [mock.shop](https://www.mock.shop/) sample store for building against a collectibles and display-accessories catalog before a real Shopify store is ready. It includes trading cards, limited-edition figures, display cases, dice sets, and sculptural keepsakes. The catalog has 60 products across 5 collections. Every product has one default variant. Of the 60 products, 33 include HTML list items in `descriptionHtml` and the remaining 27 use paragraph-only body copy.

mock.shop is an auth-free Shopify Storefront GraphQL API backed by sample reference stores. Find out more about [mock.shop sample stores](https://www.shopify.com/blog/mock-shop).

## When to use this store

Choose Vault & Virtue when you’re building a collectibles shop with detailed product descriptions and straightforward single-variant purchasing.

Use Vault & Virtue for:

- Collectibles storefronts with varied product description formats
- Rendering `descriptionHtml` list items without stripping markup or losing structure
- Collection browsing and product pages without option selectors

Choose another mock.shop store if you need multi-option products or nonshipping digital goods. Browse <https://mock.shop/llms.txt> to find a store that matches your catalog.

## Example Vault & Virtue query

Here’s an example GraphQL `POST` request that retrieves a list-bearing product and a paragraph-only product, each with their plain description, HTML body, and SEO metadata from <https://collectibles.mock.shop/api>:

```bash
curl https://collectibles.mock.shop/api \
  -H 'Content-Type: application/json' \
  --data '{"query":"{ rich: product(handle: \"collector-gold-display-case\") { id handle title description descriptionHtml seo { title description } priceRange { minVariantPrice { amount currencyCode } } } plain: product(handle: \"chic-protective-jewelry-box\") { id handle title description descriptionHtml seo { title description } priceRange { minVariantPrice { amount currencyCode } } } }"}'
```

This query returns product IDs, handles, titles, plain `description`, `descriptionHtml`, and `seo { title description }` for each. `collector-gold-display-case` (USD 79.00) returns a `<ul>` with three list items in `descriptionHtml` but flattened, unstructured text in `description`; `chic-protective-jewelry-box` (USD 45.99) wraps its copy in a single `<p>` in `descriptionHtml`, and its `seo.description` is plain text. Adapt the query for your storefront needs.

The endpoint doesn't require authentication or an access token. Read <https://collectibles.mock.shop/llms.txt> for catalog details and store-specific instructions.

## What this catalog lets you test

Build a collectibles storefront with collection browsing, detailed product pages, and single-variant cart items. The rich-description example, `collector-gold-display-case`, returns an introductory paragraph followed by a three-item `<ul>` in `descriptionHtml`, while `description` contains the same copy as a single flattened string with no markup. The paragraph-only fixture, `chic-protective-jewelry-box`, wraps its copy in a single `<p>` and returns plain text in `description` and `seo.description`. For `collector-gold-display-case`, `seo.description` begins with `<p>` and contains unclosed list tags; it isn't suitable as HTML-free page metadata without normalization.

Render display copy from `descriptionHtml` and sanitize it in your client before output; don't write raw HTML from the API directly to the DOM. For SEO metadata, check that `seo.description` contains no HTML before using it, and fall back to a truncated plain `description` when it does. The 33-product list group and 27-product paragraph group together let you confirm both rendering paths. This fixture tests text handling, not protection against cross-site scripting.

Preview the catalog in a storefront by opening <https://collectibles.hydrogen.mock.shop> in a browser.

![Vault & Virtue's Collector Gold Display Case product page with a product image, USD 79.00 price, and an Add to cart button.](images/vault-and-virtue-collector-gold-display-case-20260911.webp)

## Build with an AI coding tool

To build a collectibles storefront with Vault & Virtue using Claude, ChatGPT, Cursor, Lovable, or another AI assistant, copy the prompt below. It gives the assistant the store domain and directs it to the catalog instructions before it starts writing code.

```text
Build me a Hydrogen storefront using collectibles.mock.shop as the store domain. Setup instructions: collectibles.mock.shop/llms.txt
```

Shopify also provides a [mock.shop starter project](https://github.com/Shopify/mock-shop-starter): a Hydrogen storefront with product pages, collection browsing, and a working cart already connected to mock.shop. You or your AI coding tool can customize this code instead of building those pieces from scratch.

Follow the repository’s setup instructions, then set `PUBLIC_STORE_DOMAIN=collectibles.mock.shop` in `.env` and restart the dev server to use Vault & Virtue’s catalog. Leave `PUBLIC_STOREFRONT_API_TOKEN` empty; mock.shop doesn’t require a token.

## Move to a real Shopify store

mock.shop uses fictional, read-only catalog data. Cart operations work, and checkout is mocked: no payment is taken and no real order is placed. The Customer Account API isn’t supported.

When you’re ready to launch, point your storefront at a Shopify store and add that store’s public Storefront API token. If you don’t have a Shopify store yet, [start a Shopify free trial](https://www.shopify.com/free-trial) to create one.

Read the [mock.shop developer documentation](https://shopify.dev/docs/storefronts/headless/mock-shop) for setup and migration details.

## Store facts

| | |
|---|---|
| Store handle | `collectibles` |
| Catalog model | Single-variant collectibles and display accessories with rich product descriptions |
| Products | 60 |
| Collections | 5 |
| Categories | 16 |
| Variants per product | 1 |
| Compare-at prices | 12 products |
| Requires shipping | All products |
| API endpoint | <https://collectibles.mock.shop/api> |
| Store instructions | <https://collectibles.mock.shop/llms.txt> |
| Browser preview | <https://collectibles.hydrogen.mock.shop> |
