CARD//LEDGER is a buy, sell and profit tracker built for people who flip Pokémon — raw singles, graded slabs and sealed product in one ledger. Live prices, real fee math, and a P&L that tells you the truth instead of what you paid.
Most collection apps stop at "here's a checklist." This one follows the money — what you paid, what the market says now, what the fees eat, and what actually landed in your pocket.
Every English set from Base through the newest release, wired to the Pokémon TCG API. Filter by set, jump straight from a search result to logging a purchase.
Set the price you'd actually pay. Raw values refresh on their own and the row lights up the moment a card drops into your zone — then buys straight off the watchlist.
PSA, CGC, BGS and SGC with the full grade ladder, cert numbers, and one-click cert lookup on the grader's own site. A PSA 10 is not a raw NM and the ledger knows it.
Booster boxes, ETBs, bundles, blisters, tins and cases — with pack counts, seal condition, and an Open button that moves a box out of held stock when you rip it.
eBay and TCGplayer percentages plus flat fees are applied the second you record a sale, on top of shipping and supplies. Every number you see is take-home, not sticker.
Realized profit by month, ROI per card, average hold time, best and worst flips, and a running sales log you can filter to the last 30, 90 or 365 days.
Log a buy at a card show on your phone and it's on your desktop a second later. No signal? It keeps writing locally and catches up when you're back.
One button dumps the whole ledger to JSON, one button reads it back. Nothing is locked in and nothing is held hostage.
Type a name, pick the set, and you get artwork, variants and live market prices side by side. Comps links drop you into eBay sold listings, TCGplayer and PriceCharting pre-filtered for that exact card, grader and grade.
A $300 sale on a $180 card is not $120 of profit. Subtract the venue cut, the flat fee, shipping and supplies, and you get the real figure. That's the only figure this app shows you.
No install, no app store, no credit card. Pick a username, pick a password, start logging.
A username and a password is the whole signup. No email, no verification link, nothing to confirm. Your device remembers you after that.
Search the card, pick the grade, type what you paid. Sealed and hand-entered lots work the same way. Watch anything you're still thinking about.
Mark it sold, pick the venue, and the fee math runs itself. Reports update instantly and the flip lands in your history.
Yes. There's no paid tier, no trial clock and no card on file. Card prices come from the free Pokémon TCG API. Graded and sealed pricing can be automated with a paid PokemonPriceTracker key if you have one — paste it in Settings — but without it you just type those values in yourself and everything else works the same.
Straight answer: your password keeps other people out of your Pokédex in the app, but this is a hobby tracker, not a bank. Everything lives in one shared Firebase database and it is not encrypted end to end. Don't put anything in here you'd mind someone else eventually seeing, and hit Export JSON now and then so you always hold your own copy.
Signup shows you a one-time recovery code. Save it somewhere. With your username and that code you can set a new password yourself from the sign-in screen. Without it there's no email on file to reset against, so the account is gone — that's the trade for not asking for your email.
It's built phone-first. Add it to your home screen from the browser share sheet and it opens full-screen like an app. Tables collapse into cards, modals slide up from the bottom, and it keeps working with no signal — writes queue up and flush when you reconnect.
That's the point. A PSA 10 Charizard, a raw NM Pikachu and a sealed booster box all sit in the same inventory with the right pricing behaviour for each. Sealed lots track pack counts and seal condition, and get marked opened rather than sold when you rip them.
In Firebase Realtime Database, with a mirror in your browser's local storage as the offline fallback. Every write goes to both. Open the same account on a second device and the two ledgers merge rather than one overwriting the other.
Pick a username, log your first card, and find out whether you're actually up.
| Card | Bought | Sold | Held | Invested | Net returned | Realized P&L | ROI | Avg hold |
|---|