Loading cards from inventory database...
No cards match your current filters
{{ card.card_name }}
Saved Decks Gallery {{ savedDecks.length }} Saved
Browse your decks or create a new one. Mark decks as Built or Not Built to track cards.
No Saved Decks Yet
Build a custom deck from your inventory or paste a decklist from OPTCG Sim!
{{ d.name || 'Untitled Deck' }}
{{ d.leader_name || (d.leader && d.leader.card_name) || (d.leader_id ? d.leader_id : 'No Leader') }} ({{ d.leader_color || (d.leader && d.leader.card_color) }})
⚠️ Shares cards with {{ getCompetingDeckNames(d) }}
You only own enough copies to have one deck physically assembled. Swap cards when playing or make this deck primary.
Deck Cards (Leader + Main Deck)
{{ currentDeck.leader.card_name || currentDeck.leader.card_id || 'Deck Leader' }}
{{ card.card_name }}
This deck is currently empty
Click "Add / Browse Cards" to select cards from your inventory or paste a decklist from clipboard.
Complete Deck!
All 51 cards (Leader + 50 Main) in this decklist are in your collection.
Deck In Progress ({{ totalDeckCardCount }}/51)
You own all selected cards so far. Add cards until you reach 1 Leader and 50 Main cards.
Cost Curve Distribution
Storage & Inventory Center
Organize physical card storage boxes, track cards allocated to active decks, identify deck shortages, and mass buy unowned cards on TCGPlayer.
Scanning physical deck allocations and storage...
{{ c.card_name }}
{{ c.card_id }} • {{ c.set_id === 'P' ? 'Promo' : c.set_id }} • {{ c.card_color }}
No Cards Currently in Built Decks
You currently have no built decks allocating physical cards, or no cards match your search. Mark any deck as "Built" in the Deck Builder to allocate your physical cards here.
Calculating missing copies across all saved decks...
{{ c.card_name }}
{{ c.card_id }} • {{ c.set_id === 'P' ? 'Promo' : c.set_id }} • {{ c.card_color }}
No Deck Shortages!
You own all physical copies required for your current decks. Want to explore cards you don't own to build new decks?
Loading unowned cards catalog...
{{ c.card_name }}
{{ c.card_id }} • {{ c.set_id === 'P' ? 'Promo' : c.set_id }} • {{ c.card_color }}
No Unowned Cards Found
No unowned cards match your current search and set filters. Try clearing your filters or searching another set.
Collection Progress by Set
Click any set below to instantly view your owned cards in that set!
Backup & Restore Collection
Export your personal inventory and decks as a JSON file, or restore from a backup.
TCGPlayer Mass Buy Checkout
{{ massBuyModalCards.length }} cards • {{ massBuyModalCards.reduce((s, c) => s + (c.quantity || 1), 0) }} total copies • Est. Total: ${{ massBuyTotalValue.toFixed(2) }}
1. Click the golden Open TCGPlayer → button to open TCGPlayer Mass Entry.
2. Click into the Mass Entry text box and press Ctrl+V (or Paste) to paste your exact list.
3. Click Submit List / Add to Cart to purchase with your exact selected quantities!
{{ selectedCard.card_name }}
{{ selectedCard.card_set_id || selectedCard.card_id }} • {{ selectedCard.set_name }} • Block {{ selectedCard.block_number }}
{{ selectedCard.card_text || 'No effect text' }}
Alternate Arts & Printings Tracker
Total Copies: {{ modalTotalCount }}Allocated in Decks
Manage Storage Containers
Edit, rename, or delete storage containers. Deleting reverts cards back to their set box.
{{ loc.card_count }} unique cards ({{ loc.total_copies }} total copies)
Import Decklist from Clipboard
Paste your decklist below (compatible with OPTCG Sim, Limitless, and Bandai TCG+ export format):
Physical Card Conflict Detected
Deck "{{ conflictModalData.targetDeck?.name }}" needs cards that are currently inside other Built decks.
You only have so many physical copies in your collection. You cannot physically play both decks at the same time without swapping cards or buying more copies:
Physical Card Swap Checklist
To play "{{ cardSwapModalDeck.name }}", pull these cards out of other deck sleeves:
Select Leader Card for: {{ currentDeck.name }} Select Cards for Deck: {{ currentDeck.name }}
Click "Set as Leader" on any Leader card below to swap your deck leader. Deck Total: {{ totalDeckCardCount }} / 51 Leader: {{ currentDeck.leader.card_name }} ({{ currentDeck.leader.card_color }}) No Leader yet
Loading cards...
No cards found matching your filters.
Try clearing some filters or searching for a different card name.
{{ c.card_name }}
Sign In to OPBinder
Save and sync your collection across all devices
Browse all 2,800+ cards, search, filter, build decks in memory, and view set statistics without an account.
Sign in to save your personal owned cards, custom decks, and box allocations securely to Cloudflare D1.
Standard OAuth 2.0 flow. No mock sessions or passwords stored.
Account Profile Google Account
Synced via Better Auth