Everything that can go wrong has a button that fixes it, inside the app.
We are one developer. Rather than run a help desk badly, we built the app so the things that actually go wrong resolve on the screen where they happen — a wrong match, a price that looks off, a scan that will not read, cancelling, and getting your money back. The cost of that should be said out loud: there is no inbox behind this page. So, the buttons.
Every result has a wrong card? control. Tap it, pick the right card from the list or search for it, and your card is corrected on the spot — in your collection too, if you had saved it. Nothing is queued and you are not waiting on us.
The correction is also filed, without a message box and without anything identifying you: what class of problem it was, and which card it should have been. Those reports are grouped by card and worked through in a weekly batch, worst first — which is why the button is worth pressing even after you have fixed your own card.
The app tells you why rather than shrugging. Glare, blur, a partial crop, low light and "no card in frame" are detected separately and each gets its own instruction, shown live while you retake the shot rather than in a dialog after it. What usually does it: move the card out of direct light or tilt it so the reflection slides off the face; fill the frame, all four corners inside, straight on rather than at an angle; hold still for a beat. Penny sleeves and toploaders are the normal case, not the edge case — only a sleeve scuffed enough to fog the text is worth removing.
When the read is close but not certain you get a short ranked list of real candidates with pictures, and you pick. That is not a failure — it is the app declining to guess at you. And if a card will not read at all, there is always manual entry: type the set and the collector number and carry on. It costs you nothing either way — scanning is free and unlimited, nothing is metered, and a failed or corrected scan is not counted against anything.
Every value carries where it came from and when it was fetched — for example tcgplayer via tcgdex · as of 2026‑08‑18. That line usually explains the gap:
If the number is still wrong, the same button files the price looks wrong against that exact card. One thing we will not do, in an inbox or anywhere else: tell you what your card is really worth. What condition a card is in, and whether it is genuine, are questions for a professional service rather than for a camera.
Settings → your plan, one screen, a button labelled cancel. No retention screen, no form, no email. On iPhone and iPad the App Store's own subscription sheet opens over the app — you do not leave. On Android the button opens Google Play's subscription screen, where the cancel button lives: Android has no way to cancel from inside an app, so that hand-off is the whole process, and we would rather say so than pretend the platforms work alike.
Either way, cancelling stops the renewal and you keep what you paid for until that term ends. Then your collection becomes read-only — not hidden, not deleted: you can still see it, search it and export it to CSV, and scanning stays free and unlimited. Only adding new cards past the free hundred is paused.
Settings → your plan → how refunds work is one screen. What it can do depends on which store took your money, and we will not claim a number that only holds on one of them.
iPhone and iPad: the App Store takes the money and issues the refunds; there is no way for a developer to refund an App Store purchase and we are not going to imply otherwise. One tap in the app opens Apple's own refund request, on the right purchase. Apple decides, usually within two days, and tells you directly; your plan keeps working until it does. When Apple asks us whether to contest a request, the answer this app is built to give is no, every time, with nothing attached. If Apple has already decided on that payment it will not take a second request — the app says so plainly rather than showing you an error.
Android: here we can act, so we do. Within 30 days of a charge, one tap and we refund it ourselves — the whole payment, no questions and nothing to send us, once per store account per year. The money goes back the way it came, usually within a few days. Your plan ends when the refund goes through; your collection does not, and nothing is deleted. Google also runs its own self-serve refund path in the first 48 hours, and the app deep-links you to it. Outside our window the app gives you the real reason and hands you Google's path — it never says "contact us", because that would be sending you somewhere nobody is sitting.
You pick a reason from a short list when you ask. It does not change the decision — we read the reasons in aggregate, to see what we keep getting wrong.
My subscription vanished. Your plan lives with your App Store or Google Play account, not with us. There is no login here and nothing to remember: on a new device with the same store account it comes back by itself, and there is a restore a purchase button as a fallback. What it cannot do is move between an iPhone and an Android phone, because neither store can hand a subscription to the other.
Where did my collection go? It is on your phone and nowhere else — we hold no copy, by design. So it survives a lapsed plan, but not deleting the app or losing the phone unless you have a backup. Export to CSV every so often; it is on the share sheet and always works, paid or not.
Everything else. Your data is on the privacy page, the deal is in the terms, and what we build next is on the roadmap. If something is genuinely broken and none of the above touches it, the support address on our store listings reaches us: it is read, not staffed. A store review is read too, and for a bug it is often the fastest way to get the fix into the next version rather than into a reply to one person.