Overview
Rarebox is a privacy-first multi-TCG collection tracker that runs entirely in your browser. It tracks cards, sealed products (booster boxes, ETBs, tins), and graded slabs (PSA / BGS / CGC / ACE) across Pokémon, Magic: The Gathering, Yu-Gi-Oh!, Disney Lorcana, One Piece, and Riftbound — with live market prices and shelf value charts.
Live at rarebox.io · Source on GitHub
Since v1.4.0 the app wears Tactile — a custom design system with a bottom tab bar on phones/foldables/tablets and a top bar on desktop. Five alternative design prototypes remain live at rarebox.io/designs.
Why Rarebox?
Most TCG portfolio tools require accounts, store your data on their servers, and lock you into their ecosystem. Rarebox takes a different approach:
- No accounts. No email, no password, no sign-up flow. Open the app and start tracking.
- No server-side storage. Your collection lives in IndexedDB in your browser. Price data is fetched directly from public APIs.
- No tracking. At all. No analytics, no page-view counting, no cookies, no fingerprinting — the app ships zero tracking scripts. It works fully offline, which is the proof: your collection never needs to talk to a server.
- Open source. MIT licensed. Fork it, modify it, self-host it.
What it does
Shelf Tracking
Create multiple named shelves (Rarebox speaks collector, not investor), each with a color and their own value chart. Add cards by searching any set, add sealed products and graded slabs with grade-specific pricing. See total collection value, cost basis, and gain/loss across all shelves.
Multi-TCG Support
Six trading card games are supported out of the box:
| TCG | Card Source | Price Source | Notes |
|---|---|---|---|
| Pokémon | pokemontcg.io | TCGPlayer market | English + Japanese cards |
| Magic: The Gathering | Scryfall | Scryfall USD prices | Paper cards only |
| Yu-Gi-Oh! | YGOPRODeck | TCGPlayer + Cardmarket | All rarities |
| Disney Lorcana | Lorcast | Lorcast USD prices | All sets |
| One Piece | optcgapi | Market prices | All sets |
| Riftbound | riftcodex | PriceCharting | Images from Riot CDN |
Deck Builder
Create decks for any TCG, cross-reference against your collection to see which cards you already own, calculate cost to complete, and import current meta decks from Limitless TCG with one click. Meta decks are available for all 6 TCGs.
Trade Analyzer
Compare Side A vs Side B trade proposals with fair market values. Supports grading (PSA / BGS / CGC / SGC with grades 1–10), cost basis tracking, and a fairness meter that calculates percentage difference between sides. Share trade analysis via Web Share API.
Card Scanning
Point your camera at a physical card — Tesseract.js OCR extracts the card name, then multi-TCG search resolves it against all providers. Add the scanned card to your portfolio in seconds. Supports Pokémon, MTG, and Lorcana cards.
Price Alerts
Set price thresholds on any card (above or below a target price). Rarebox checks alerts after price refreshes and fires browser notifications when thresholds are crossed. Alerts are stored locally and persist across sessions.
Browse & Search
Browse every English and Japanese Pokémon set with logos, series, release dates, and card counts. Browse MTG, Yu-Gi-Oh!, Lorcana, One Piece, and Riftbound sets via the generic TCG browse system. Multi-TCG search across all 6 games with TCG filter pills.
Price Charts
Card price history going back to November 2022. Shelf value-over-time charts using a last-observation-carried-forward (LOCF) system. Daily price snapshots for sealed and graded items with 3 years of history retention.
Backup & Transfer
Export to Excel, backup as JSON, transfer between devices via gzip-compressed QR code or clipboard. Import from Collectr (CSV/XLSX) to migrate from other tools. Your data is portable.
Tech Stack
| Layer | Technology |
|---|---|
| Frontend | Vue 3 + Vite |
| State | Pinia |
| Persistence | Dexie.js (IndexedDB) |
| Charts | ApexCharts |
| Routing | Vue Router (HTML5 history mode) |
| Export | SheetJS (xlsx) |
| OCR | Tesseract.js |
| Compression | pako (gzip) |
| QR Codes | qrcode (base64 generation) |
| Serverless API | Python (Vercel Functions) — httpx + BeautifulSoup |
| Hosting | Vercel |
External APIs
| API | Purpose |
|---|---|
| pokemontcg.io | Card data + live TCGPlayer market prices |
| tcgdex | Japanese sets/cards, price history (Nov 2022+) |
| Scryfall | Magic: The Gathering sets/cards/prices |
| YGOPRODeck | Yu-Gi-Oh! card data + prices |
| Lorcast | Disney Lorcana sets/cards/prices |
| optcgapi | One Piece sets/cards/market prices |
| riftcodex.com | Riftbound sets/cards/images (no prices) |
| PriceCharting | Sealed + graded prices, non-Pokémon card prices |
| Limitless TCG | Tournament meta deck data |
| Pokellector | Japanese set logos |
Next Steps
- Using Rarebox? Start with Getting Started
- Contributing? Jump to Development Setup
- Understanding the code? Read Project Structure