Everything you need to know about tracking your Pokémon TCG collection with TCG Ledger.
What does TCG Ledger do?
TCG Ledger is a portfolio tracker built specifically for serious Pokémon TCG collectors. It goes beyond a simple spreadsheet — it tracks your real cost basis, live market value, grading work-in-progress, and realized gains across every card and sealed product you own.
Who is it for?
Anyone who treats their collection as an investment. Whether you're building Master Sets, running sealed rips, sending cards to PSA, or managing a Pokédex collection, TCG Ledger gives you a single source of truth for your portfolio's financial performance.
What can I track?
Everything: sealed products (booster boxes, ETBs), raw singles, graded slabs (PSA, BGS, CGC), cards in transit at a grading company, Master Sets, Pokédex slots, and custom Pokémon collections. Each item carries a full history — purchase date, cost basis, market price, sale details, and platform fees.
What is the Pokédex feature?
The Pokédex lets you pick one card to represent each of the 1,025 Pokémon species. It's your personal showcase of the best or most meaningful card you own for each Pokémon — a living binder in your portfolio.
Where is my collection data stored?
All your data is stored in a private PostgreSQL database hosted on Supabase — a secure, cloud-hosted database platform. Your data never leaves that database except when you're actively using the app.
Is this a shared database?
No. TCG Ledger runs on a dedicated, private Supabase instance. It is not a multi-tenant shared database — your data is isolated and not co-mingled with any other service or application.
What data does TCG Ledger store about me?
TCG Ledger stores your email address (for login), and the inventory data you enter: item names, purchase prices, sale details, card identifiers, and market prices. It does not store payment information, and it does not share your data with third parties.
Can I export my data?
Yes. The Reports page lets you export a full CSV or PDF of your sales history and P&L for any date range. Full data portability is a core principle of the app.
Where do market prices come from?
Prices are pulled from multiple sources depending on item type. Singles use the pokemontcg.io API as the primary source, with JustTCG as a fallback for cards not covered there. Sealed products (boxes, ETBs) use TCGCSV, which mirrors TCGPlayer's market pricing. Graded slabs use PriceCharting, which aggregates recent sold listings for graded cards.
How often are prices refreshed?
Prices update when you tap the Refresh Prices button in the app header. Each refresh fetches current market data for all active items and saves a timestamped entry in your price history, which powers the portfolio chart's historical view. The 'Prices as of' indicator at the top of the dashboard shows when prices were last refreshed.
What is the eBay price source?
eBay sold-listing integration is in active development. It will provide a real-time, transaction-backed price signal — especially valuable for graded slabs and high-end singles where TCGPlayer volume is thin. Once live, it will be available as an additional source alongside the existing providers.
What if a price looks wrong?
You can manually override any item's market price directly in the inventory list. Items with a manual price (marked with a pin icon) are skipped during automatic refreshes, so your override is preserved until you clear it.
How does cost basis work for sealed rips?
When you rip a sealed product, TCG Ledger allocates your total purchase cost across the hits you pull. Each pack hit becomes its own inventory row with a proportional cost basis. The difference between what you paid and the total market value of the hits is recorded as your realized opening loss — giving you accurate P&L at tax time.
How is my data protected?
TCG Ledger uses Supabase Row Level Security (RLS) on every database table. RLS is a database-level enforcement mechanism — not just application logic. It means that even if there were a bug in the app code, the database itself would refuse to return anyone else's data to your session.
What is Row Level Security?
Row Level Security is a PostgreSQL feature that attaches a security policy directly to each table. Every policy in TCG Ledger checks that the requesting user's authenticated ID matches the user_id on the row. A query asking for all inventory items will only ever return rows owned by the signed-in user — no exceptions.
Is the app key safe to be in the browser?
Yes. The key embedded in the app is a 'publishable' key — it grants access to the database API but cannot bypass Row Level Security. It is the standard pattern for Supabase web apps. All actual data access is controlled by your authenticated session and the RLS policies, not by the key itself.
Is my password stored by TCG Ledger?
No. Authentication is handled entirely by Supabase Auth. TCG Ledger never sees or stores your password — it only ever receives a short-lived JWT (session token) after you log in, which is used to prove your identity to the database.
What happens to my data if I delete my account?
All inventory items are linked to your account with a cascading delete constraint. Removing your account from Supabase Auth will cascade-delete every row across all tables associated with your user ID.
Still have questions?
Use the feedback button inside the app to send a message directly to the TCG Ledger team.
Back to my collection