> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tryhoard.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Share your binder

> Publish a curated public page of your top cards. Drop the link on Discord, Instagram, or at a table.

The public binder is a shareable page of your top cards. Buyers see image, name, set, and condition; every card links through to your TCGplayer listing. No prices on the page itself — it's sleeve identity, not a price list. You decide which cards show, how long the link lives, and whether search engines can index it.

The link looks like `tryhoard.com/b/abc123xyz789` — a short, readable token you can paste anywhere or print as a QR code.

## When to use it

* **Discord drops.** Paste the link in a trade channel and let people scroll your pulls without screenshotting cards one by one.
* **Instagram and X.** Drop the URL in your bio so followers can browse the cards behind the post.
* **Trade shows and conventions.** Print the QR code and stick it on your case so buyers can scan and browse without crowding your table.
* **Buylist conversations.** Show a buyer your shelf without exposing your prices, sync schedule, or any other store data.

## Publish in one click

Open the dashboard and click the **Share** button in the topbar, or tap the QR icon next to the hamburger on mobile. You'll see the share modal:

* **Unpublished:** one button — "Publish my top 50". Pick an expiry (24 hours, 7 days, 30 days, or **Never**) and hit publish. Hoard takes your 50 highest-valued cards by current market price, filters out anything sold out, and your link is live.
* **Published:** copy the URL, view it as a buyer would see it, print the QR, or jump to **Manage in Settings** for the full control panel.

That's the fast path. For more control — picking how many cards (10, 50, 100, or 180), toggling whether search engines can find the page, or resetting the URL — open **Settings → Public binder**.

## Buyer view

What buyers see at `/b/<token>`:

