What you get. On every plan.
POS. Online store on your own domain. JustTCG-driven catalog. Trade-ins with credit or cash payouts. Ten reports out of the box. Stripe Connect. Same stack on every plan, no upsell tiers.
Your customer database
Customers sign up on your domain. Order history, trade-in history, and credit balance live on your store, not on a marketplace login.
Your storefront URL
Auto-issued TLS on shop.yourshop.com. Stripe checkout renders inline; no third-party redirect, no co-branding.
Your margin
Funds settle to your own Stripe account. We take a small per-order app fee. Every plan includes every feature; no upsell tiers.
Why store owners switch
Most card-shop software is locked into a marketplace, dated, or both. Here's what changes when you move.
Your domain, your customers
Customers buy from your store, not a marketplace listing that happens to be yours this week. The email, the credit balance, the trade-in history all live on your URL. When you want to bring a customer back, you have what you need to do it.
Software that doesn't slow your team down
Dark mode, keyboard shortcuts, fast page loads, and a POS that fits on a single screen. Built on Next.js 15 and React 19. If checkout is taking longer than it should because the register is loading, that's a fixable problem.
Reports, not CSV exports
Ten dashboards covering sales, customers, catalog, margin, trade-ins, ops, repricing, dead stock, market signal, and cohort lifecycle. They're mapped against a Johari grid so the gaps in what you track are visible too. Not files you have to open in a spreadsheet first.
An assistant that knows the catalog
Ask the Claude-powered assistant about prices by condition, set release dates, 7- and 30-day trends, reprint risk. You get answers in plain English with live price charts inline. Backed by JustTCG over MCP, which is the same data your storefront runs on.
Trade-ins that pay cash, not just store credit
Customers pick credit or cash at submit time. Standard ACH is free and arrives in 1 to 3 business days. Instant payout to a debit card runs about 1.5% and shows up in under 30 minutes; the fee is disclosed up front and deducted from the customer's payout, not yours. You set the rates by game and condition; the platform computes the offers and lists accepted cards as published inventory.
One stack instead of eight
Stripe Connect, Stripe Tax, Stripe Financial Connections, Shippo for outbound and inbound shipping, TCGPlayer sync, Cloudinary for images, Resend for transactional email, custom-domain TLS, Cloudflare DNS auto-apply. Already wired up. You don't pay nine vendors and you don't write the glue.
Every feature, by category
No tiered feature gating. Every store gets the full stack on every plan. Items tagged
Storefront on your own domain
Branded online store, inline Stripe checkout, faceted search, customer accounts. All on your URL.
Custom domain with auto-TLS
Run your storefront on shop.yourshop.com. Cloudflare merchants get one-click DNS auto-apply; everyone else copies a CNAME. TLS issues automatically once DNS resolves.
Inline Stripe checkout
Stripe PaymentElement renders on your domain. No third-party iframe redirect. Apple Pay, Google Pay, and cards in the same flow with shipping address and Stripe Tax inline.
Per-store branding
Pick an accent color and one of five design-system accent themes for your admin. Your Buy/Sell pills, hover states, and OG link previews pick it up. Pin which categories appear first on the storefront homepage.
Live faceted search
Game and set filters generated from your actual catalog. Debounced live search with thumbnails, keyboard navigation, and skeleton-streamed first paint.
Customer accounts on your store
Customers sign up, save shipping addresses, see past orders, trade-in submissions, and credit balance. Password reset by 6-digit email code. Your domain, not a marketplace login.
Watchlists across stores
Customers track cards across the platform from one watchlist. Email confirmation step keeps it spam-free.
Cross-store discovery and platform search
Opt into the directory and shoppers can switch between merchants from your storefront header. One platform-wide search reaches every participating store's inventory.
Sparkline + 30d trend KPI on every product card
NewEach storefront product card carries a tiny market-trend sparkline at the bottom plus a count-up animated 30-day price-change KPI with up/down arrow. Customers see at a glance whether a card has been climbing or cooling — no detail page click required.
Custom display font per merchant
NewUpload your own WOFF2 / WOFF / OTF / TTF (up to 2MB) in settings and it swaps in everywhere the platform display face is used — both your admin dashboard AND your public storefront. Magic-byte validated server-side; assets live on the platform Cloudinary account.
Platform-wide + per-merchant dark mode
NewPlatform admin toggles a marketing-site default; each merchant overrides with Inherit / Light / Dark in their own settings. The .dark surface uses a 7-level tonal hierarchy (near-black canvas, off-white type) tuned for the design system. Brand accents work on both surfaces.
framer-motion product grid
NewStaggered fade-in on first paint and smooth layout reorder when shoppers change sort. Respects prefers-reduced-motion. Backed by skeleton loaders that mirror the real card layout exactly so the loading → loaded handoff is CLS-free.
Catalog and inventory
Live JustTCG catalog, one-click product creation, auto-repricing, low-stock and dead-stock visibility.
JustTCG one-click product creation
Search the JustTCG database, pick the variant you carry, and you get a published product with full metadata, every variant, the current market price, and the card image. No manual entry.
TCGPlayer sync
Two-way sync between TCGPlayer and your storefront for inventory and pricing. Edit on JustTCG and the storefront stays in sync. Toggleable per org.
Reprice rules
Auto-reprice against market with floors, ceilings, and margin guards. Scope rules by game, set, condition, or rarity. The Repricing Radar report shows what changed and why.
Pinned categories
Choose which categories show up first on the storefront homepage. Singles aisle, sealed wall, bestsellers, whatever order you want. Configurable per game.
Dead-stock and low-stock dashboards
Which SKUs are aging out and which are about to stock out, with capital-tied-up estimates and markdown candidates. The information is on a dashboard instead of a spreadsheet you fill out on inventory day.
Search misses
Every zero-result search is logged. You can see what customers are looking for that you don't carry. Closest thing to a free buying-signal feed there is.
Inline ±5% quick repricing
NewEvery row of the products table carries up / down chips that nudge the price ±5% with a single click. Optimistic UI; the new price renders instantly, the DB write fires in the background.
Inline quantity editing
NewClick any quantity cell on the products table OR detail page to edit it directly. ±1 buttons + click-to-type input, with optimistic updates and an InventoryMovement audit row written under the hood.
Streaming card search
First page renders instantly; subsequent pages append + re-sort as they arrive (up to 500 results). Works the same on every surface the card picker shows up — products, trade-ins, AI Explorer.
Daily market-price snapshots
NewPer-variant snapshot worker captures a price every UTC day for every published product, stretching price history beyond JustTCG's 180-day API window over time. Sparklines + charts union local + remote for the longest possible series.
Trade-ins and buylist
Customers build a trade-in cart from your live catalog. You accept per item. Credit or cash payouts.
Customer-built trade-in cart
Live card search or bulk import from Manabox, Collectr, or PriceCharting CSVs. Estimated value per line, computed against your own per-game and per-condition rates.
Per-game and per-condition rates
Set cash% and credit% per game, then override per-(game, condition) pair. You can pay 60% credit on Magic NM and 35% on MP without keeping a side spreadsheet.
Ship-in or QR-code drop-off
Customer picks at accept time. Ship-in generates a prepaid Shippo label; drop-off shows a QR code that you scan at the counter to mark received. Both keep submission status in sync for the customer.
Auto-create inventory from accepts
Accepted cards become published products at the credit you paid, which doubles as the cost basis for margin reports. One trade-in completion can yield several new SKUs live on the storefront.
Customer cash payouts (ACH or instant)
NewCustomers can elect cash to their bank instead of store credit. Standard ACH is free and arrives in 1 to 3 business days. Instant payout to a debit card runs 1.5% with the fee passed transparently to the customer. Powered by Stripe Connect Transfer plus Stripe Express recipient accounts.
Trade-in cash budget top-ups
NewWhen your Stripe Connect balance is low, top up via ACH from your linked bank in one click. Pre-fills the deficit, settles in 3 to 5 business days, then transfers to your Connect balance automatically when the webhook fires.
Convert to credit fallback
NewIf a cash payout can't go through because of insufficient balance, you get a one-click 'pay as credit instead' option in the same modal. Customer is paid now; no waiting on ACH.
Decline-reason templates
Save common decline reasons as reusable templates and pick them from the modal. Keeps customer messaging consistent across reviewers and shifts.
Daily payout budget cap
Set a daily cap on cash and credit payouts. New submissions can either pause or warn (your choice) when the day's budget is hit. Today's payout %'s on the KPI cards animate-count-up on every page load.
Auto-print barcode labels on accept
NewWhen you accept a trade-in, the platform restocks the items as published products AND automatically queues a barcode-label print for each new SKU. No second click to go print labels for the items you just took in.
Point of sale
Code128 barcode labels, scan-at-register, real-time inventory depletion, Stripe Tax inline.
Code128 barcode labels
Print 1×0.5" thermal labels per product with the SKU encoded as Code128. Works with most common thermal printers without a driver dance.
Real-time inventory depletion
Scan at the register and inventory drops on the storefront before the next page load. No reconciliation gap between in-store and online.
Cash drawer and cash shifts
Open and close cash totals per shift with a printable shift report. Counted cash reconciled against system-recorded sales without an external ledger.
Stripe Tax inline
Tax computed at the right rate per address on the same screen as the cart. No surprise add-ons after capture.
Reports and insights
Ten dashboards across the Johari grid: what you know, what you don't, and what you don't know you don't.
Sales Pulse
Revenue, AOV, traffic-to-buyer, top products, channel mix, hour heatmap, conversion funnel, refund rate, repeat vs new, 7-day trend.
Customer Atlas
New customer rate, geography, LTV, acquisition channel, email opt-in, repeat-visit gap, top buyers, cohort retention, segments, first-purchase basket.
Catalog Performance
SKU velocity treemap, sell-through, stockouts, set-level perf, foil split, condition mix, new-listings curve, listing-to-sale latency, category contribution.
Margin and COGS
Gross margin trend, COGS by source, Stripe and platform fee bleed, return impact, margin per category, top and bottom margin SKUs, profit waterfall.
Repricing Radar
Price vs market scatter, stale-price aging, underpriced and overpriced alerts, daily change distribution, auto vs manual mix, margin loss estimate, top movers.
Dead Inventory
Aging buckets, capital tied up, top dead SKUs, category dead share, last-sold histogram, markdown candidates, bundle suggestions, recovery scenarios.
Trade-In Pipeline
Submissions per day, offer acceptance rate, average offer value, reviewer queue age, top games, approval funnel, decline-reason mix, recovered margin.
Ops and Fulfillment
Orders awaiting pick, pick-to-ship time, carrier mix, late shipment rate, label cost trend, address failure rate, daily fulfilled units, backlog burn-down.
Market Signal
Trending sets, price index drift, search interest spikes, reprint risk score, format meta shifts, sentiment delta, hot-card watchlist, pre-order volume.
Cohort Lifecycle
Weekly cohort retention, revenue per cohort, reorder gap distribution, first-product affinity, cohort LTV curve, churn risk gauge, win-back response rate.
Forecast-aware price-history chart
NewEvery product chart overlays a rolling average (7/14/30d window), a least-squares trend line, and a Holt-Winters forecast band projected forward for ¼ of the loaded data with 7-day weekly seasonality. A 50–95% confidence slider live-updates the band width. Same chart shows up on the AI Explorer item page.
AI tools
Claude assistant and a visual relationship explorer, both backed by the JustTCG catalog over MCP.
JustTCG Assistant
AIAsk in plain English about prices by condition, set release dates, 7- and 30-day trends, reprint risk. Replies render as formatted Markdown with animated price-history charts pulled live over MCP. Lucide React icons replace emojis automatically for an on-brand look.
Email any assistant response to yourself
NewPer-message mail button on every assistant answer. Sends a clean inline-HTML email with the full response, inline SVG price charts, and an 'Open interactive view' deep-link back to the chat. Renders identically across Gmail, iOS Mail, Apple Mail, and modern Outlook.
AI Explorer with always-visible labels + filters
AIForce-directed map of card relationships: reprints, name family, number mates, rarity peers, set neighbors, price tiers. Card-shaped nodes with TCGplayer art, always-visible name + halo-tinted price chip, click to focus, drag to reposition, and price-sort re-layout when you drop. Map-side filter sheet with price range + rarity chips, plus a collapsible source sidebar that gives the graph full canvas width.
Right-side flyout with external deep-links
NewClick any card node in the Explorer and a flyout slides in with image, price stats, full variants table, and curated external links per game — TCGplayer, Scryfall, EDHREC, YGOPRODeck, Bulbapedia, Limitless TCG, Dreamborn, OPTCGdb, DigimonCard.io. Every link is generated client-side from JustTCG fields with no extra round-trip.
Dedicated item page with rich card detail
NewFrom the flyout, jump to a full /explorer/item/{...} page with merged JustTCG + local-snapshot price history, variant switcher, all-variants table with 24h / 7d / 30d deltas, and per-game playability data. Public route AND org-scoped admin route both supported.
Claude-generated market analysis
AIOn the item page, Claude reads a price-history summary (current, deltas, trend slope, residual volatility, Holt-Winters forecast) and writes a headline, 3-5 sentence commentary, key bullets, and buy / sell timing stances. 12h cached so repeat views serve instantly.
Playability section per game
AIFormat legality (Standard / Modern / Commander / Pauper / etc. for Magic; banlist for Yu-Gi-Oh!; Standard / Expanded / Unlimited for Pokémon), full rules text from the authoritative DB, plus a Claude-generated evaluation of the card's competitive role, strengths, and weaknesses grounded in the actual oracle text.
PSA grading section
NewPopulation pyramid by PSA grade plus price-guide values when the platform PSA_API_TOKEN is configured, with a single-cert lookup form (paste a slab number, get title + grade + date graded). Graceful fallback to a PSA deep-search link when the token isn't set so the section never disappears.
Movers (public)
Repurposed as a general card-price listing across all JustTCG games. Filter by game and set, toggle catalog (all / singles / sealed), sort by % vs $ change across 24h / 7d / 30d / 90d windows. Server-side paginated with skeleton loading + parallel upstream fetch so even 2,000-card pages render fast.
Public Appraise tool
Anyone can paste a card list and get an instant valuation against current market. Doubles as a marketing surface that funnels new merchants and customers to the platform.
Integrations
Wired in from day one. Stripe, Shippo, TCGPlayer, Cloudinary, Cloudflare, Resend.
Stripe Connect (Standard)
Funds settle to your own Stripe account, not the platform. We charge a small per-order app fee. Onboarding runs through Stripe-hosted OAuth; no API-key paste.
Stripe Tax
Sales tax computed at the right rate per address before charge. Inline on POS, storefront cart, and Express checkout.
Stripe Financial Connections
NewLink your bank account once. The trade-in budget meter shows your available balance, and you can top up via ACH without leaving the app.
Shippo (outbound and inbound)
Prepaid labels for both orders and inbound trade-in shipments. Multi-carrier support (USPS, UPS, FedEx) with a packing-slip PDF generated automatically.
TCGPlayer catalog sync
Connect once and we sync your TCGPlayer inventory and pricing. Edit on JustTCG and changes propagate. Toggleable per org.
Cloudinary signed uploads
Direct browser-to-Cloudinary uploads with on-the-fly transforms. Product images don't bottleneck through your origin server.
Resend transactional email
Order confirmations, trade-in updates, password resets, watchlist alerts. Sent via Resend with React Email templates. From-address configurable per org.
Cloudflare DNS one-click
Cloudflare merchants get one-click DNS auto-apply for custom domains. No copy-paste of TXT records at the registrar.
Team, security, and ops
Role-based access, full audit log, encrypted-at-rest credentials, rate limiting on every public endpoint.
Team management
NewInvite teammates by email and assign roles (owner / admin / manager / member). Change roles or remove members later. Last-owner guard at the API and UI level so an org can't strand itself.
Audit log
Every destructive action (product wipes, role changes, payout method conversions, settings updates) logged with actor, IP, user agent, and changed fields. Searchable in the admin.
Encrypted-at-rest integration credentials
Per-org integration secrets (API keys, OAuth tokens) encrypted with an org-specific key derived from the platform master key. Never written to disk in plaintext.
Rate limiting on public endpoints
Every public route scoped and rate-limited by IP and tenant. Sensible defaults, clear 429 responses with Retry-After headers.
Sentry observability
Errors and slow transactions captured automatically. Less time guessing why a customer's checkout failed.
Ready to move?
Sign up, point a domain, import your inventory, and ship your first online order the same day. No setup fees, no tiers, no sales call.
Have a question? Email us.