* **Your seller identity strip** at the top (store name, store URL if you've set one). One tap from the page to your TCGplayer storefront.
* **Sleeve grid** — image, card name, set, condition. No prices.
* **Per-card "View on TCGplayer" link.** If you've filled in your TCGplayer store URL under [Settings → Account](/settings#account), the link points to *your* listing for that product (buy box off — buyers see your card first). Without a store URL, the link goes to the default TCGplayer product page and the seller competition is open.
* **"Visit my TCGplayer store" button** at the bottom — only appears when your store URL is set.
* **Affiliate disclosure** in the footer (Hoard captures Impact affiliate revenue on outbound TCGplayer clicks; this doesn't cost the buyer anything and isn't taken from you).
* **"Make your own Hoard" CTA** at the bottom — every shared binder doubles as a quiet recruiting page.

The page is mobile-first and shows a 100% width grid that reflows on every screen size.

## Settings → Public binder

Full control panel:

### Your share link

The current URL, a Copy button, and a "View as buyer" link. Underneath: the expiry, the card count, and whether the page is indexable.

### QR code

Always rendered next to the URL. Two buttons:

* **Copy `<img>` embed** — copies an `<img src="…">` snippet you can paste into your own site, Linktree, or HTML email.
* **Open SVG (save for print)** — opens `/b/<token>/qr.svg` so you can save the vector SVG for printing on a sign, business card, or table tent.

The QR encodes the same `/b/<token>` URL as the share link. If you reset the link (see Danger zone below), the QR rotates with it.

### Republish with new settings

Pick a new card count, expiry, or indexable setting and hit **Republish with these settings**. The URL stays the same — only the underlying selection and expiry change.

| Field                             | Options                                 | Notes                                                                                            |
| --------------------------------- | --------------------------------------- | ------------------------------------------------------------------------------------------------ |
| **How many cards?**               | 10 / 50 / 100 / 180                     | Top N by current market price, sold-out filtered. 180 covers a typical 9-pocket binder page set. |
| **Link expires after**            | 24 hours / 7 days / 30 days / **Never** | "Never" means the link stays live until you reset or suspend it manually.                        |
| **Allow search engines to index** | On / Off (default off)                  | Off means the link is unlisted — only people you share it with can find it.                      |

### TCGplayer store URL nudge

If you haven't set your `store_url` under Settings → Account, the page shows a one-line nudge at the top. Buyers can still browse your binder without a store URL, but per-card links default to the generic TCGplayer product page (where they compete with every other seller) rather than your seller-scoped listing.

### What "indexable" actually controls

Off (the default) means **unlisted**. Two things happen at the same time:

* The page renders `<meta name="robots" content="noindex">` so Google, Bing, and other HTML-aware crawlers skip it.
* Hoard also returns an `X-Robots-Tag: noindex` HTTP header, which is the signal AI crawlers, link previewers, and search aggregators look at when they don't parse HTML.

So "unlisted" is genuinely unlisted, not just hidden from Google. Only people you share the link with — or who scrape it from a place you posted it — can find your binder. If you flip the toggle on, both signals release together and the page becomes fair game for any crawler.

The 410 (expired) and 404 (not found) pages always carry `noindex` regardless of your setting. Stale links never end up in search results.

### Danger zone

Two destructive actions, kept at the bottom of the page so you don't trigger them by accident:

* **Reset link (invalidate old URL).** Rotates the token. The old URL stops working immediately (anyone with it gets a 404), but your card selection stays intact. The QR code re-renders against the new URL. Use this when the old link leaked somewhere you didn't want it.
* **Suspend public binder.** Takes the URL down completely **and** clears your card selection. To republish, you'll re-pick the cards from scratch. Use this when you want to step away from sharing for a while, not just rotate the URL.

## When you share the link

What buyers (and platforms) see when the URL gets pasted somewhere:

* **Discord, iMessage, Slack, Twitter, Bluesky.** All of these unfurl URLs into a preview card with a title, description, and image. Your binder URL unfurls as:
  * **Title:** `"<your-handle>'s Hoard"`
  * **Description:** `"N cards · powered by Hoard"` (with the live card count)
  * **Image:** the Hoard site OG image (a per-binder composited preview with your actual cards is on the roadmap; for now every binder shares the same site-level preview image)
* **Search engines and AI crawlers** — only if you flipped the indexable toggle on. See [What "indexable" actually controls](#what-indexable-actually-controls) above.
* **Link shorteners** — your URL is already short (12 characters after `/b/`), so most sellers don't bother. If you do shorten it, the unfurl behavior is the shortener's, not Hoard's.

The title and description come from your current settings the moment a platform fetches the page, so renaming your store or republishing with a different card count updates the unfurl the next time someone shares (cached previews on the platform may lag — that's not something we control).

## Freshness and caching

The binder page is cached at the edge for fast loading. Two things you should know about how that works:

* **Settings changes go live within a second.** When you republish, rotate, suspend, or update your store URL, Hoard's ETag on the binder page changes immediately. The next request invalidates the cache and serves the new content. You don't have to wait for the cache to expire.
* **Viral traffic doesn't crush the page.** The CDN caches the rendered page for 5 minutes and serves stale-while-revalidate for up to an hour. If your link gets posted somewhere big, every visitor after the first one hits the cache instead of regenerating the page from scratch — your binder stays fast and your Hoard account stays responsive.

If a buyer says "I'm seeing an old version of your binder", that usually means their browser cached an HTML snapshot from before you republished. A hard refresh fixes it; the server is already serving the new content.

## Tokens

Tokens are 12 characters, alphanumeric, with `I` and `l` excluded so the URL reads cleanly aloud and survives a screenshot. The alphabet is about 70 bits of entropy — practically unguessable. Older 22-character tokens from earlier versions of the feature continue to work.

## Attribution

Every CTA on a public binder page (the "Make your own Hoard" link, the "Visit my TCGplayer store" button, the per-card "View on TCGplayer" links) carries `utm_source=public_binder` so you can see which channels are bringing visitors back to Hoard or your store. Signups that originate from a public binder click-through trace back to the seller who shared the link.

## What happens at the edges

| Situation                       | What buyers see                                                                                                                                                       |
| ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Link expired                    | Branded "This binder expired" page (410 Gone). Includes a "Make your own Hoard" CTA.                                                                                  |
| Unknown token                   | Branded "No binder here" page (404). Same CTA.                                                                                                                        |
| You suspended the binder        | Same 410 page as expired.                                                                                                                                             |
| Your Hoard account is suspended | Same 410 page — the binder goes dead at the read path even if the token is still in the database, so a TOS violation doesn't leave a Hoard-branded landing page live. |
| Your store\_url isn't set       | Per-card links go to the default TCGplayer product page; the "Visit my TCGplayer store" button is hidden.                                                             |

## QR code endpoint

`/b/<token>/qr.svg` returns the raw QR SVG for the binder URL. This is publicly accessible (it has to be — buyers scan it from print) but only resolves if the binder is live. Suspended, expired, or reset tokens return a 404.

Embed examples:

```html theme={null}
<img src="https://www.tryhoard.com/b/abc123xyz789/qr.svg" width="200" height="200" alt="My Hoard binder">
```

```html theme={null}
<a href="https://www.tryhoard.com/b/abc123xyz789" target="_blank" rel="noopener">
  <img src="https://www.tryhoard.com/b/abc123xyz789/qr.svg" width="160" height="160" alt="Browse my binder">
</a>
```

The SVG is cached for an hour at the edge, so a Linktree-style page or your own site can hotlink it without re-rendering on every load.

## Audit log

Every publish, rotate, and suspend writes to the audit log with the actor and IP. If you're operating a Hoard account with multiple staff or you ever need to prove who took down a public binder, the audit trail is on the user's admin page.

## Limits and behavior

* **You can have one public binder per account at a time.** Publishing replaces the previous selection.
* **No prices in v1.** The page is intentionally a sleeve identity page, not a price list. Surfacing prices would require permission to redistribute price data we don't have buyer-side licensing for.
* **Sold-out cards are filtered out automatically** at publish time. If a card sells after you publish, it stays on the page until you republish — the page is a snapshot, not a live mirror of your inventory.
* **The page is cached at the edge** for fast loading. A new publish invalidates the cache for that URL.

## Frequently asked

<AccordionGroup>
  <Accordion title="Can I show specific cards instead of 'top N by value'?">
    Not in v1. The page is always "top N by current market price". Custom card pickers are on the roadmap — if you have a use case, let us know.
  </Accordion>

  <Accordion title="Will the link ever go dead on its own?">
    Only if you pick a finite expiry. Pick **Never** and the URL stays live until you reset or suspend it.
  </Accordion>

  <Accordion title="What happens if I rotate the URL?">
    The old URL returns a 404. Anyone you'd shared it with needs the new link. Your card selection stays intact, so you don't have to republish — just share the new URL.
  </Accordion>

  <Accordion title="Can other sellers see the cards on my binder?">
    Yes — the page is public by URL, that's the whole point. They won't see your prices, your sync schedule, your repricing rules, or any other store data. Just the cards you chose to share.
  </Accordion>

  <Accordion title="Does the QR code expire with the link?">
    Yes. The QR encodes the current `/b/<token>` URL. If you reset the link, the new QR resolves to the new URL; the old printed QR codes point to 404.
  </Accordion>

  <Accordion title="Why no prices on the page?">
    Two reasons. The page exists to show buyers what you have, not to give other sellers a snapshot of your strategy. And buyer-side price redistribution is a licensing question we haven't tackled yet. If you want to show prices, your TCGplayer store URL is one click away from every card.
  </Accordion>
</AccordionGroup>
