moonstone · release notes
Release notes
v1.70.393Everything we have shipped, newest first. Each entry is dated the day it went live and links to the thing it describes.
535 in the log · since August 11, 2026
November 202651 shipped
Three free binder pages a day
A free account can now scan three binder pages a day: one photo of a page names and prices every card in it. Pro still scans up to 50. New sets get a line on the home page from their release day. The scanner page explains binder pages and shop intake on phones too, home tiles say which price they show, the market tape and the species page now agree on each species' move, and the index's list figures say what period they cover.
Lighter research pages and small fixes
The Grade Plays and Daily Tape pages load their past editions faster. On a computer, For shops is listed once instead of twice for signed-in readers. Later pages of the research index open and close like the first, and the price list on a card page keeps your keyboard place when you change pages.
Pages instead of endless lists
Long lists now read a page at a time with one set of page controls: research notes, a set's full card list, release notes, the species ranking, the longer eras on the sets page, search results, your collection and watchlist, the track record and the daily buys ledger. A filtered or paged view keeps its place in the address, so you can share it or go back to it. On a phone the screener now shows its column names once, lines up its figures and fits about twice as many cards on a screen. Behind the scenes, the Moonstone app gets what it needs to show artists, legal pages, Registry Watch and the full buys ledgers inside the app.
New sets in the right place, and a page for the podcast
Delta Reign now sits with the Mega sets on the sets page, marked New, and a new set's chase cards join its price ladder from its first recorded price. The Moonstone Tape has its own page with every episode. The home page shows binder scanning and the week's index move, Sets on the move loads with the page, and the market tape dates its readings. Grading sections print the eBay fee rate, the movers board says which prices it compares, and the research index can be searched by word and category.
A page for card shops
Card shops now have their own page: how shop intake prices a binder page at the buy counter, what is free and what needs Pro, and how to use the Scan API with your own point of sale. It is in the navigation as For shops. Pages on a computer also get their top margin back, and the phone header's Start free button no longer runs past the edge of the screen.
Every research desk in the Moonstone app
The app's Research tab now opens like the site's research page: the eight desks, market reports and every note, newest first. Card of the Day, the Grading Desk, Grade Plays, the Scorecard and the Daily Tape now have their own screens in the app instead of opening the website.
Daily research articles are back on schedule
The research desk's check against repeating its own earlier pieces was stopping drafts for reusing a date range or a price floor, which every piece over the same month has to state. It now looks only at repeated phrasing, so a day's article is no longer held for naming the same dates as yesterday's.
A held article now says why it was held
When the research desk holds a day's article, our monitoring now says whether the drafts were read and turned down, stopped by the fact checks, or never written because the writing service did not answer. Before, all three read the same way.
Price alerts on your phone, and research in the Moonstone app
Watched cards can now send a push notification to the Moonstone app when they reach your target price, alongside the email. The app gains set pages, sealed products, Pokémon indexes, the pack simulator, articles, the screener and the daily and weekly buys, and market reports for Pro members. Deleting your account now also revokes Sign in with Apple, and App Store and Google Play members manage their membership in their store.
A cleaner look for rewards
The points chip in the header, the prize reel and the prize reveal now look like the rest of Moonstone: flat brass and neutral surfaces, the site's own buttons and plain figures, with the glows, light effects and confetti gone. Prize tiers use a quieter set of colours that read in both themes, and the grail slab stands apart by its brass frame rather than a glow.
Groundwork for accounts and Pro in the Moonstone app
The Moonstone phone app can now sign in with email, Apple or Google, save your collection to your account, earn rewards points and offer Moonstone Pro through the App Store and Google Play. Pro bought in the app and Pro bought on the website are one membership. The privacy policy now describes accounts in the app, and the rewards rules now state that entrants must be 18 or older.
Moonstone rewards: earn points and spin the prize reel
Using Moonstone now earns points: scanning cards, building your collection, asking Cynthia, keeping a daily streak and inviting friends. Spend 100 points to spin the prize reel for stickers, Pokémon packs, Pez, plushes, Moonstone shirts, a month of Pro, mystery slabs and one grail slab. Every spin wins something, the live odds are one tap away, and achievements unlock as you go, some of them hidden until you find them. Prizes ship free within the US. Card pages also lead with the Moonstone price and a short explainer of how we reach it, show Cardmarket prices in US dollars for many more cards, including Japanese prints, and show the latest eBay sale when there are too few for a median.
Cleaner buttons and tabs, and the groundwork for Sign in with Apple
Tabs, chips and toggles are now neat rounded rectangles that fit their labels, instead of stretched ovals, and the selected option sits evenly inside its track on phones. Rows of options that scroll sideways fade at the edge instead of cutting the last one off. Behind the scenes, Sign in with Apple is ready and will appear next to Google once it is switched on, and a password reset now always signs out every other device.
Crash reports from the app, and a more precise privacy policy
When the Moonstone app hits an error it can now send us a short crash report, so we can fix problems we would otherwise never see. A report holds the error, the app and system version and the screen it happened on, and nothing that identifies you. The privacy policy now describes these reports and says plainly that questions asked to Cynthia in the app are kept with their answers, without any identifier.
More room to try the Moonstone app
The Moonstone app for iPhone and Android has no accounts, so its readers can now ask Cynthia 25 questions a day, the same as a free account, and send up to 90 scan requests every 10 minutes. The website's signed-out allowance is unchanged.
A simpler cookie card, tidier movers and card charts, and readiness for the app
The cookie choice is now one short card with Customize, Decline and Accept side by side. The movers board uses the same toggles and chips as the rest of the site and keeps its language filters on one row. Card price charts on phones drop the grid for high and low labels, and search shows how far each set moved over 30 days with a readable JP badge. The privacy policy now covers photos sent from the Moonstone app, which are processed and never stored.
A cleaner look on phones: charts, buttons, search and a cookie choice
Every chart now uses one simple range picker that shows only the ranges it can draw, with no shaded fills, and the index chart is taller on phones and colored by direction. Buttons, chips and filters share one quieter style, the collection page tucks sort and filters into a drawer, and Cynthia's start page shows the index and this week's questions. Search now sits above your keyboard, shows recent searches and top movers before you type, and opens and closes smoothly. A new cookie choice lets you turn off our anonymous page counts at any time from the footer.
A calmer home chart and a search box that fits a phone
Your collection's line now follows its recorded prices without swinging past them, with no shaded wash underneath, and the counts read "1 card held" when you hold one. On phones and tablets, search keeps the page still behind it, its prompt is short enough to read, Cancel is easier to tap, and results now show on tablets and phones held sideways.
Cynthia suggests questions from this week's market, and a cleaner home chart
Cynthia's starter questions now come from this week's biggest mover, top grade play and top buy, so they change as the market does. On the home page, the chart's period buttons show only the ranges your history covers and no longer stretch across the screen, the end label is gone, and the pack section has been retired.
The status page no longer calls a held article a disruption
When our article desk holds back a piece that did not pass its fact and style checks, the status page now shows research as degraded instead of disrupted, and the site footer stays quiet. Every page kept working; only a new article was missing.
Cynthia answers off-topic requests without forcing in market data
Asked for something outside Pokemon cards, like a short poem, Cynthia now answers it simply instead of opening with a market statistic, and replies faster. Card and market questions are unchanged.
Each step of a Cynthia answer is timed in our monitoring
Our monitoring now records each step of a Cynthia answer on its own: finding the cards, every data lookup, and the price check. We can see which step was slow or what it returned without rerunning the question. Her answers are unchanged.
Cynthia's conversations are easier to find in our monitoring
Each conversation with Cynthia is now labeled in our monitoring by the question that started it, so we can find and review a thread quickly. Her answers are unchanged.
Cynthia's price check runs on every answer in our monitoring
The check that every price Cynthia quotes comes from our data now also scores each answer in our monitoring, so a rise in unsupported figures shows up on its own. Her answers are unchanged.
Every Cynthia answer reaches our monitoring
Only the first question a server answered was being recorded in our monitoring; the ones after it, and any asked at the same moment, were skipped. Each answer is now recorded on its own. Her answers are unchanged.
A health check for Cynthia's tracing
We can now check from outside whether Cynthia's answers are reaching our monitoring, and why one was missed. A server that has just started also waits a little longer for the monitoring to come up, so the first question it answers is no longer skipped. Her answers are unchanged.
The Moonstone Tape feed, and a landing page for card shows
Our podcast, The Moonstone Tape, now has its own feed and cover art on moonstonehq.com for Apple Podcasts and Spotify. The page our printed cards point to now opens for collectors: scan a card free and see its price, grading math and PSA population. The card shop pilot follows below it.
Cynthia's lists are checked against their counts
Our internal check on Cynthia's answers now also notes when she says how many cards match and then lists a different number of them. It counts for now and changes nothing in her answers.
A fairer count of Cynthia's unsourced figures
Our internal check on Cynthia's answers counts any figure that is not in the data she was given. It now recognizes numbers that come from her lookups, which it had been counting as unsourced. Nothing changes in her answers.
The sets directory keeps up with the set pages
The sets directory now refreshes as soon as the set values are recomputed. It had kept a copy up to a day old, so a set's value and move there could differ from the set's own page.
Movers dates read in Pacific time
The movers block on the home page and the movers board page now date themselves by the site's Pacific calendar. Late in the evening they had been printing the next day's date, and the home page wrote it in capitals.
The three price sources are tabs again on phones
On a phone the TCGplayer, eBay and Cardmarket choices sit side by side again as three tabs. A source with no figure gives its reason in a few words on the tab and in full below. New research desk articles also use shorter captions in their number boxes.
A card's value is the first thing you see
When TCGplayer publishes a market figure without a condition, the card page now shows that figure large at the top of its prices, labeled as a market figure with its day, instead of saying there is no Near Mint price. Sources with nothing to show say why, such as too few eBay sales or a Japanese print Cardmarket does not carry. The Add to portfolio and Watch price buttons are easier to read, and the condition field shows each condition's figure.
Grading math you can reproduce, honest home page figures, and better search
On card pages the grading payoff now compares a graded sale with a raw sale after the same eBay fee, names that fee, and works out the break-even rate from the very payouts it shows. Thin grade ladders are flagged, sparse series are marked, and a price with no stated condition is labeled as such. On the home page the movers show the board's own end price, the index chart names the window of each figure, the news wire drops off-topic stories, and the species index no longer lets one card swing the whole basket. Search shows each card once with a sort and a set filter, collection edits stay on the page, and the scan limits, Pro features and alerts are described the same way everywhere.
A page for shops joining the pilot, and clearer support
The new pilot page explains what a card shop gets from Moonstone today and how to start. The intake page shows its margin and floor settings before the first scan. Support now lists its email address and answers common questions about limits and billing. The 404 page and the site's menus are translated in every language, navigation labels match everywhere, and card images show a named placeholder while they load.
Research desk pieces carry the site's day and describe their lists exactly
A research desk piece is now dated on the same Pacific day as the rest of the site. Its card list always shows every card its sentences count, and a card's fall is called steady only when no single day carried most of it.
The research desk is switched on
The research desk now runs twice a day. A piece publishes only when every figure checks out against our data and it reads as human written on two separate reads; anything short of that is held back.
The research desk reads each piece twice before it can publish
A research desk piece now has to read as human written on two separate reads, each beside different published writing, before it can go out. The desk is still switched off.
The research desk is built, and stays off until its writing passes
A new research desk can write two data pieces a day from our own price and grading records. Every figure is checked against the data, and a separate reader holds back any piece that does not read like a person wrote it. It ships switched off, so nothing publishes until a piece clears that bar and is approved.
Articles and older release notes read with US dates and spelling
Article text now shows dates the US way, such as September 30, 2026, and spells words the US way, such as favors and recognizable, throughout the body and not only in its labels. Older release notes now name their days the US way too.
November 202651 shipped
US dates everywhere, four sets get their values back, and days hold through midnight
The daily brief, its archive and the release notes now write dates the US way, such as October 30, 2026. The buy lists, the ETB page and the research desks no longer use dashes in their sentences. Four sets that showed only a card count on the all sets page, among them EX Team Magma vs Team Aqua and Team Up, now show the same value as their own pages, and Legendary Treasures is filed under Black & White instead of Other. A page cached before midnight Pacific keeps the day of its own data instead of moving to the next day, /movers now leads to the movers board, a slow database answer shows an error to retry instead of a missing page, and the card page loads one main card image instead of two.
The all sets page keeps its moves through an update
The all sets page no longer loses its 30-day moves for a day when the movers board is being rebuilt. It rebuilds the board itself when it finds an outdated one, and if that takes too long it refreshes within minutes instead of holding an empty page for a day.
Rule changes reach saved pages at once
The movers board and the set notes now record which version of their rules built them, so a change to those rules shows on the site as soon as it ships instead of after the next nightly rebuild. The research desks, the recorded data section and the price table on card pages write their dates as dates, and article labels use US spelling.
US dates everywhere, prices that fill in, and steadier set charts
Every date the site writes now reads as a date, such as November 1, 2026, on card pages, reports, screeners, research and the brief archive, and English copy uses US spelling. A search that runs out of time for prices fills them in a moment later instead of leaving rows unpriced. Set values under ten dollars show cents, the movers board ranks only sets with at least ten priced cards, and a card whose recorded price jumps and returns no longer shakes its set's chart. A card our eBay feed does not cover no longer shows errors, and a few card addresses spelled the other database's way now open the right page.
A current movers board, dated tables, and tighter limits on background work
The sets on the move board on the home page rebuilds as soon as the day's set values are written. Set advisor notes refresh with their chart. Graded tables, set tiles and pack quotes state their dates as US dates, the payoff chart says why a grade has no price, and a printing page states its registry day before it finishes loading. Background work asked for by a public page now runs only for cards and sets we hold, so stray requests can no longer crowd out real work.
Set summaries from today's chart, and a dated movers board
The advisor notes on set pages are rebuilt from the same chart the page draws, so they no longer quote an old peak or a move from before September 7. The sets on the move board on the home page refreshes each day after set values update and says which day it shows. A card whose price history switched between two sources no longer makes its set's chart jump, and the nightly price record now takes each card's figure from one source. Graded tables show the last sale for every grade with sales, dates read as US dates, and a card our eBay feed does not cover says so instead of reporting the feed as down.
Set charts measured one way from start to finish
Set value charts now begin on September 7, 2026, when today's pricing rule started, so a set's high, its distance from that high and its trends compare like with like instead of reaching back into an older method that priced each card at its dearest printing. Trends that need more history than that stay blank until it exists. Each card in a set's value is counted at the price its own page shows.
One date per price, a steady page, and a faster search
A card page shows the same dates when it loads as the server wrote, so nothing changes under you, and a price that two sources agree on is stated once with one date. Negative figures in older reports and articles use a proper minus sign. Searching with a star symbol finds star cards, and search no longer pauses while a new server builds its index. Species pages show the same 30-day move as card pages, and the health page reports a run that is still going as incomplete instead of red.
Set value charts end at the set's published value
A set's value chart is now built from the same cards and the same prices as its headline, so the newest point on the chart always matches the value at the top of the page. Charts written under the old rule are rebuilt the same day. The set panel on card pages writes the sign of each move in the text, and set pages show the reader's date.
Pacific dates, honest set values, and one Shadowless price
Every date on the site is now the Pacific day, so evening visitors no longer see tomorrow's date, and one price carries one date. Set value histories count only prices we publish, so a refused figure no longer lifts a set's chart, and the set panel on card pages matches the set page with its date and stale flag. Cynthia quotes the page's price for the Shadowless Charizard and the page's graded sale counts, and the duplicate Shadowless entry now opens the Shadowless printing page. A listing that has come down shows as last listed, not asking now. Negative figures use one minus sign, small buttons are easier to tap, and card insights answer quickly even on a first visit.
Set values every day, matched Cardmarket prices, and one price per printing
Every set's value now updates daily, and a value older than two days is dated instead of called today. A price we refuse for sitting far above every copy listed stays refused after the listing comes down. Cardmarket figures are checked against Cardmarket's own catalog, so a star card is no longer priced as the plain card of the same name. Printing pages state the selected printing's price everywhere on the page, eBay counts say which window they cover, the sold chart has dates, and unreleased sets say when they go on sale.
October 2026327 shipped
One typeface for figures, and a lighter sets page
Figures and small labels across the site now use the same type as the rest of the page, with evenly spaced digits, instead of the old terminal font. Section labels start with a capital. The all sets page is lighter to download.
Set, sets, research, species and movers, redrawn
The set page leads with its value and chart, draws its history, cost split, chase cards and pack odds as pictures, and folds its long lists. All sets are grouped by era with value bars. Research leads every note with its key figure. Species pages show their cards as price bars, and both movers boards draw each move as a bar. On a phone the sets list is a seventh of its old length and research a sixth.
Calmer labels everywhere, and phone fixes
Section labels across the site are now plain sentence case in the page's own type, not small spaced-out capitals. On phones, the set page's history strip no longer runs its figures and dates together, the screener shows each card's full name, and the set page's tables fit the screen.
The card page, drawn instead of listed
The card page now shows its numbers as pictures. Condition prices are bars on one scale, asking prices sit on one line beside the Near Mint quote, every eBay sale is a dot on a chart (even when there are too few to quote a price), the market read is a set of tiles, grading is a payoff chart for a 10, a 9 and an 8, and PSA's population is one bar split by grade. The full record of every figure is folded at the bottom.
Cardmarket prices straight from Cardmarket
Cardmarket prices now come from Cardmarket's own daily price guide, a day fresher than before. Cards that showed no Cardmarket figure are being matched to their Cardmarket listing over the next two days, which should take coverage from about 92% of English cards to about 97%.
Search never waits on a slow price
If looking up prices takes longer than usual, search now shows its results straight away and fills the prices in a moment later, instead of holding everything back for up to two and a half seconds.
Search answers faster, every time
About one search in fifteen used to stall for over a second while it looked up prices for cards listed under two entries. That lookup now makes fewer trips to the database and races a second copy of any trip that stalls, so a search lands in well under a second.
The whole card page, polished
The rest of the card page now matches the new price panel. Headings read as titles instead of shouting in capitals, sections no longer draw a box inside a box, the market read's badge is a simple dot and word, the report's verdicts are quiet chips, and the recorded data table is easier to scan. A young set's missing trends now share one line instead of three.
Cardmarket prices for more cards
Where our first Cardmarket source has no price for an English card, we now ask PokemonPriceTracker, and the card page says which one the figure came from. The first pass fills in over the next few days.
A cleaner price panel, with each source's logo
The card page's price sources are now one comparison strip: TCGplayer, eBay and Cardmarket each show their logo and figure, and the one you pick is underlined in its own color. Under it, a day the prices share is said once instead of on every row, the asks sit side by side, and every eBay listing is one row you can tap.
Home and card pages arrive lighter
Home sends its market index chart in a packed form that is half the size, with every point unchanged. Card pages wait on about a quarter less styling before they appear. The home masthead, the ticker tape, the desk's tabs and the card page's buttons load their code just after the page is on screen.
Card and set pages fit a phone
On a phone, the card page's research, set and species sections now fit the screen instead of running off its right edge. Add to portfolio and Watch price are one row of matching buttons. The top cards for a Pokémon show whole cards, the set and species panels no longer repeat their own headings, and the free account box lost its empty space. On set pages the pack simulator's chart fits a narrow screen.
Every page waits on less styling
Each page now loads only the styles it uses before it appears, so home waits on about 40% less than before. Cynthia's peer comparisons in the evening now end on today's date, not tomorrow's.
Card pages and home load less code up front
Home and card pages now load about a quarter less code before they first appear on a phone. Sections further down the page start working a moment later, after the page is already showing. The insights panel is back on every priced card.
The card insights panel agrees with the page
The signals panel on a card page now reads the same 30 day move, all time high and listing count as the rest of the page, and on a 1st Edition or Shadowless page it describes that printing. Species pages and the species drawer leave out any card whose price is held back, and a market report built on a price we no longer publish is rebuilt.
Faster answers across the site, and no withheld price on set pages
The site now runs beside its database, so pages, search and the scanner answer sooner, and search fetches prices in fewer steps. Set pages and their chase lists leave out any card whose price is held back, and price charts never plot an asking price as a sale.
Bigger tap targets everywhere, and Cynthia dates match the page
On a phone every button, pill and link is now at least 44 pixels tall and no text is smaller than 12 pixels. Pages paint before their web fonts arrive, search never waits long on a slow moment, and the public screener loads from the edge. Cynthia states the same quote date the card page shows, never quotes a graded price the page holds back, and starts answering sooner on harder questions. A card whose standard printing has no market price now opens on that printing with the reason, never on a parallel printing's price.
One figure per price on every card page
A card page now states the same figure for the same price everywhere it appears: the title, the panel, the write up and the price history. A graded price that sits out of line with its neighbouring grades is held back with the reason, a printing's page shows only that printing's graded sales, and a price the listings contradict no longer appears anywhere. A slow research rebuild no longer puts a disruption notice on every page.
New sets appear on their own, before release
A new English set now joins the catalog the night TCGplayer lists it, with its cards searchable and its set page live ahead of release day. Prices follow at release, and each card joins the scanner the morning after its artwork appears.
Species cards fit on a sideways phone
The species card strip that opens from the home page fits on a phone held sideways again, with no scrolling, now that its labels are larger.
Slabs read their grade on every grader's scale
The scanner now reads the grade off PSA, Beckett and CGC labels on their full scales, including the low grades, and a label's 1st Edition or Shadowless line picks the printing. A slab photographed upside down is read the right way up.
Faster pages and bigger tap targets
The home page and card pages paint their art and prices in the first frame on a phone, and search answers sooner. Every button and link is at least a comfortable thumb's width, and no text is smaller than 12 pixels.
Each printing has its own page, and thin markets say so
A 1st Edition or Shadowless copy now has its own address, title and share image. A Near Mint price that rests on one listed copy, or sits far above the Lightly Played price, is labelled a thin market with the evidence beside it. eBay sold figures count only listings titled as that printing, and box and pack prices show the day they were quoted.
One set of plan limits, stated everywhere
Every page now states the same daily Cynthia allowance the server applies. Locked Pro screens show a blurred preview under the real count, and the screener on a phone is a compact list you can tap straight through.
Cynthia answers sooner and names the card
Cynthia starts writing sooner after looking something up, names the card behind every price, quotes the same graded figures the card page shows, and states dates on the site's own day. A link always goes to the card its label names.
A new card page: every platform's price in one place
Card pages open on one price panel. Pick raw or graded, then TCGplayer, eBay or Cardmarket, and each shows its own price, its source and its date side by side. Every eBay listing is a tap away, with filters and pages instead of an endless scroll. The price chart plots every recorded point for each platform. The buy or sell read and the market report sit right under the prices, and a section bar jumps to anything else on the page.
A side menu on desktop
On a wide screen the site now has a side menu you can collapse to icons, and it remembers your choice. Search opens from it with Cmd K. Phones keep the bottom tab bar.
Search finds sets, and slabs read their grade
Searching a set's name, like Pokemon 151, now shows that set's cards first, and old set addresses redirect to readable ones. A slab whose label names the card now confirms the match, and a slab whose grade could not be read no longer shows the raw price as if it were graded. Bursts of scans no longer fail with server errors.
Graded slabs valued on their real record
A graded copy in your collection is now valued on the deepest sales record we hold for its printing and grade. A 1st Edition Base Set Charizard in PSA 9 had been valued from four sales at $101,475 each; it now reads $60,000 from 62 recorded sales of that printing and grade. Pages whose data changes once a day now refresh once a day.
October 2026327 shipped
Cardmarket prices start collecting
moonstone now records Cardmarket's daily price guide for about 21,000 English cards, in euros, so card pages can compare it with TCGplayer and eBay. The new card page that shows it is coming next. A collapsible side menu for desktop is in testing, and the sign in link on the home page now returns you to the home page.
A better look inside Cynthia
Every answer Cynthia gives is now recorded step by step, from the data she was handed to each tool she used, so a wrong figure can be traced to its source in minutes. Nothing about her answers changes, and nothing that identifies you is recorded. The footer's add as a preferred source button now carries Google's logo.
A cleaner binder scan
The binder scanner no longer shows a warning about pixels per card or a line of page measurements after each scan. Neither told you anything you could act on. Scanning works exactly as before.
Scans answer faster
The scanner does the same work with less computing: it reads a card's number once instead of twice, scores candidate numbers without redoing work, and starts the close-up read of a card's footer as soon as it knows it will need one. Every answer is the same card it was before; it just arrives sooner.
Pages load lighter
Every page now downloads only the words and styles it actually shows. The code every page shares is about a fifth smaller, the home page sends 34 KB less and a card page 15 KB less, so pages start drawing sooner on a phone connection. Nothing on screen changes.
Graded prices keep a card's real rally
When a card's graded sales jump and every grade moves with it, those sales now count toward its price instead of being thrown out as outliers against years of cheaper history. Torchic Gold Star is the case that showed it: its PSA 8 and PSA 9 sales from this autumn were being cut, so its grades read out of order. Now every grade we publish for it climbs with the grade, and a grade with only two recent sales shows those sales rather than an old price.
Upside down scans read, the price follows the printing you picked, and a correction
The scanner reads a card photographed upside down instead of giving up, and the headline price is always the printing and grade highlighted under it: pick Reverse Holo or 1st Edition and the big number changes with it. A 1st Edition stamp no longer decides whether a card is foil. Our strongest card study now names Core Memory, a Pokemon Tool whose Geobuster prints 350, as the biggest damage number in English; Zacian V-UNION's 340 is the biggest printed on a Pokemon card itself.
Vintage slabs priced by their printing, and Cynthia never answers out of turn
A 1st Edition slab in your collection is valued from that printing's own sales record: Base Set Charizard 1st Edition PSA 9 now reads about $60,000 on 62 sales instead of $101,475 on four. Cynthia's reply always lands under the question it answers, an Unlimited ask gets the Unlimited price, and Japanese card names resolve again. Card pages show one date and one price per figure, label asks as asks, and stop showing a trading profile for a card with no current price. A single graded sale far above everything the grade below it sells for no longer prints as its last sold price. Search stops showing the last query's cards under new words, and /card/sv01-1 opens the card instead of a 404.
Slab prices, and the tickers move on phones again
Scan a graded slab and the price shown is that grade's sold price for the printing you scanned, or a plain no graded price when we hold none. It never shows the raw card's market price as if it were the slab's. On phones the home page tickers scroll again, the sets on top and the Pokemon indexes beneath, as they do on a computer.
Pages paint sooner, and promo photos are sharp
Every page used to wait for one stylesheet that carried the styling for the scanner, the developer pages, Pro, sign in, support and more. Those now load only on their own pages, so the stylesheet every page waits on is about a fifth smaller, and the body font no longer competes with it on a slow connection. Promo cards whose photo came from TCGplayer at 200 pixels now show the full size photo.
The QA list, cleared
Morning Pull writes its letter again: the writer had been timing out since it moved to a new model, and the fallback edition no longer talks about our fact check. Cynthia quotes only figures our data holds, asks which card when a message has no words, keeps the price index for market questions, gives one reason when she declines a call, and Pro is stated as 300 questions a day everywhere. Card pages keep the printing you picked in the link and the tab, show that printing's own photo where it has one, add the English name to Japanese cards, and a free reader no longer sees a signal that contradicts fair value. Set pages live at readable addresses, and old links redirect. The screener names the printing each price is, finds sets by any word, shows the real count behind a locked preset and nothing else, and its movers screen ignores thin markets. Watch targets already met say so, dates follow your own time zone, collection gains count only copies with a cost, and the home page and search are lighter on phones.
Cynthia stops matching on one shared word
Cynthia no longer answers a question about Black Lotus with Black Belt: a card must match most of what you typed, not one word of it. Asking about a bare collector number like 199/165 now finds the card, a special illustration rare that was not in the first search results is found before Cynthia says it does not exist, the grading ladder appears once per conversation, and the market index line only shows when you ask about the market. On card pages the all time high is never below the price shown, and the card insight reads the printing you are looking at. Searching torchic star now finds Torchic ☆. Collection buttons line up on phones, small links are easier to tap, and set and screener counts are labelled plainly.
Cynthia finds the printing you asked about
Ask Cynthia for an alt art, a reverse holo or a 1st Edition and she answers for that one: Mew VMAX alt art is the 269, not the rainbow 268, and 151 Bulbasaur reverse holo is the 151 card, not a Costco promo. A short follow up like and 1st edition? stays on the card you were asking about. A 1st Edition or Shadowless run is answered from its own graded sales, with the last sale shown where there are too few to quote a median, and every 1st Edition and Shadowless run in the catalog now refreshes its graded figures each week. At the free question limit the question box moves out of the way of the sign in buttons, and your question is asked for you once you sign in.
Dates that match their prices, and smaller fixes
The time beside a card's price is now when that price was seen, not when our catalog row was last written, and the TCGplayer table no longer calls a dated export today. Cynthia keeps ranges as ranges, so 8 to 15% no longer reads as two numbers, and keeps the space between sentences. On phones the add and edit forms no longer zoom in when tapped, and the site footer only shows a status when everything is running or something is down.
Price confidence now measures the market behind the price
Most card pages showed the same 57 out of 100 price confidence, including a card with one listing and no sellers. The score now reflects how many copies are listed and by how many sellers, how many verified sales back the price, how recently the market moved, how wide the listings run and whether a second source agrees, so a thin vintage card and a liquid modern one no longer score alike.
Cards open on their own printing, not a reprint
Mew ex from Scarlet & Violet 151 opened on a World Championship Deck reprint at $3.92 instead of the card itself at $6.91, and its TCGplayer link pointed at the reprint. Choosing a card's main printing ranked every Holofoil by price alone across every product; a reprint on another product now ranks below the card's own printing, and price only breaks ties.
An old price is no longer shown as today's
When we hold no current price for a card, the page used to fall back to the last figure in its price history, even when that figure was a single sale from over a year ago repeated week after week. The first Pikachu promo showed $159.99 that way. That fallback now applies only when the history saw the market in the last 30 days, and the low-confidence badge no longer sits beside a card with no price.
A price far above every listing is no longer published
Mewtwo Star from Holon Phantoms showed $9,200 as its Near Mint price while the only copy for sale asked $4,750 and recent Near Mint sales ran about $5,600. When the last recorded figure sits well above every copy listed for sale, it is a stale reading of a thin market, so the card page now says so and points to the listings and sales instead. It affects about one card in a thousand, nearly all vintage.
No more asking prices shown as market prices
A printing TCGplayer publishes no market price for, like Base Set Charizard's 1st Edition raw copy, used to show a single listing's asking price as its value: $10,000 on the card page, in a collection and in Cynthia's answers. It now shows no market price. Picking a printing with no price of its own no longer borrows the default printing's figure, picking a condition no longer rescales the price history into highs nobody traded at, and choosing a condition in the add form only changes the page's view when we hold a price for it.
1st Edition and Shadowless slabs get graded prices
Our main graded source holds no 1st Edition sales for cards like Base Set Charizard, so those slabs showed no graded price and a collection valued them at an unrelated raw ask. We now read that printing's sales from our second sales feed, put them through the same checks as every other graded figure, and drop any grade the rest of the ladder contradicts. A graded copy in your collection is now valued from its own grade's sales even when there are fewer than ten, and the tile says how many.
Cynthia's answers no longer lose their opening
Some of Cynthia's answers reached you with the first lines missing, starting halfway through a link, or came back empty. Three filters were cutting correct sentences: one read the question mark in a study's title as the end of a sentence, one did not recognise a printing she had just looked up, and one cut a plain statement that a card is not Pokemon. Each now keeps those sentences.
Cynthia's grading answers use worked figures
When you ask Cynthia whether a card is worth grading, the gap between each graded price and the raw price, the multiple, and what a grade nets after the PSA fee and the eBay selling fee are now worked out before she answers, using the same fee schedule as the rest of the site. She used to do that arithmetic herself and sometimes got it wrong.
Every missing page now has a title
A missing card, a missing card report and a missing sealed product used to open with no page title at all, so the browser tab showed only the address. They now read Page not found, like every other missing page, and still answer with a proper not found status.
Start free in the header, and smaller fixes from QA
The header now offers Start free beside Sign in. A missing page has a title and a search box. The pack simulator's best pull is the most valuable card in the pack rather than the rarest. Set names keep their apostrophes in lower case, the status page title no longer repeats itself, published editions no longer show how many readers they went to, and the API example points at a card that exists.
1st Edition and Shadowless get their own graded prices, and Cynthia runs on a new model
On cards like Base Set Charizard, the 1st Edition and the Shadowless share one TCGplayer listing, and both showed one graded price that came almost entirely from Shadowless sales. Each now shows a price built only from sales of that printing, or says there are none. Cynthia also moves to a model that found the right card more often in our tests, at about a third of the cost.
Fixes from the October QA pass
Cynthia now finds the card in a question shaped like "Charizard ex (151 199)" even when it is long, quotes its PSA 9 instead of saying we do not track one, and no longer stamps a grading question as a buy. The price you paid for a card is checked before it saves, and an emptied price clears. The eBay line on a card page says below when the sold median is under the market. A card with no moonstone read says so, and a locked Pro screen shows its gate rather than the whole catalog.
Card page questions to Cynthia stay on that card
The suggested questions on a card page opened Cynthia without saying which card they came from, so a question about Charizard ex 199 could be answered with another card's prices. They now carry the card with them. And when Cynthia cannot tell which card you mean, she asks you instead of quoting a price.
Morning Pull stops opening and closing the same way
The first letter after the October 25 fix still opened with the same line as the day before and signed off with the same goodbye it had used for weeks. A first line we already sent is now left out, since the headline above it says the same thing, and a repeated goodbye is swapped for one you have not read recently.
Some older browsers see one click before a card
If you open a card page directly on a browser that is more than a year out of date, we now show a single link to the card instead of the card itself. One click opens it as usual. It keeps automated copying, which runs on old browser versions, from loading thousands of cards a day.
The big card picture recovers even when it fails early
The fix in 1.70.283 missed two cases: a picture that failed before the page finished starting up, and a picture whose address changed a moment after the page opened. Both now fall back to the original source, then to the card outline.
The big card picture recovers when it fails to load
On a wide screen, if the large card picture beside the prices failed to load, it could stay a broken image instead of trying again. It now tries the picture from its original source, then shows the card outline.
Morning Pull stops repeating itself
Most mornings this month, Morning Pull carried the same line about checking the earlier price twice, word for word, and several other sentences came back nearly every day too. Each letter is now checked against the last three weeks of letters before it goes out. A sentence we already sent is rewritten or cut, and so is any line that only reassures you the number is real.
A card's rarity stays put once the page loads
On some cards the rarity shown under the card's name disappeared a moment after the page opened, and the header jumped up a line. It now stays.
Card pages open without a placeholder flash
Opening a card page could show a grey placeholder of the page for a moment before the real one replaced it, and the real price band is shorter than the placeholder, so the page jumped as it swapped. The card's rarity also arrived a moment late and nudged the header down. A card page now opens as itself, rarity included.
A card's printings show from the start
On cards that come in more than one printing, such as a normal and a reverse holo, the switcher between them used to appear a moment after the page did and push everything below it down. It now arrives with the page.
The top of a card page holds still while it loads
Two lines at the top of a card page used to appear a moment after everything else, the card's illustrator and its 30-day move under the price, and each one nudged the price band down a line as you started to read it. The illustrator now arrives with the page, and the line under the price is held open until its figure arrives.
Every page downloads a fifth of a megabyte less
Every page carried the site's words in all four of its languages, English, Spanish, Chinese and Thai, which on a phone was one of the largest downloads on the page. Each page now carries English, and a reader who has chosen another language fetches just that one. If you read in Spanish, Chinese or Thai, a page may show English for a moment before your language arrives.
The card picture on a card page arrives sooner
On a phone the card's picture is the biggest thing on a card page, and it was the last thing to arrive: it came from the server that hosts the card art, which took about a third of a second just to start answering, while everything else on the page was already in. The picture now comes from our own site, kept ready close to you, so it appears with the rest of the page.
Card and sealed pages download a megabyte less
The list of our articles that mention a card used to be worked out in your browser, which meant every card and sealed page downloaded our entire research library, 240 articles and about a megabyte compressed, to show you a few titles. On a phone that download competed with the card's own picture. The list is now worked out before the page reaches you, and only the titles travel.
Card pages respond sooner on a phone, and every price in our articles says what day it is from
The price chart on a card page used to replay its opening animation as it loaded, redrawing itself about thirty times in the first second, which on a phone held up everything else on the page. It now appears drawn, and animates only when you change its range or what it shows. Separately, every card shown at the top of or inside an article with a price now names the day that price was read, the day the article was written, so a figure from August is never read as today's. Where our price record and TCGplayer's own feed disagreed on that day, the article now shows both. A handful of sentences that said "today" or "now" beside a figure from weeks ago are dated too.
October 2026327 shipped
A correction to Where the Money Actually Is
The study said Base Set Machamp was the one Base Set card we could not price. It has a price now, about $24 for the only printing TCGplayer sells, and the study says so. That is not enough to change Base Set's place in the ranking.
eBay sales by printing, weekly sold prices, and sale photos at full size
On a card with more than one printing, the eBay section now has a row of printings with their sale counts, and picking one shows what that printing's copies sold for by condition or grade. Those figures depend on how each sale was filed, so they are shown as evidence beside the all printings figures and never as a price. A 1st Edition or Shadowless page opens on its own printing. Under the comparison is a new chart of eBay sales for the grade or condition in view, every printing together and labelled so, week by week back as far as the sales record goes, up to a year. A week's median joins the line only when it holds the same ten priced sales the figures above require; a thinner week is a hollow point, marked as evidence, and the bars count every sale. There is a table of every week under it. Tap any photo in the recent sales list to see the copy that sold at full size, and step through the rest. Every page also shows its text sooner on a phone: sections used to fade in from blank, and a phone could not start the fade until the page had finished loading its scripts, so the home page's words appeared about three seconds after the page arrived. They now slide into place already visible.
The home page is lighter on a phone
The research rail on the home page used to carry every article we have ever published, 242 cards in a row you swipe three at a time, and on a phone that one rail was more than a third of everything the page had to lay out. It now carries the newest 18 and ends on a card that takes you to the full archive. The link to every headline on the news wire is also easier to tap.
Card pages load less in the background, and live eBay listings reach every card
A card page used to make 180 requests to our servers as you scrolled it, because every link that came into view fetched the page it pointed to in advance, whether or not you ever opened it. Links now get ready the moment you point at them, touch them or tab to them, so opening one is still instant, and a page you only scroll past costs nothing. The same card page now makes 77 requests instead of 180. A visitor who is not signed in no longer has their account, membership and collection asked about three separate times on every page; the site asks once. Discussion threads on card pages now load from a copy that refreshes every minute, and your own new post appears straight away. The live eBay listings added in the last release now load for every card; until now they only appeared on cards we had already looked up.
Every card page now compares its price across marketplaces, with what is for sale on eBay right now
The eBay section on every card page now opens with a comparison across marketplaces. For Near Mint on the Raw tab, or for any grade you pick on the Graded tab, it sets our own price, TCGplayer's market price, what the card sold for on eBay and the cheapest eBay listing from a rated seller side by side, in the same columns, and plots all of them on one line so you can see at a glance where the asks sit against the sales. A sale or a market price is a filled mark and an asking price is a hollow ring, because what a seller wants is not what the card sold for, and every row says which printings it covers. Under it is a new list of what is for sale on eBay now, read for you before you see it: only listings that are this card and this number, with reprints from other sets, other languages, fan art, proxies and lots left out and counted, sellers with real feedback first, and every price shown with its shipping. On Base Set Charizard that took 200 listings down to 186, leaving out a Base Set 2 copy and a 30th Celebration reprint that both print 4/102, seven copies in other languages, and a supposed CGC 10 at $297, which asks less than an ungraded copy of the same card. A grade we do not price on the page stays unpriced in the comparison too. Listings refresh at most twice a day per card and are kept between visits, so a card you open has its listings at once.
Search finds the card when you misspell it, and the home page opens on a question
Search now corrects a word that matches no card to the closest word that does, and counts two swapped letters as one slip. Typing chameloen, chameleon or charzard used to find nothing; it now finds Charmeleon and Charizard, and that works inside a longer search too, so chameloen delta finds the delta cards. Delta Species cards can be found by typing delta or the δ sign, whichever way the card spells it, so the English Charmeleon δ from Crystal Guardians and POP Series 5 turns up beside the Japanese ones. A Delta Species card's versions no longer list the ordinary card: the Japanese Charmeleon (Delta Species) was offering Base Set and 151 Charmeleon, which are different cards. Base Set Machamp now has a price. The marketplace sells it only as a 1st Edition card and files it outside Base Set, so our Base Set Machamp was linked to nothing; it now quotes the 1st Edition Holo, with the Shadowless printing beside it. The home page now opens on the question box, with Scan as the second button, a button to create a free account, and the Pro price with its free days. And the status page no longer calls the collection history an outage when the nightly run simply could not price a few cards: it now shows it as degraded and names the cards. The eBay section's sale photos now load at the size they are shown, about 4KB each instead of up to 900KB, which on a busy card made the page almost 2MB heavier than it needed to be. And the Raw tab's recent sales now list raw sales: they were picked out of the ten most recent sales of any grade, and on Base Set Charizard all ten were graded, so the tab said there were no sales right under a median built from 62 of them.
Every card page now shows what that card sold for and is listed at on eBay
Card pages gain a section built on moonstone's own record of eBay sales and live listings. On the Raw tab it gives a median for each condition, including copies whose seller never stated a condition, which on Base Set Charizard is the biggest group of all: 51 sales at a $245 median. On the Graded tab it gives every grading company's grades from 10 down, each with its median or the reason we will not give one. Underneath are the most recent sales with a photo of the copy that actually sold, its grade or condition, how it sold and a link to the listing. Four things are deliberate. Every figure covers all printings of the card, and says so, because the sales cannot yet be split by printing reliably: Base Set Charizard's PSA 9 median of $3,750 mixes the Holo, the Shadowless and the 1st Edition. How sellers tagged their sales by printing is shown as a count, never as a price, because those tags come from the seller's own title. When a seller accepts an offer, eBay hides the price, so those sales say so instead of showing the asking price as if it sold for that, and on popular cards that is most recent sales. And the cheapest live listing is shown with its own title and no buy now pitch: on Base Set Charizard it is a supposed 1st Edition near mint copy for $500, which no real one sells for, and the title is how a reader sees that. This release also fixes the last one. Base Set Charizard's graded cells now show the date of the last sale in full instead of cutting it off, and the PSA 9 row in the grading ladder now leads with its last sale, $3,720, as the previous note said it would. And Base Set Charizard no longer offers the Shadowless printing twice. It is a printing of this card, priced in the printing strip as Shadowless Holo and 1st Edition Holo, and it was also listed under Versions as though it were a separate card, because the marketplace files it as a set of its own. It now appears only as a printing.
Base Set Charizard now shows what it last sold for, and the Pro report says which printings a price covers
The last release promised that a graded grade we will not price would lead with its newest sale, and named Base Set Charizard as the card to look at. On that card it did not. Its PSA 9 and PSA 10 are withheld for a different reason from most: we hold plenty of sales, but the recent ones and the long run disagree too much for either to be called the price, and that kind of refusal was skipping the sale line entirely. It now leads with it there too, which is where it helps most. When two estimates disagree, a single sale from two days ago is not an estimate at all, and it tells you which of the two is current. Base Set Charizard's PSA 9 now reads last sold $3,720, with both disagreeing figures still shown underneath. The Pro report now says which printings a graded figure covers. Some printings share one listing on the marketplace our graded sales come from, so the 1st Edition and Shadowless Base Set Charizard share a single PSA 10 figure of $12,862.50. That number was always right; the report now says it covers both instead of implying it belongs to one. Where we cannot tell which printing a figure describes, it says so rather than staying quiet. The home page quoted two different counts of priced cards as though they were one, about 52,600 at the top and 50,300 lower down, because they counted different things. It now gives one priced count and says what it counts, and the lower figure is labelled as the screener's size. On a phone, the species panel now opens at its full height straight away instead of opening short and jumping when the cards arrive, and in landscape the row of cards fits on screen without scrolling.
A grade we will not price now tells you what it last sold for
When we hold too few sales of a grade to quote a median, the page used to answer with a sample count and nothing else: five recorded sales, and a price needs ten. True, and useless. A median over five sales is an unreliable estimate, but the sales themselves are not estimates, and one of them is the most useful thing you can be told about a grade we will not price. So a withheld grade now leads with its newest recorded sale and the date it sold, and the count and the bar sit underneath as the explanation. On our own tape that reaches 3,642 of the 3,988 PSA 10 grades we currently withhold. One grade is deliberately left out: where the whole record is a single sale, showing it is the same as publishing the median we just refused, so it still shows only the date. Base Set Charizard is the case to look at. Its default printing publishes no PSA 9 or PSA 10 price today, because seven recent sales at $3,480 disagree too much with a hundred and sixty two older ones at $1,499 for either to be called the price. Instead of two blanks it now reads last sold $3,720, two days before the reading. The card screener is the other thing a phone owner will notice. The results were a desk table squeezed onto a phone: the fourth column was cut off mid figure and a card name like Pikachu and Zekrom GX wrapped across three lines, so one row filled half the screen. On a phone the results are now a swipeable rail of cards, one per swipe, each carrying everything the table row carried and two things the phone table had been hiding: the reason a move is refused, and the reason a card has no house call. The desk table is unchanged. The news wire has numbered pages, so the far end of six hundred stories is one tap instead of fifteen, and when the wire cannot be read the page says so rather than reporting an empty wire. Collections got the most repair. A quantity is now checked by one rule everywhere it can be typed, so a sheet row of a hundred thousand copies is refused where you typed it, with the limit stated, instead of being quietly turned into something else. Holdings can be edited and removed from the card page, every copy listed. Adding a card you already hold merges the rows instead of making a second one. Two devices no longer overwrite each other: each change is sent as itself rather than as a replacement for your whole collection, so a row one device never saw cannot be deleted by it. Signing in with cards already on your device keeps them, and where an old row had to be brought into range the page names the card and says what it did. A row also now tells you the condition you recorded alongside the condition the figure describes, which are two different facts and were being collapsed into one. A graded figure that covers more than one printing now says which printings, everywhere it is printed: the card page already did, and the collection, the exported sheet, Cynthia and the scan tray did not. Base Set Charizard's 1st Edition and Shadowless genuinely share one product, so a single PSA 10 figure of $12,862.50 covers both; the number is right and it now says what it covers. The scan tray stops short rather than guessing: a row where you have picked a printing we cannot scope keeps its raw price and says it could not price that grade, where it used to quote a blended figure that was not about that printing at all. And the share image for a card with several printings and no graded figure renders instead of failing.
The status page fits a phone again
The status page drew one column per day and those columns could not shrink, so as the history grew the strip ran off the right edge of a phone and dragged each component's description off with it, cutting sentences mid-word. The columns now shrink to fit and the strip scrolls on its own where ninety days will not fit at all, so the page itself never slides sideways. Nothing about the status it was reporting was wrong: a database check had failed that hour and the page said so, it was just unreadable while saying it.
The scanner shows you the card it found, and a price now tells you what condition it is
The scanner is the big one. It was finding the right card and then refusing to show it to you. When the match was not a confident one the screen said No match found, while the row underneath was holding the correct card and two alternatives all along, and on our own 159-photo test set that happened to 100 of the 157 photos we could score. From today a scan that is not certain asks instead of hiding: it shows the three cards it is choosing between, with their pictures, sets and numbers, and you tap the right one. Nothing is priced and no printing is assumed until you do. On the same test set the number of photos where the right card actually reached the screen went from 50 to 143. Scans we genuinely cannot read, and photos that are not Pokemon cards at all, are still turned away, and they now say which of those two happened. Upside-down photos work, because they were never the problem: the server had read them correctly all along and the screen was throwing the answer away. The confidence percentage is gone, because it was close to meaningless: two values accounted for 46 of 72 scans and one wrong match scored 82. A slab whose label we could not read says so instead of claiming a grade. On the shop sheet, a card we could not identify is still listed as a line rather than quietly dropped from your count, and it carries no figure. Prices are the other change, and it is a change in what we are willing to say. A price was published as a Near Mint price whatever condition it actually came from, so a card with no Near Mint quote on record showed a played quote with today date on it: CoroCoro Mew read $95.30 as a near mint price when $95.30 was a Moderately Played copy quoted four weeks earlier. From today only a Near Mint quote, observed in the last thirty days, is published as a card price. A card without one says what it does hold, with the condition named and the day it was seen, and keeps that figure visible as the answer to what a played copy is worth. Everything in between is printed as a recorded figure whose condition we do not state, rather than labelled as something it is not. Graded prices follow the same principle one step further. A median over every sale we have ever recorded is a true number and it is not today price when the card has multiplied in value, so it no longer leads when recent sales disagree with it. Base Set Charizard was showing $9,980 for a PSA 10 while the last year of sales ran at $23,400; it now shows both figures and says they disagree, instead of picking the older one. A graded figure also still needs ten recorded sales behind it, and that rule now reaches the card screener and the set screens it had missed, where half the PSA 10 column was standing on fewer. The screener had a worse problem: the four Pro screens were serving the entire 52,262-card catalog to anyone not signed in, under a heading claiming a few hundred cards. The count stays free, because knowing that 391 cards carry a stamped buy is the point; the rows are now behind the subscription they belong to. A withheld figure in the table says how many sales it has instead of showing a blank. Asking Cynthia about a card from its own page now tells her which card you mean: on a set with two cards of the same name she could answer about the other one, and on Charizard ex 199 she did, advising against grading from the wrong card prices. The twenty second tour on the home page is gone: tapping it broke the page on mobile every time, so the tour and the library behind it have been removed rather than patched. Typing /terms or /privacy now lands on those documents instead of a missing page. And the pack simulator and set screens now read in Spanish, Chinese and Thai instead of falling back to English.
A graded price now has to stand on ten sales, and typing a card's number finds that card
The graded numbers are the big change. A PSA or BGS median was printed as a price however few sales stood behind it, so a card with three recorded sales carried a figure as confidently as one with three hundred. Measured against an independent source, medians resting on fewer than ten sales were off by 30.7% on average, against 8.4% for those resting on twenty or more. From today a graded median is published only when at least ten recorded sales stand behind it. Below that the page states how many sales we hold and does not give a price, and it says which window it was reading, so a missing figure now comes with its reason instead of a dash. Where the most recent window is too thin we fall back to our own longer window on the same card before we fall back to anything else, which means some cards gained a defensible figure where they previously showed a thin one. The same rule now governs every surface that prints one of these figures: the card page, the daily and weekly buys boards, the teardown, the research pages, Cynthia and the data file search engines read. Two of those were still using looser rules of their own, one of them five times looser, so a figure in the morning letter could disagree with the same card's page. They agree now. Search is the other change a collector will feel immediately: typing a card's printed number with its set size, like 58/102, now ranks the card from that set first instead of burying it under reprints and oversized promos, and the real alternative printings sit directly beneath it. Card results also come first in the search box and on the results page, so the first thing under the cursor is a card. The news feed no longer shows the same story twice under two different headlines, and a set is only tagged on a story that is actually about the hobby. On the watchlist, a page that used to show an empty-looking list while it was still loading now shows a real loading state and, if something goes wrong, says what went wrong with a way to sign in, so an empty list only ever means an empty list. Report pages put the subscribe button at the top as well as the bottom. And on the scan desk, a slab whose label could not be read says it looks graded and the label did not read, rather than calling itself graded, with the grade picker beside it so you can set the grade yourself and price the card from sold comps.
Your collection values every copy honestly, the letter says who sends it, and the small things that were broken are fixed
The collection screen is the big one. A played card used to be valued by guesswork: Lightly Played was assumed to be worth 85% of a mint copy, Damaged 25%, with no quote behind it. That estimate is gone. A played copy now takes a real quote for its condition where one exists and is under a month old, and otherwise shows the Near Mint figure with the condition named, so the number is never pretending to be something it is not. Every copy also records which printing it is, so a reverse holo is priced from the reverse holo and not from the plain card. Each line now says where its price came from and when, and whether it is a gain or a loss against what you paid. You can import a spreadsheet and download one, free, with the price, its source, its date and the gain on every line, and re-importing the file you downloaded updates your collection instead of doubling it. The value chart draws two lines, each named, and says how many of your cards have no daily price and are not on it. You can sort and filter by value, gain, set, printing, condition and more, with a count that says how many of how many you are looking at. The daily letter now tells you who publishes it and where they are, on the web page as well as in the mail, and turning it on asks you once to confirm, so nobody is added without a click. Everyone already receiving it keeps receiving it. Elsewhere: the watchlist no longer throws away a target when you press the keyboard's Go key, and says so if a save fails; the API keys screen fits a phone, with Revoke reachable; card links on set pages are a proper size for a thumb; a change too small to see no longer draws an arrow pointing somewhere; the pricing and signup addresses no longer answer with an error page; report pages carry their own picture when shared; the scan page no longer opens on the Pro desk for someone who is not a member; and the research pages that explain which prices were left out now read in Spanish, Chinese and Thai instead of falling back to English.
A price that was re-listed is not a move, and Cynthia answers faster, cheaper and whole
Four changes from the review. The movers board and the screener's move column counted a card as moving whenever its weekly median changed, and most of the board was prices a seller re-listed rather than cards that sold: 17 of the 20 rows on the live board. A move now needs the recorded price to have changed on more than half of the days compared, the same rule on the home page, the research page, the screener and the morning letter, and every page says how many prices it left out and why. The 30-day, 90-day and 1-year changes were computed two ways on one card page; they now come from one series anchored to one quote, a window the recorded history cannot cover says not enough history instead of repeating the whole tape under three labels, and the all-time-high date is the last day the price was there, everywhere it is printed. Cynthia's frozen instructions are now cached between questions (measured: a repeat question costs about a quarter), each member has a daily spending ceiling that only abuse can reach, an answer can no longer start in the middle of a number, refusals in Spanish, Chinese and Thai are treated as refusals, and the model's name no longer travels to the browser. In the chat itself: follow-up questions you can tap after every answer, a question count that is always visible once known, including on Pro, how-do-I questions about the site answered from a table with a one-tap way to ask Cynthia instead, dated-call links under verdicts, and a composer that clears the phone's tab bar.
The fair-value sweep gets its turn inside the job's five minutes
The first full rebuild after the last release took 204 seconds on the features alone, and the stage that re-scores every fair-value call was skipped for lack of time, so the table was dated today while its calls were still from October 16. Three changes make the pass fit. The 31,440 feature rows are written in batches of a thousand per round trip instead of one hundred rows per commit, which was most of the time. The price lookup stops re-reading, for every chunk of cards, a catalog column it already held in memory, and asks for two thousand cards at a time instead of four hundred; the one fallback that read dropped was never populated, zero of 69,904 rows. And each stage now declares how long it needs before it starts, so a stage that could not finish inside the job's ceiling is skipped and says so, rather than being cut off mid-write. The job's response names the time each read and each write took.
The whole-book rebuild runs again, and a dropped connection no longer stops a read
The previous release made the twice-daily rebuild behind every fair-value call say why it was failing. It said: the database closed an idle connection while two very large reads were still running, and the next read was sent down the dead line and died, on seven runs in a row. Two changes. A read that never got an answer is now simply sent again, because asking the same question twice cannot change anything, while a write is still never repeated. And the two largest reads, which pulled every recorded graded sale in the book to find the latest one per card, now ask the database for the latest row directly: 24 times fewer rows over the wire, and a hundred-odd small follow-up queries that re-fetched cards already in memory are gone. The status line added in the previous release is what says whether the figures behind the calls, the screener and the reports are today's; the job now also reports how long each of its reads took, so the next slow one names itself.
A fair-value call now says which day's figures it was made from
The whole-book figures behind every fair-value call, the screener's graded context and the report percentiles are rebuilt twice a day from one table. From October 16 that rebuild failed on every run and nothing noticed: the job reported a failure in a form that named the query and not the reason, no check read the table's date, and the stages after it stamped today's date on four-day-old numbers. The published record of our calls gained three days that were copies of the first. Three things change. The job now reports the actual cause of a failure, so the next one is fixable the same day. Every figure reduced from that table carries the date of the rows it came from, and a call is only added to the record on the day its figures were built, never re-cut over an older snapshot. And the status page has a new line, report features day, that goes red when the table is more than a day old, when a rebuild stopped halfway, or when the record runs ahead of the data it claims to be built from. The failing rebuild itself is the next release, once the job has named its cause.
A graded price now tells you which printing it is for
Base Set Charizard has four printings worth wildly different amounts, and until today the PSA 10 figure on that page was the same number on every one of them. Pick the 1st Edition tab and you still saw $23,400, which is roughly what an Unlimited copy sells for and about a thirteenth of what a 1st Edition one does. The raw price was always right per printing; the graded one quietly was not. Every graded figure on a card page now says which printing it covers, in the headline, the sentence underneath, the fact table, the grading maths, the share image and the data file. Where two printings are sold under one listing, as Shadowless and 1st Edition are, the figure says it covers both rather than pretending to be one. Where we hold no sold comps for the printing you picked, the page says that and tells you which printing the figure it does hold is for, instead of showing you another printing's number. The 1st Edition tab now has its own PSA 10, $12,862.50 on 18 sales, which was there all along and never reached the page. Cynthia stops opening an answer with a market figure that has nothing to do with your question: asking her about the weather, or about another trading card game, used to get the Pokemon index quoted at you first.
If you sign in with Google, asking for a password reset now tells you so
Asking to reset your password always answers the same way, on purpose: we will not tell a stranger which addresses have accounts here. But an account that signs in with Google has no password to reset, so that answer meant waiting forever for a message that could never arrive, with nothing to explain why. Four in ten accounts are in exactly that position. Those accounts now get an email saying the account signs in with Google and pointing at the button, which tells nobody anything they could not already find out by trying to sign in, and gets a real person back into a real account.
Your collection can be edited, and nothing you add can quietly disappear
The biggest one first: you can now change or remove any card in your collection. Tap Edit on a card to fix the quantity, the grade, the condition or what you paid, or take it out altogether. Until today a card, once added, was permanent. Underneath that, a real fault: when your collection synced to your account it was deleted and rewritten one card at a time, and if anything went wrong partway through, the cards that had not been written yet were simply gone, with no error and nothing on screen to tell you. Two cards were lost that way during testing. The sync is now a single all-or-nothing write, so it either saves everything or changes nothing. The button also waits for your account to confirm the save before it says Added, instead of saying it and hoping. A quantity of zero is refused rather than filed as a card you own. And your cards keep the order you added them in, which they were losing on every sync. Separately, Cynthia no longer carries a conversation across a sign-in: her thread now belongs to the account that wrote it, so a new account opens a new room. She can also read graded price history again for the thousands of cards where she could not find it and was quietly answering with the ungraded price instead, and she will not report a price move measured across a change in how we measure, which could turn a flat card into a triple-digit jump.
The newsletter box starts empty, and the Pro page counts honestly
Three changes from an outside review. The Morning Pull box on the signup form is no longer ticked for you: a box somebody else ticked is not a choice, and signing in with Google used to subscribe you without showing a box at all, which was worse. You can still turn it on in Settings in two clicks. The Pro page was also counting its own work twice: it said 121,474 card dossiers were built against a catalog of 69,894 cards, which cannot be true, because each dossier is stored twice behind the scenes and both copies were being counted. It now counts dossiers. And the handful of endpoints the site's own pages read from now have a ceiling on how fast one network can call them, which no reader will ever reach.
The status page is telling the truth again
Our own hourly health run checks about fifty things and writes the report behind the status page. One of those checks asks whether the card scanner's weights are on the server, which is a question about a file, but it was loading the entire scanner to ask it: eighty seven seconds of a run that only has two hundred and ten, in a single step. The run kept overrunning, so the last few checks never ran and the report went out half finished, which is why the site has been describing itself as degraded. The question now costs nothing to ask and the run has its time back.
Every price comparison now ends on the day the price beside it comes from
A high, a low or a drawdown is a claim about where today sits against the record, so it has to end at today's price. Three places still ended on a recorded series whose last reading can be more than a week old, then printed the result next to a fresh quote: the card snapshot's drawdown, the signal behind a card's read, and the all-time high on the card of the day. They now end at the quoted price, and only when that quote is provably the same printing and the same kind of price the series is made of, because a Near Mint figure and a sold median are not the same measurement. The drawdown also says which of its two numbers was recorded and which is today's, rather than calling both recorded. One consequence worth stating plainly: the recorded price tape for a card now starts at September 7, 2026, the day we changed which printing a price describes, so for the next few weeks the 90 day, 180 day and one year momentum figures on a card report will say there is not enough tape rather than quote a number measured across that change.
Card pages open faster the first time anyone asks for one
A card page gathers its figures, then its second-source price check, then the lines comparing the card against its set and the rest of the market. Those three steps ran one after another, each waiting on the one before it even though the second needed only one piece of the first and the third needed three. They now run together, and nothing about what a page shows or where any figure comes from has changed. It only affects the first visit to a card nobody has opened recently, which is also the slowest one anybody sees.
Four research figures now name the year they belong to
A date like "Sep 29" with no year is not a date, and our price check refuses to guess at one, so four figures that were right on the day they were taken were being measured against this week's market instead. All four now carry the year, which we confirmed against our own recorded prices one at a time rather than stamping them. One is a 30th Celebration card quoted at $875: exact on our tape for the five days around that piece's publication, and the card has since fallen to $41. One more is worth saying plainly. A piece on that set reports a card quoted at exactly $1,000 for twenty-eight straight days; every price level it names still reproduces in order, but our stored history no longer reaches back to the start of that run, so the twenty-eight-day count cannot be rechecked and the article now says which day it ends on.
The price on a hero tile is checked against the market now
Every research piece opens with a few card tiles, each carrying a headline number, and our nightly check against TCGplayer's published market never looked at them. It read the prose and skipped the tiles, so a figure flagged in a paragraph could sit unflagged on the tile two inches above it. It now reads all 1,002 of them. A tile's number is often not a price at all, it can be a pack cost, a set median, a damaged ask or an expected value, so 572 are set aside as something other than a raw price and 430 are compared. 56 tiles are quoting a price the market has moved away from; they are recorded as known debt with their figures rather than quietly restated, because a figure restated today on a thin card is wrong again next week, and from now on a tile that drifts fails the build.
Two research figures now say which day they are from
Two pieces quoted Mega Charizard X ex at its price on the day each was published, September 20 and September 16, and neither said so. The card has fallen 13% since, so a reader meeting those figures today had no way to tell they were readings rather than quotes. Both now name their day. We date a figure rather than restate it at today's price, because on a thin card a restated figure is stale again within the week and the date stays true forever.
Cynthia stopped marking one of her own correct sentences wrong
Open the thinking panel under an answer and you see her own checks, including the one that catches her disagreeing with herself. Asked how the market has moved this year, she wrote that a set was 17.2% below its release price in January and has since recovered to 7.8% below, which is two readings of one figure nine months apart and exactly right. The check compared the two numbers without reading the clause between them, so it told you a true sentence did not hold. It now recognises a sentence that dates its figures or says one came after the other. Measured over 294 answers, this removes that one false mark and still catches every real disagreement, including the one fixed earlier today.
A card can no longer sit below a high it is above
Asked whether to sell a Base Set Charizard, Cynthia wrote that it had moved from $856 to $955 and then that it sat 1.8% below its recorded high of $945. Both halves were honest and they could not both be true: the price was today's and the high came off a dated series whose last reading was eleven days old, so the comparison ran against a stale number. Today's price is now written into the series before the set screen measures any high, move or window from it, and the screen now quotes the same price the rest of the answer does rather than a second reading of its own, so a card is no longer shown both above and below its own high in one breath.
Cynthia no longer thinks out loud in front of you
Asked which cards are scarce, she opened with two sentences of her own reasoning before a single figure: a note about what one of our screens covers, and a line about the question being broad and how she ought to answer it. None of that is for you to read. The check that catches this only knew how to spot her announcing a lookup, so a plan stated in words walked straight past it. It now catches her describing your question, narrating how she means to answer, and reacting to something she just looked up. Separately, the answer she writes after a first attempt runs out mid-sentence now passes the same four checks every other answer does, rather than going out unchecked.
The screener rebuild has room to finish, and says so when it does not
The daily rebuild behind the card screener had grown to take four minutes against a five minute limit, so it was running out of time partway through and leaving yesterday's figures in place. Nothing recorded whether it had started, which meant a missed run and a run that died looked identical from the outside and neither one announced itself until the figures were a day and a half old. The job now has room to finish, counts its own runs, and the health board says which of the two happened. Today's figures are rebuilt and current.
A gap stated against the wrong price is corrected before you read it
When Cynthia tells you a card sits below our fair value, that distance can be measured two ways: against what the card costs today, or against the fair value itself. They are different numbers. She was quoting the first one in a sentence that named the second, so a Skyridge Celebi at $750 against a fair value of $1,835 read as sitting 145% below it, when nothing can sit more than 100% below anything. The real distance against fair value is 59%, and 145% is the distance measured the other way. Both numbers are now written out wherever the figure comes from, and a sentence that states one against the other is corrected from our own two prices before it reaches you, on every path an answer can take.
Our own testing can no longer spend the budget that answers your questions
Cynthia runs against a daily ceiling on paid model calls, and that ceiling is split so our own test runs cannot eat into the one readers use. The split worked only for tests run on our machines: a test that drives the live site over the internet was being counted as a reader, because the counting happens on the server and the server had no way to tell the two apart. Tonight that pushed the reader ceiling to 394 of 400 and the next few questions came back with recorded figures instead of a written answer. Test runs now identify themselves to the live site and are charged to their own budget, so a heavy night of testing cannot take a question away from somebody asking a real one.
Price freshness is checked against the refreshes that happened
The board that tells us whether card prices are being refreshed fast enough was doing its arithmetic against the schedule we had written down, not against the refreshes that actually ran. A schedule that quietly kept an old pace would have passed the check while prices went stale on the site, which is the one thing the check exists to catch. The job now counts its own runs and the check compares the two. Cynthia also stops at one closing line after a list, so an answer that had already given you three cards and their figures no longer runs on into a second and third paragraph of commentary.
Cynthia's lists arrive as lists
Ask her for the best vintage cards to buy and the answer came back as one long paragraph with the rows run together, because the step that keeps a long reply short was rejoining every sentence with a space and losing the line breaks the list was built from. Readers saw a wall of text with stray hyphens in the middle of it, and the limit on how many rows an answer may carry could not see the rows at all, so those answers were also longer than they should have been. Lists now keep their lines, long answers are held to three rows as intended, and an answer naming two cards we price in several runs says the line about matching your set symbol once instead of twice.
A price and the move printed beside it now come from the same day
A card's price comes from today's market reading, and the recorded series we measure moves and peaks from is refreshed set by set over several days. We were printing one beside the other, so a card could be shown at its current price next to a thirty day move, or a distance below its high, that had been worked out from a figure a week or more old. On a Base Set Charizard that read as sitting 1.8% below a high of $945 while asking $955, which cannot both be true. Measured across sixty five well traded cards, the recorded series was a median nine days behind, and seven of those cards carried a Near Mint price the series did not. Every move, peak and distance below a high now ends on the same day as the price shown with it, on card pages, in the Cynthia answers that quote them, and in the data we publish for search engines. Price refreshing also now runs twice as often, so more cards hold a current price through the day.
Cynthia is checked against her own arithmetic
She wrote that a 21.7x premium was the highest in Base Set and sat well above the set median of 28.5x. It sits under it. Every check we had looked at where her figures came from and none looked at what she claimed about them, so a sentence could source every number correctly and still say the opposite of what they mean. Over 155 real answers, 13 carried a sentence like that. There is now a check that reads her figures back and compares them: same quantity only, and it says nothing at all when the sentence is ambiguous, because wrongly deleting a true sentence costs a reader more than letting one slip. It also no longer counts a figure she is comparing against as proof she ranked anything, which is what let that sentence through.
Cynthia answers the question instead of asking which card you meant
Asked why a card dropped last week, she had been replying only "give me the card name and set" and nothing else, every time, even with cards already in front of her. A check for that has existed for days and was running on every path except the one people actually use, so it never reached a reader. It runs everywhere now, and an answer that leads with a question gets the figures we hold put in front of it. She also stops telling signed-in members to create an account, which she had been doing to paying members because nothing in her instructions ever told her who was reading. And every raw price she quotes now names which printing it is, so a Base Set Charizard at $954 is never set loose next to the same card's other runs at $2,257 and $10,000 with no label on any of them. And when she prices a printing that lives under a different card in our catalog, that card now appears in her sources, so you can open the one she quoted.
Cynthia stops telling signed-in members to make an account
The line under her opening screen offered a free account to everyone who had not asked a question yet, including people already signed in and looking at their own avatar. She knew who they were the whole time, so their questions, their daily allowance and her read of their collection were all correct; it was only the line that was wrong. It now appears for visitors without an account and for nobody else.
Two cards with the same name in one set are two cards, not two rarities
On a card page, the row of other versions in the same set was labelled Other rarities, and on 1,485 groups of cards that is not true. Evolving Skies prints three Umbreon VMAX: the holo at number 95, the rainbow at 214 and the alternate art at 215, and the last two carry the same rarity, so the row was wrong about exactly the pair a buyer most needs told apart. Jungle is the same shape and far older: its Clefable at number 1 and its Clefable at number 17 are both Rare, and the difference is the holo. The row now says what it is, a different card with the same name in this set, with its own art, its own rarity and its own price. The cards it lists have not changed, only the claim about them.
October 2026327 shipped
The Card of the Day is back, and prices now refresh all day instead of only until dawn
Every price we pull from the market comes out of one daily allowance, and the work that refreshes cards was spending the whole of it in the first four hours after midnight UTC. For the rest of the day, which is the whole of the trading day in the Americas, no card got a fresh price at all, and the backlog of cards waiting sat full. That allowance is now spread evenly across the day, so a card you open in the afternoon can be refreshed in the afternoon, with the most asked-about cards still served first. The same shortage was starving the small daily publications: the Card of the Day costs three price lookups, it was being refused at midday by the work that had already spent everything, and the page served a card from two days earlier while the morning letter quietly dropped its card section. The daily publications no longer compete with the heavy refresh work for that allowance.
She can now tell you the risk, what you keep after fees, and how long it takes to sell
Four things a serious buyer asks that she could not answer, all from data the site already held. Risk: how volatile a card has been, how far it fell from its own peak and how far below that peak it sits today, so a hold question gets more than a price move. Fees: what a seller actually banks after eBay takes its cut, and what a card has to fetch for a buyer to get their money back, because every price we quote is before fees and every price you bank is after. Supply: how many new graded copies arrive each week, and whether the recent gem rate is drifting from the lifetime one, which is the number that decides whether grading is worth it. Liquidity: how many weeks the market takes to absorb a copy at the recent sales rate. She can also now be asked about our own record, and she answers honestly that our calls are scored at 90 and 180 days and none have matured yet.
The corrections we were making to her answers never reached the screen
Several checks run on a finished answer rather than as she types: removing links to cards that do not exist, repairing research links, cutting a sentence the length limit left half-written, and adding the list of a card's other printings. All of them were being applied to the copy we store and none of them to the copy you read, because the finished text was only ever sent when nothing had been typed out live. You now get the finished answer. Three figures were also wrong at the source. The market move we quoted as 30 days was four days, so a market that is up 3.1% was being reported as up 0.4%. A move shown for a graded card could be the ungraded card's move wearing the grade's name, which on a Base Set Charizard is the difference between $955 and $20,700. And the cost to chase a card from packs was given only as an average, which a typical buyer beats: at one in 192 packs the typical buyer hits in 133, not 192, and both figures are now shown.
A sale cannot be reported under a grade it did not happen at
Reading her live answers we caught her calling a $1,500 sale a PSA 10 when our own record says it is a PSA 9, on a card with no PSA 10 sale at all. The figure was real and the grade was not, and between those two grades sits several thousand dollars. A sentence that pairs a grade with a price our own record gives to a different grade is now removed before you see it. The printing list she adds to an answer also now quotes the same price as the sentence above it: the two came from different readers and could differ by a few dollars on the same printing, which is exactly the like-for-like mistake the printing work exists to prevent.
Ask her about a card printed more than once and she gives you every printing
Base Set Charizard was printed as three runs and we record a separate price for each. Asked what a Charizard is worth she gave one of them and called it the card's price, which is wrong by a factor of ten for anyone holding another run. She now lists every printing we price with its own figure and asks which one you hold, and she will not take a premium, a multiple or a move across two different printings, because each run has its own price, its own graded sales and its own history. She also stopped calling a card the most valuable or the rarest unless she has actually ranked something and can say what she ranked it against: she had called Base Set Charizard the most valuable Charizard when it is ninth of the two hundred we price.
The answer comes first, and the question about your card comes last
She had started answering questions that do not name a card, but kept the question she used to open with at the top, so you read past "name the card and I will pull it" to reach the part that actually answered you. That opening line is removed whenever the rest of the reply carries a real figure, and the offer to look at your specific card still closes the answer. If there is nothing behind the question, it stays, because then it is the only thing she has. And a price in Arabic was being labelled as a first edition when the figure covers the ordinary printing, which is wrong by a multiple: that phrasing is now caught the same way the English one is.
She answers the question before she asks you anything
Ask something without naming a card and she used to ask which card, which costs you one of your questions and tells you nothing. Ask what would change her mind on sealed and she wanted a product name first; ask whether to crack and regrade a PSA 9 and she wanted the card first. Those questions have answers that do not depend on knowing which card you own, and she holds them: 239 published studies and a live market brief. She now reaches for those and leads with a real figure, then offers to go deeper on your specific card at the end rather than at the start. Asked what would move a sealed call she now opens with the state of the sealed market itself, 651 tracked products in the $100 to $550 band with six showing real momentum. Where she genuinely holds nothing on a question, she says the number she does have and asks after that, never before.
She stopped narrating what she was about to look up
Two things readers should never have seen. Answers sometimes had a line of stage directions wedged into the middle of them, between two perfectly good paragraphs: "Let me check what we have on the most expensive cards", which is us talking to ourselves rather than answering you. Those lines are now removed wherever they appear, while an actual invitation, like offering to identify a photo you send, is kept, because that one is waiting on you rather than on us. And a sentence could come out reading "I will pull its our card report", from the way we rewrite our internal tool names into plain English. Both are gone.
Each printing now keeps its own condition prices, not one ladder shared between them
Switching printings moved the headline price but the condition breakdown underneath did not follow, because we only ever stored one set of condition prices per card. Neo Genesis Jumpluff kept the 1st Edition ladder, so picking Unlimited showed nothing at all. Both ladders were arriving from our price provider on every refresh and we were keeping one of them. Each printing now records and shows its own: the 1st Edition runs $67.37 near mint down to $17.29 damaged, the Unlimited runs $11.11 down to $3.90, and choosing a printing moves the whole column. 17,023 cards were missing their second ladder and are being filled in now. The price at the top of the page also names which printing it describes whenever a card has more than one, which it previously did only for printings it considered unusual, so a card like Jumpluff whose two versions trade six times apart showed a bare number and named neither.
Cards printed twice now let you switch printings, and the price follows
Neo Genesis Jumpluff exists as a 1st Edition and as an Unlimited card. They are different cards at different prices: $67.37 and $11.11. The page showed one of them, the TCGplayer table further down showed both, and there was no way to switch between them. That is true of 14,146 products we track, and on 11,587 of them the two printings differ by half again or more, so the number on screen could be six times the one you were looking at. The printing buttons now appear on those cards, and choosing one moves the price, the condition breakdown and the chart with it. Nothing needed to be collected to do this: the daily price file has carried every printing with its own figure the whole time, and the page was only ever reading one of them. The lead price on a card is unchanged, so nothing you have looked at before has moved; what changed is that the other printing is now reachable.
Ask her which sealed product to buy and she answers with products and prices
Two questions people actually open with had no way to be answered. Ask which sealed product has the best odds, or what sealed you should buy, and she would ask you to name a set first, because every path she had took a product you had already chosen. She now screens all of it. For odds: the 26 sets we hold published pull-rate studies for, ranked by the measured chance at each set's own chase card, with the study and its sample behind every figure, and a community count labelled as a community count rather than ranked beside an eight thousand pack study. For buying: all 2,378 sealed products we record a price for, ranked by what one chase card actually costs in expectation, which is the packs you need times what a pack costs. Obsidian Flames at $367 a box is $10.20 a pack and about $1,958 for one Charizard, and you can read that against simply buying the card. We will not show you a release's total card value as though a box contained it. She also answers in your language properly now: a price written as 954,65 dólares or 954.65 دولار was not being recognised as a price at all, so correct answers in Spanish, Arabic, Chinese and Thai were being thrown away and rewritten. And replies that ended on a promise to go and look something up, with nothing behind the promise, are finished instead of sent.
A played copy was priced above a mint one on a quarter of card pages
A reader spotted it on Neo Genesis Jumpluff: the page showed $11.10 for a Near Mint copy with $38.40 for a lightly played one and $27.22 for a moderately played one underneath. That cannot happen in a real market, and it was on 12,486 of the 50,134 cards that carry a condition breakdown. Neither number was made up. Jumpluff was printed twice, as a 1st Edition and as an Unlimited card, and those are two different cards at two different prices: the headline was the Unlimited price and the condition prices below it were the 1st Edition ones. The two were being read as one card. Conditions are now checked against the price printed above them before anything is shown, so a figure that would contradict it is withheld instead of published. Where the breakdown belonged to a different printing entirely, which is 3,390 cards, it is no longer shown under the other printing's price. The same check catches the other half of the problem: on 11,428 cards the recorded conditions disagreed with each other, usually one hopeful listing standing in for a market, at worst a card recorded at $48 Near Mint with a lightly played copy at $1,399. We would rather show you nothing for a condition than a number we can tell is not a price.
The scanner was measured against production again, and it still identifies every card it can be judged on
Point the camera at a card and the answer has to be right, so there is a frozen set of 159 real photographs the scanner is scored against: eBay listing shots, slabs behind plastic, Japanese printings, cards shot at an angle in poor light. It was measured against the live site today and identified 157 of the 157 it can be judged on, with nothing missed. The other two are a pair of Misty's Duel cards from two Japanese products that share one artwork, one illustrator line and one set symbol, and carry no collector number at all, so nothing printed on the card can separate them and we count neither as a pass nor a failure. That measurement had gone three days without being taken rather than one, because the job that runs it every night was never switched on. It is on now, so a drop shows up the next morning instead of whenever somebody thinks to look.
Ask her when a set came out and she can finally tell you
She used to say we do not hold release dates, and then give you one anyway from general knowledge, and get it wrong. We do hold them: a date for every one of the 220 TCGplayer groups we mirror, which covers 225 of our sets, essentially every English one. Ask when Base Set came out and she says January 9, 1999. Ask about Prismatic Evolutions and she says January 17, 2025, and that we do not track rotation or print status rather than guessing at it. For the Japanese sets, where we genuinely hold no date, she says that instead of filling the gap. The screener gained the matching control for the comps filter, which was being advertised on screen and then quietly dropped the moment you pressed Run. Two more places were quoting one price for a card while the panel beside it quoted another: the market screen was printing last night's build price next to a live one, and a sealed thesis was naming the chase card at a smoothed three-day figure. Both now use the same price as the card page. Article pages also stopped downloading the chat for readers who never open it. Behind the site, two background jobs were running out of room rather than failing: the price refresh could reach only 14,400 of the 16,011 cards whose prices lapse each day, and now runs twice an hour instead of once; and the job that keeps card data fresh had been stopped since early morning against a ceiling set well below what the day actually had spare.
She was quoting one price in the sentence and a different one in the panel underneath
Ask her about a card and she answers in prose, with the card's own panel below it. On about one card in ten those two carried different prices, and the panel was the one that disagreed with the card page you reach by tapping it. Two readers inside the site resolve what a card costs, and only one of them knew that the figure our price dump carries has no condition attached to it: it is a single number the provider builds by walking down from Near Mint through played copies, so a card whose Near Mint price is $300 can come back as $109. The card page, the screener and search have corrected for that since September. Cynthia now uses the same reader, so the price in the sentence, the price in the panel and the price on the card page are one number. She also stopped inventing things she was never told. Asked for the biggest movers she closed with 'all three are SM-era Radiant cards', and they are Prism Star cards: nothing in her data said either word, she read the symbol in the name and guessed. A sentence that labels a card with a mechanic none of the cards in front of her actually carries is now removed before you see it. She also stopped opening with a question when she already had the answer: ask about a card she has resolved and the first sentence names it and gives the figure, rather than checking which printing you meant above numbers she is about to print anyway. She also stopped attaching a price to a printing it does not belong to: a raw figure covers the plain version of a card, and calling it a 1st Edition or Shadowless price is wrong by a multiple, so a sentence that does it is removed unless we actually hold that printing. And a misspelling finds the card again: 'how much is charzard worth' used to come back 'Charizard has dozens of printings, from a few dollars to tens of thousands' with no figure and no card, because a question naming one card and nothing else never got looked up at all. It now answers with Base Set Charizard at $990.98. Cynthia also reached the 239 research articles, where the question worth asking is whether the piece still holds: it quotes what was true the day it was published and she answers from the same tape as of right now.
Ask her what to buy and she now screens the whole catalogue, instead of asking what you collect
Every screen she could run was scoped to one set, so the questions people actually open with had nowhere to go. Ask what you should buy with $200, or what the most underpriced card is, and she would ask what you collect, or answer from this week's Buys list, or in one case tell you to go and run one of her own internal lookups. She now screens every set we track in one pass, before she writes a word, and opens on a card. Ask with $200 in mind and the first thing you see is the widest graded premium we record that the money reaches. Two things make those rows worth reading. She will not rank a card on a thin median any more: a PSA 10 figure set by six sales sits further from the raw ask than one set by six hundred, so sorting by the biggest gap was quietly surfacing the cards we know least about, every single time. Her value screen now wants at least fifty recorded sales behind the median, which on today's data leaves 291 cards under $200 and leads with one carrying 119 sales behind its figure. The other thing is that every move she quotes now arrives with the window it was measured over, because when it did not, she filled one in herself and got it wrong. The link she hands you opens that same screen with the same filters, so you can read every row she chose from.
She was thinking out loud in the answer, and one of those thoughts was wrong
Asked on the live site whether now is a good time to sell a Base Set Charizard, the first thing you saw was this: Charizard in Base Set is trading at $928 raw today, down 45.8% from its peak of $16.78 on September 4th, but that peak was on Pikachu, not Charizard itself. Then: let me get the actual move on the card. Then, underneath all of it, the real answer, which was correct and well sourced. The $16.78 was a figure belonging to a different card that she had misread as this one, and she worked that out inside her own sentence. The cause is simple once you see it: she had written those lines before asking for the data, so they could only ever be a guess. Anything written before the figures arrive now disappears the moment she goes and gets them, and what you are left with is the answer. We tried the tidier version first, holding her words back until we knew whether she needed to look anything up, and measured it: it cost every quick question its live typing, because you only know a question needed no lookup once she has finished. So she still types as she thinks, and the guess is simply taken back. Separately, the report behind a sell or grade question now loads before she writes rather than being something she might remember to open, and when you name a set it loads the printing from that set: ask about a Base Set Charizard and you get Base Set, not Base Set 2.
Ask her whether to sell and she now reads our own report first
The two questions people actually come here with, whether to sell something and whether to get it graded, were the two she answered without opening our report on the card. Everything else gets fetched before she writes: the peer group, the set screen, the sealed research, your collection. The report was the one thing left for her to remember to ask for, and on the selling question she did not, so our dated call and our fair value never reached the reader and she filled the space with a liquidity claim we hold no data for. It is now fetched like everything else when the question is a decision about one card. Asked whether to sell a Base Set Charizard she now opens with the recorded move and the price, then says plainly that moonstone declines to call this one because only seven verified PSA 10 sales are on the tape and a fair value needs ten. That refusal is ours, it is published on the card page, and it is a better answer than a confident one. Two faults in yesterday evening's work went with it: a sentence that had been removed could leave the word joining it to the next one stranded at the top of the reply, so an answer began with the word But, and our own internal name for the price check was being swapped into reader words in the wrong grammatical slot, which produced a sentence that read I can our price check. The guard that stops her predicting prices also stopped holding the opening sentence back, because that sentence sets how long you wait for the first word and every prediction it has ever caught arrived later in the reply.
Cynthia answers first, and she stopped quoting prices we never looked up
We rendered sixteen of her real answers through the real page, at phone and desktop size, and had two reviewers go through them. The worst thing they found: asked where to start with a childhood shoebox of Base Set and Jungle cards, she quoted a raw Base Set Charizard at twelve hundred to fifteen hundred dollars. Our own tape that day said $928.06. Nothing was looked up, because the question did not use any of the words that used to trigger a set lookup, so she answered from memory next to a page of real figures and it read exactly like every grounded answer. Naming one of our sets is now enough on its own, and when nothing at all resolves she is told, in the same place she reads the data, that she may not quote a price. The same question now opens our Base Set screen and carries no invented number. Four other quiet failures went with it: panels for cards the answer never mentions, a recovery pass that could repeat the stall it was called to fix, a guard that mistook an offer for an abandoned sentence, and the one place she was still making predictions in her own voice, which is now impossible rather than discouraged. On the page itself, the box that says how she got an answer used to be the loudest thing in every reply and sat above the answer and even above a BUY verdict; it reads second now and is a line of text until you open it. Seven colours that sat under our readability floor were corrected in both themes, the card name no longer floats a finger's width above its own set line on a phone, the big multiple on each card panel says what it is a multiple of, prices stopped printing as "$16.9", and a missing graded figure now says it is missing instead of leaving a gap. The front page of Cynthia also stopped being empty: it shows the size of the catalogue, where the index stands and as of when, and one plain line about what a free account changes.
A card name inside a bold line reached you as its own raw text
We rendered sixteen of Cynthia's real answers through the real page and looked at them. One of them, the reply about whether a Steam Siege Gardevoir EX is worth grading, printed all three of its card names to you as the raw text that writes a link: the square brackets, and the address of the card page, sitting in the middle of the sentence. It happened whenever she put a card name in bold, because the bold was read first and everything inside it was then treated as plain words rather than as a name you could tap. Those names are links again. Writing the check for it turned up the same hole in a second place, a line that is bold from end to end, which we read as a small heading: that one dropped not only links but every bit of formatting inside it. Both go through the same path now, the one the rest of the answer already used.
Cynthia's answers read as paragraphs again
When Cynthia named a card in a sentence, the name was drawn as a rounded button. On a phone each one also carried twenty pixels of vertical padding, added long ago to meet the touch-target size meant for standalone buttons. Inside a paragraph that does not make a bigger tap area, it makes that one line half again as tall as the lines around it, so a reply naming six cards came out with uneven spacing and gaps down the right edge where a name could not break. Card names are now set as words: the same brass colour and the same diamond so you can still see what is tappable, on the same baseline as the sentence around them. The colour moved to the darker brass at the same time, because a name lifted off its tinted background sat at 4.3 to 1 against the light theme, under the readability floor we hold ourselves to, and it now measures 6 to 1 in both themes.
Our own price check was reading the wrong card
We run a check over every published article that compares each price we print against what TCGplayer published for that card on the same day, so a figure that has drifted gets caught before a reader meets it. It had a flaw: it attributed every price in a paragraph to whichever card the paragraph linked. One study mentions a card only because its hit points are a provider typo, in a paragraph that prices five oversized display cards; the check read one of those display prices as that card's and reported it as wrong by 3839%. A price now has to sit in the same sentence as the card it is checked against. That cleared the false report and six more of the same kind that had been carried as known debt. One genuine disagreement remains and is now written into the study rather than left in a report: our own tape and TCGplayer are 15% apart on one card on the same day, both figures are printed with whose each is, and neither is presented as a correction to the other.
The last page that still named a price and a date
The weekly buys list printed a figure called a target beside a percentage. The number is worth keeping, because it is conditional and the condition is a recorded fact: it is what the card would be worth if it moved the way its group has actually moved. What was wrong was the word, which promised the price would get there. It now reads as what it is, the level the group's own pace implies. The window beside each pick stays exactly as it was, because that one is honest in the other direction: it is when we grade the pick and publish the verdict, pass or fail, on the same page. The daily card's trend figure was checked and left alone; it already calls itself an extrapolation, names the model and says it turns when the market does. A new check now reads every line of reader-facing text in all four languages and refuses any that promises a price by a date, while deliberately protecting the sentences that say when we are graded.
We stopped calling our number a 180 day price target, because it never was one
We publish a figure on rated cards. It was framed as a price target over 180 days, with a percentage of upside attached. We went back and checked it against what actually happened, and it does not hold up: the figure missed by a median of 35.6% where simply quoting the card's price that day missed by 1.21%, and across more than three thousand of them the realised move ran slightly negative in every band of claimed distance. One earlier result that looked good did not survive re-measurement. So the framing is gone and the figure stays, described as what it has always actually computed: the price at which this card's graded premium would match its reference group, which is a fair value under a stated rule rather than a forecast of where the price is going. Nothing is taken away from a membership. You still get the dated buy, hold or sell call, the figure, the gap between it and today's price, the group it was anchored on, and the seven signals with the readings and thresholds behind them. What is gone is the horizon and the dotted line on the chart that ran from today's price up to a future point, which drew a journey the data does not support. That line is now a level, drawn where the fair value sits. The study we published on the target book carries a dated editor's note saying the same thing.
A set screen with one card on it stopped calling itself a ranking
Each set screen looks at its cards four ways, and each way has a bar a card must clear to be counted: five verified graded sales for the premium view, a hundred slabs on the registry before a gem rate is trusted, a five dollar floor so a penny card cannot top a list on a penny move. Where a set is thin, a view could clear one or two cards and still print them as a ranking of the set, which tells you something we do not know. Those views now say so instead, and say which bar thinned them, so a quiet view is a fact about the tape rather than a mystery. The count stays on the tab either way, because hiding it would read as though we never looked. Measured across an even spread of sixty sets: the laggards, gem rate and distance from peak views rank on most screens that build at all, and the premium view ranks on under a third, because graded sales are the scarcest thing we hold.
An alert that fired for something working exactly as designed
The refresh queue spends a fixed daily allowance of price lookups and then stops until the allowance resets at midnight UTC. Yesterday it learned to say that plainly: which ceiling stopped it, the hour it was reached, and how long until it lifts. A second check had not learned it, and six hours after the allowance ran out it reported only that nothing had been refreshed in six hours, which describes something stuck rather than something waiting. Two checks describing one state in two different languages, and the alarming one was the wrong one. The second check now stays quiet while the allowance is the reason and still fires when it is not, which is the fault it was written for.
Search stopped paying full price for a two letter fragment
Asked what a Charizard was worth, the site could answer with a Japanese promo that has no market price at all. The reason was in how search scored a query: the word 'my' was treated as a required term and matched as the start of the set name Mysterious, so of 571 Charizards in the catalog, 570 including the Base Set one were never even considered. The same flaw sent a search for Blastoise to a card called Mystery Zone and one for Umbreon to an artist named Jimmy. A fragment now has to match a whole word to be paid for, naming part of a set earns part of the credit rather than all of it, a word that matches nothing can no longer exclude everything, and where two cards are otherwise equal the one that actually trades wins. Seventeen of seventy real searches now answer differently and all seventeen are better. Asking about a card by name with no set now lands on the printing a person means, fourteen times out of fourteen. The artists directory also went from 1.1 MB to under 400 KB on the same day, so it opens quickly on a phone, with every illustrator still listed.
Ask Cynthia what your collection is worth and she answers straight away
She has been able to read your collection since September, but only by stopping mid-answer to go and fetch it, which is the slowest way to answer the one question nobody else can answer at all. Now, when you are signed in and you ask about what you own, your holdings are already in front of her before she starts writing: the total, what it cost you, your largest positions with how each one was priced, the lines we hold no price for, and what has moved over the window we have tape for. The reply comes back a step sooner and carries the same figures your collection page shows. This only happens for the account asking, it is read only, and it is deliberately narrow: asking what your Charizard is worth is a question about a card, not about your collection, and it is still answered as one.
We were paying to look up the same cards over and over
Graded sale figures reach a card one of two ways. If we already know which product on the price provider's side the card is, we ask for it directly and it costs almost nothing. If we do not, we have to search by name, try a few spellings, check each result really is the right card, and that costs about twenty times as much. Nearly twelve thousand cards in the catalog had no stored product link, so every refresh of one of them paid the full search again, to learn exactly what the last refresh had learned. The answer is written down now: the first time we work out which product a card is, we keep it, and every refresh after that takes the cheap path. The share of the day's lookups this frees goes straight back into refreshing more cards, which is the only way fresh prices reach a card page at all. The effect compounds quietly over the next few weeks as each card is seen once.
Fresh prices stopped reaching cards at three in the morning, every morning
Yesterday's note raised the number of cards one refresh run may handle. The run was not finishing them: it was being refused. Our price provider sells us a fixed number of lookups a day, and the share set aside for this particular queue was being spent within about three hours of the daily reset, after which every further request was turned down and the backlog simply grew for the remaining twenty one hours. Two things were wrong underneath. The first is that a refusal from our own budget and a refusal from the provider arrived looking identical, so the queue treated a ceiling it could do nothing about as a traffic jam it could wait out, and the alert said the provider was busy when the provider was fine. The second is that the share held back for our coverage work stayed held back even after that work had taken it, so the rest of the day's allowance was being counted twice and roughly a third of what we pay for expired unused every night. The reserve now releases as it is drawn, this queue's share is raised to match what the arithmetic actually supports, and when the day's allowance really is gone the queue stops accepting work it could not finish before the reset rather than piling it up. The alert now names which ceiling stopped the run and how long until it lifts.
Cynthia stopped narrating what she was about to do, and started answering what we are
Twenty five questions a first time visitor would actually ask were put to Cynthia on the live site, and eleven came back with something visibly wrong. Six of them opened by describing the lookup she was about to run, then delivered the real answer in a second paragraph with nothing joining the two, so the reply read as though it had been interrupted. That opening is now removed before it reaches you, whether the answer streams in or arrives whole. One reply quoted a price that was not a price at all: it had been copied out of her own written instructions, where a worked example of a past mistake still carried its original numbers. Those numbers are gone and a check now refuses to ship any instruction that contains a figure she could repeat as live data. Asked what moonstone is, or what this site does, she used to answer with the index level and this week's picks; she now answers the question, says what is free and what a membership adds, and points you at creating an account rather than signing in to one you do not have. She also stopped using our internal word for her own data in front of readers.
Card prices were going stale in a queue that could not drain fast enough
Fresh prices reach a card through one background queue, and that queue had been filling faster than it emptied: about sixty four cards an run arriving against sixty going out, so the backlog climbed from fifty to a hundred and twenty over the night. The cause was a limit, not a shortage. Each run was allowed sixty cards and was finishing them in three and a quarter minutes of a four minute allowance, then stopping with a quarter of its time unused. The limit is raised so the clock is what ends a run again, which clears the standing backlog in under an hour and leaves room for growth, and it cannot spend more than the daily budget already permits. The alert now also says which limit stopped the run, because a run short of time and a run short of allowance need opposite fixes and looked identical before. Separately, a colour check that had been reporting a failure for weeks turned out to be measuring text against black, so the harder we tried to fix the colour the worse its number got. The maths is fixed and the control now measures 5.05 against a 4.5 floor.
Five more studies, and a check that had been quietly switching off three others
The new pieces answer the questions the wikis answer without prices and the price sites answer without the card: what the strongest card ever printed actually costs, whether the evolution stage changes a card's value once you hold the set and the rarity still, what a Lv.X or a LEGEND or a BREAK is worth now that none are printed, which Trainer cards are worth the most, and whether an energy card is ever worth anything. Behind them, something more useful. One contrast ratio on the selected tab of a chart control had been failing the checks we run after each release, on every release for weeks, and because that check stopped at the first thing it found, three later checks never ran at all. The colour is fixed, the maths now runs before a release instead of after one, and every post-release check now finishes and reports together.
Five new studies, and the question each one answers has never had a real answer
Every one of these started as a question people ask constantly and nobody can answer with numbers, because answering it needs two things joined that nobody joins. Does the artist change a card's chance of a PSA 10: PSA holds the grading populations and has never heard of an illustrator, so we matched every card against others from the same set at the same rarity, and the whole effect from best hand to worst is nine points. Are fire type cards worth more than water: hold the set, the rarity and the printing still and the gap is two cents, and the belief comes from Charizard. Why a played copy is sometimes priced higher than the mint one: it happens on a quarter of the cards we track and we name the worst of them. Is the supply drying up: we counted the shelf twice, six weeks apart, and it grew. And what a PSA 10 is selling for right now, which is a different number from its long run median on 751 cards. Separately, the new species directory was two megabytes of HTML on its first day, which is fixed, and the deploy now measures the weight of every directory page so the next one cannot slip through.
Every Pokemon now has a page of its own, and a set move we were getting wrong
We have been keeping a running figure for 971 Pokemon: take the dearest twelve cards carrying that name, add up what they sell for, and watch it move. Until today the only way to see one was to open a card, find the right tab and wait for it to load, and there was no address you could send anybody. Now there is. Every one of the 971 has a page listing the twelve cards behind its number, what each one costs, how each has moved in a month, and the day the figure was recorded, which is usually not today and now says so. The number is a basket of twelve cards and not a valuation of every card of that Pokemon, which the page says in the first paragraph rather than the footnotes. Separately, a set page could report a rise that never happened. Our set value is the sum of the cards we hold a price for, so when we start pricing cards we had missed, the sum jumps. Holon Phantoms was showing a 147% rise over thirty days on a change of one card in the count. We already had a check for this and the set page was not running it. It is now, and where the figure cannot be trusted the page shows a dash instead of a number. That withholds the thirty day move on 229 of 585 sets, which is the honest count.
Two things we were telling you that were not true
An audit of our own pages found two claims we could not support, and both are corrected here. We told readers in five places that every dated call we make is scored ninety days later. Most are. The price target is not: its horizon is a hundred and eighty days, and one page managed to say both within twelve lines. The pages now say when each kind of call comes due, and the summary search engines read no longer implies we have scored calls that have not come due yet. None have. The first one does on the twenty ninth of November. Separately, every sealed product page described our one recorded marketplace figure as an offer, complete with a low price, a high price and a count of one, on all 2,376 of them. We sell nothing and we say so in writing elsewhere on the site, so that was a claim of ours contradicting another claim of ours. In its place each sealed page now publishes what we actually recorded: the price, its thirty day change, the value of the cards in the set it opens, and the whole daily series, with the basis of each figure beside it and a day we never observed left out rather than copied from the day before.
Our research is now readable by the assistants people ask
A growing number of people reach us because ChatGPT or a similar assistant quoted one of our figures. Measured over the last five weeks, almost two thirds of that traffic lands on card pages rather than research notes, and the reason turned out to be plumbing rather than writing: a card page publishes its figures in a form a machine can read, and a research note did not. Every note now does, with each figure carried alongside what it measures and the population it was measured over, so an assistant quoting us has to quote the evidence too.
Sharing a research note now shows the finding, not a cropped card
Posting one of our research notes anywhere that previews a link, which is most places, used to show the hero card's picture with the top and bottom cut off and no number on it. Card pages have had a proper preview for weeks; the research pages, which are the ones people actually paste, did not. A note now previews as its own headline figure with the evidence line under it and up to two more figures beside it, so somebody scrolling past can see what we counted before deciding whether to read it.
The graded movers board on the home page is back
One of the boards that shows which graded cards moved most has been returning an error on every request since the job that builds it changed shape. The research page that reads the same data was fine, so this was only ever visible to whoever loaded the home hub. It reads the data the way the page does now, and a bad reading falls back to the older board instead of failing outright.
A slow scan is no longer given up on and then started again
The scanner waited 40 seconds for an answer while the server was allowed to keep working for 45, so a scan that took between those two was finished, paid for, and thrown away unseen, and then tried twice more. The app now waits slightly longer than the server can possibly take, so giving up actually means there is no answer coming, and the whole sequence of retries is capped rather than able to stack up to nearly two minutes.
October 2026327 shipped
Scanning a Celebrations reprint stops answering with the 1999 original
The Celebrations Classic Collection cards reprint old cards faithfully, including the original card's number, so scanning one read 2/102 off a Blastoise and answered with the 1999 Base Set card. The only thing that separates them is the gold anniversary stamp, and we had a check for exactly that which was quietly never finishing: it needed to fetch the reference picture mid-scan and usually did not get it in time. Those measurements are now worked out in advance and stored, so the check actually runs.
Cynthia tells you a call exists on a card, and which way it points
Our membership page has always said that without Pro a rated card shows you one thing: whether our 180 day target sits above or below today's price. The card page did that. Cynthia did not, so asking her about a card told you less than the page you were already looking at. She now says we struck a dated call, when, and which way it points, and that Pro unseals the target itself and the seven signals behind it. She says it once, at the end, after answering your actual question, and never on a card we declined to call, because on those there is no number to sell you.
Scanning a holo card stops answering with its non-holo twin
Team Rocket printed Dark Gyarados twice, once holo as number 8 and once plain as number 25, with the same artwork and very different prices. Scanning the holo read the number 8 off the card correctly, matched it to exactly one card in the catalogue, and then a later check that compares the bottom strip of the card as an image overruled it by a hair and served the plain one. A number we have actually read off the card now outranks a pixel comparison of the strip it was printed in.
The status page no longer says a lost day is still recoverable
A missing price day gets a short window where our own retry can still finish the download, and during that window calling it a fault is right because there is something to do about it. The page was deciding that purely on how recent the day was, so it said October 11 was still recoverable when in fact nothing had been downloaded for it at all and no retry could have helped. It now checks whether there is actually a part-finished download to resume before telling you so.
A price day we lost once no longer reports as broken every hour for a fortnight
Our price feed provider does not backfill, so a day that was never downloaded can never be recovered. The health check asked for every day of the last fourteen to be present, which meant one lost day on October 11 was going to show Pricing as disrupted on every check until October 25 and drag the published reliability figure from 80% down to about 49%, for something nobody could fix. A day that goes missing is still reported, loudly, the first time. After that it becomes part of the recorded history of the series and is named as a gap rather than counted as a live fault. A missing day that could still be refilled stays a fault, because there is something to do about it.
The status page stops blaming the product when our own monitor runs out of time
Our health sweep gives itself a time limit. Any check it had not reached by then was published on the status page as a failure, which is how pricing came to look unreliable on days when nothing was wrong with pricing: nobody had looked at it. Worse, the one check that explains a short run is internal, so the explanation was hidden while the red it explained was public. Checks with no reading are now kept out of the score entirely, and the page says how many were not reached, so a sweep that keeps running short shows up as exactly that instead of as a quieter, greener page.
The market monitor is tidy on a phone
The index buttons on the home page were sitting unevenly, with roughly twice the gap under the text as above it, and only the selected one looked like a button at all. The others read as loose words next to it. The row underneath used a third style again. They now share one shape and one height, the selected one is the only thing in brass, and the two places that printed the same thing twice, the index name and the date range, each print it once.
The scanner says what an account is for, before you scan
If you opened the scanner and did not finish a scan, nothing on the page ever mentioned that an account keeps what you scan. The line had been written and no page rendered it. It now sits on the empty scanner on a desktop and under the viewfinder on a phone, and it disappears the moment you are signed in.
If a payment fails we now tell you, instead of quietly removing Pro
When a card is declined, Stripe marks the membership past due and the Pro features stop the same minute: unlimited Cynthia, the market reports, the binder scan and the price targets. We sent no email about it, so the first thing a member noticed was that the product had become the free version. There is now a message that says what happened and what fixes it, sent from two independent triggers so one missed delivery cannot swallow it, and the membership page offers the billing portal rather than selling you the membership you already have.
Scanning a graded card no longer answers with the jumbo version of it
An oversized promo print carries the same artwork and the same collector number as the card it copies, so when both are in our index a photograph cannot tell them apart and the scanner sometimes answered with the wrong one. Where we have both, the normal-size card is now the answer, because a photo with nothing beside it for scale cannot show that a card is three times the usual size. An oversized print is still scannable and still priced on its own: when it is the only match, it is still what you get.
A failed payment now tells you what to do instead of a button that does nothing
If your last payment did not go through, pressing the upgrade button in Cynthia did nothing at all: the page had the explanation and threw it away. Worse, subscribing again would have charged you twice for the same membership. The refusal now says so, in your language, and points at the billing portal where a card can be updated. And after you pay, the membership page waits for the payment to settle instead of showing you the buy button again.
Signing up with Google now gets you the same welcome as everyone else
Creating an account with Google skipped the welcome email entirely, and those signups never reached the counters we use to see whether the site is working. Only the password door did any of it. Both doors now run the same steps, so a Google account gets the same mail and is counted the same way. If you joined with Google and never heard from us, that was this.
The status page no longer calls a fresh daily study late
We added a check so the daily card study can never go quiet for weeks again, and the check itself then reported a problem that was not there: it wanted that exact day's edition and read anything published ahead of schedule as missing. A study that is newer than required is not late. The status page tells you whether the data is current, so a false alarm on it costs you more than no alarm at all.
Cynthia will not give you a call we declined to make
Some cards do not get a call from us. If there is no reference group of at least twenty comparable cards with a recorded graded multiple, we refuse to put a number on it, and that refusal is a real answer about a thin market rather than a gap. Cynthia was filling it in with a call of her own, in our own words, which is worse than saying nothing. She now says we decline to call it and gives the reason, and the words BUY, HOLD and SELL are reserved for the days we do make a call, the same way our deal scores already were. She can still tell you what the tape is doing, because describing a market is not the same as calling it.
The card of the day now comes from the cards we actually have sales for
We will not write about a card unless we can see at least twenty verified PSA 10 sales of it, which is the right bar and is not moving. The problem was how the daily card got chosen: it was picked from every card PSA has ever graded, ordered by how many copies exist, and a card can have ten thousand graded copies with almost no recent sales of one. So most days the pick met nothing it could write about honestly and published nothing at all. It now chooses from the 3,319 cards whose recorded sales already clear the bar. The study also reads a card's English name where it has one, so a Japanese printing no longer appears under an English headline in its own language.
Cynthia can now tell you moonstone's own call on a card
moonstone works out a dated BUY, HOLD or SELL on every card, with a 180-day price target and the seven recorded signals behind it, and that is what the Pro dossier on a card page is built around. Cynthia could not see any of it. Ask her whether a card is a buy and she had our verdict stamps, our percentiles and our comps in front of her but not our actual call, and she is not allowed to invent one, so the answer hedged. She now reads the call, its target, its as-of date and every signal with the reading and the threshold it was judged against, and she reports it as ours rather than as a prediction. Pro members get the call and the number. Everyone else is told a dated call exists and which day it was struck, and nothing about which way it points.
The card of the day is publishing again, after seven weeks of August
Our daily card study had not changed since August 21. The job that picks it ran every day and failed every day, because the way it rotated through the cards drifted into the part of the catalogue where almost nothing has been graded, and a card needs a real record of graded sales before we will write anything about it. It now rotates through cards that have one, and it picks from across the whole range rather than ten near-identical neighbours. The research page carries today's card again, and the morning letter gets its card section back.
Searching a nickname finds the card people mean by it
Typing "moonbreon" returned the ordinary Umbreon VMAX at around $26 rather than the alt art the nickname actually means, which trades near $2,351. Five printings share that name and nothing in the search text separated them, so it answered with whichever came first. A nickname that names one printing now carries its collector number, in search and in Cynthia, so both land on the card you asked about.
The jumbo change from earlier today is withdrawn
Earlier today we said scanning a card would stop returning the oversized version of it. Measured against the full photograph set afterwards, that change cost two other cards their correct answer, so it is withdrawn rather than kept. Scanning is back to the accuracy it had this morning. The underlying problem is real and is still open: an oversized print carries the same artwork and the same collector number as the card it copies, so nothing in the picture separates them.
Cynthia no longer repeats a paragraph, this time on the site rather than only in the tests
An earlier fix today stopped an answer being shown twice, and it only ever ran on a path the website does not use, so on the live site the repeated paragraph was still there. The same text is now both shown and saved, and the duplicate is removed before it reaches you rather than afterwards.
The status page stopped calling an ordinary day a pricing outage
The daily price file arrives in the morning, and the check that watches for a late one was set to complain after 36 hours, which is earlier than the file is next due. So on a completely normal day the status page went red every afternoon and our published pricing uptime read 81%. The deadline is now read from the delivery schedule itself, so it moves when the schedule does. A file that genuinely does not arrive still shows as a fault.
The scanner compares against 55,000 cards, not the 49,000 it claimed
The figure on the scan page was taken months ago and never re-taken, while the catalogue gained several thousand Japanese cards with artwork and a run of marketplace-only printings. It was understating what the scanner can recognise by about 6,500 cards. Re-measured with the index build's own rules rather than a rough count.
Scanning a card no longer returns the jumbo version of it
An oversized print carries exactly the same artwork as the card it copies, at the same proportions, so a photograph of one is the same picture as a photograph of the other. The scanner was occasionally answering with the jumbo. It now prefers the normal card when the two are too close to tell apart, which is almost always what you photographed, while the jumbo stays in the index so it can still be found and named.
Card pages, research notes and the letter archive now tell you what a free account gets you
The site publishes almost 56,000 pages and not one of them mentioned that an account exists, so the only way to find the sign-up page was to go looking for it. Each of those pages now ends with the one thing that follows from it: watch this card and be told when the price moves, or get the morning letter. Everything offered is free, and signed-in readers never see any of it.
The header no longer shows a signed-out page for a moment when you reload
Who you are was only worked out after the page had already drawn itself, so every reload began by showing the signed-out header and then swapped it for your profile a moment later. The browser now remembers that you are signed in and the header draws the right thing in the first frame, including your initial, so nothing flips.
A price we recorded months ago could still be the one you were shown
Where we have recorded a Near Mint price for a card we show it in preference to the daily market figure, because it is a like-for-like condition price. Nothing ever checked how old ours was, and one was 184 days old and still winning. Checked against the same day's market across 13,568 cards, a recorded price under a fortnight old disagrees about 1% of the time and one past four months disagrees 37% of the time. We now stop using ours after thirty days and fall back to the day's market figure.
Artwork for 2,770 more Japanese cards, including the 1996 to 2001 sets
These cards had no picture because of where we were looking, not because no picture exists. The marketplace mirror we sync has a separate Japanese catalogue and we had only ever pulled the English one, which is why the old sets were unreachable: they are listed there under their English titles. Every match was checked against something other than the field it was matched on, and 1,176 cards were left blank rather than guessed at.
A card page could show a Near Mint price blended across printings
On a card with more than one printing, the price at the top of the page was read from a block the provider publishes for the whole product rather than for the printing the page is about, so a Normal card could be shown a figure belonging to its Reverse Holofoil. Every other surface already used the printing's own dated quote. Measured over 1,845 cards with a quote to check against, 116 were showing a figure more than 20% away from it, and the new figure is closer to a second independent source on 111 of them; after the fix, one card still differs.
Morning Pull is laid out like a letter now, not like a stack of blocks
Every part of the email was built correctly and no two parts were decided together, so the gap between two sections was within four pixels of the gap between two sentences and nothing said where one thing ended and the next began. There is a spacing scale now, the headline leads instead of trailing the price, and the lead card sits in a band that runs the full width rather than a rounded box that half of the mail clients drew differently anyway.
Every past Morning Pull is now a page you can find and share
The letter has been published at a web address since the day it started, and nothing linked to it and no search engine was told it existed, so seventeen mornings of writing were readable only by the people already on the list. The archive is now linked from the footer of every page and listed for search, and a new edition joins it each morning on its own.
Morning Pull stops telling you the same thing two mornings running
The movers board is built from a weekly price tape, so a seven-day move returns the same answer for several days and the letter kept leading with the same card: the 10th and the 11th of October both opened on Torchic at +73.3% with the same four cards under it. The letter now remembers the last three weeks of its own editions. It will not lead with a card it has just led with, it will not tell a Pokemon fact it has already told until it has worked through all of them, and it is shown the sentences it has recently written so it stops reaching for the same ones.
The sign-in button no longer goes missing while the page loads
The top-right corner of the header was built so that nothing at all appeared there until the page's JavaScript finished loading, which on a slow connection meant staring at an empty corner where the sign-in button or your profile should be. It now shows the sign-in button straight away and switches to your profile once it knows who you are.
Black Bolt, White Flare, Prismatic Evolutions and Ascended Heroes stop being two sets each
The Master Ball and Poke Ball pattern cards had been filed under their own separate set names, so each of these four releases appeared twice in the catalogue and every per-set count was split down the middle. They are parallel printings of the same set, and they now sit inside it. Black Bolt goes from 172 cards to 324, White Flare from 173 to 325, Prismatic Evolutions from 180 to 347 and Ascended Heroes from 295 to 575.
Cynthia no longer answers the same question twice in one reply
When a first reply stopped short, a second pass finished it and the two were shown together, so an answer could open by saying it could not see your collection and then say it again three lines later. The finisher now replaces a reply that gave you no figures rather than adding to it, and where it does add, anything it restates is removed before you see it.
The screener is a real table on a phone again, and it scrolls both ways
On a phone each result had been broken into a card with its figures as six little tiles, which reads well for one card and badly for fifty: a screen is a ranking, and a stack of cards cannot be read down a column. It is a table again. The card name stays pinned to the left edge while the figures scroll under your thumb, the column headings stay pinned to the top, and the filter panel no longer outlines every field in gold at once.
The scanner can now recognise the six thousand cards the catalogue gained this week
Adding a card to the catalogue does not make the camera able to find it: the scanner matches on a fingerprint of the artwork, and a new row has none until one is built. The 6,170 cards added over the past week, among them every Toys R Us promo and two thousand World Championship cards, were visible in search and invisible to the camera. They now carry fingerprints and sit in the scanner's index alongside everything else, which takes it to 71,149 entries.
Some of yesterday's Japanese artwork was the wrong card, and is gone
Of the 4,545 Japanese cards that got artwork, 1,087 were matched on the card's English name and collector number alone. A number like 017 repeats in every set, so that pairing found the right name in the wrong set: Scyther from Japanese Jungle was showing the Scyther from Wind from the Sea. Those pictures have been removed and the cards are blank again until we can place them properly. The other 3,458, matched on the set itself, are correct and stay.
Artwork for 4,545 Japanese cards, and a placeholder that is not an apology
Thousands of Japanese cards had no picture, and a backfill two weeks ago concluded the sources simply did not hold one. That was true of the rows it could reach, and it could not reach most of them: those cards carry no marketplace product id, so there was nothing to ask about. A free export gave us the ids, and 4,545 cards now have their artwork. Where a card genuinely has no picture anywhere, the placeholder is now a plain moonstone mark that stays crisp from a search tile to a full card page, instead of small grey type reading image unavailable.
Four thousand cards that were being priced every day and shown to nobody
World Championship decks, Prize Pack cards, League and Championship promos, deck exclusives, jumbo cards and blister exclusives were all being tracked by our price feed and had no page on this site, because our card list comes from a source that catalogues sets and these are not sets. They now have pages, prices and set screens, most with a year of price history. There is also a new study of the Toys R Us stamped promos, and the camera now tells you when it is giving a picture too small for a binder page to read.
Cynthia was answering the commonest question with a login wall
Ask her what your Charizard is worth and she replied with nothing but an invitation to sign in, throwing away the prices she had already looked up. She also attached one card's price history to another card's name when a question pulled in a whole set, repeated herself when a reply had to be rescued mid-sentence, and told you a card was not tracked when it was. All four are fixed, and her answers now lead with the figures.
October 2026327 shipped
The Toys R Us stamped promos are now tracked
Nineteen Toys R Us promo cards were sold on the open market, priced every day, and completely absent from this site, because our card list is built from a source that does not record retailer stamps. They now have pages, prices and a set of their own, and searching for toys r us finds them. They were not a special case: 11,422 products we already mirror have no card entry yet, and this is the first group of them.
Two cards can share a name without sharing a picture
When a scan could not choose between candidates, it would show you one of them if they all carried the same name. But two different cards can share a name and look nothing alike, and in that case the camera can tell them apart, so showing one was a wrong answer rather than a choice. A scan now only offers the pair when the artwork really is the same.
When the page read corrects which card a pocket holds, the card is reconsidered
A scan decides whether it is sure enough to show you a card, and only afterwards does the page reading step correct which card a pocket is holding. When that correction happened, nothing went back and asked whether the corrected card could now be shown, so a card the scan had read by name sat withheld on a decision made about a different card.
A card is shown when its name was read, even if the picture was a close call
Where a scan reads the name printed on a card and the only other candidates are different printings of that same card, it now shows you the card with the alternatives beside it, instead of holding it back because the picture itself was a close call. Holding it back was the right call when the other candidate is a different card, and that has not changed.
A set link counts as live when the page opens, not when a price series exists
Our own publishing check still treated a set link as dead unless we held a price history for that set, which is no longer what decides whether the page opens. It now asks the same question a reader's browser does.
Sixty-five sets that had no page now have one
A set page only existed where a price history had been filed for it, so sets we hold cards for returned a not-found page: every Black Star Promos set, the whole Pokemon TCG Pocket line, and the Diamond and Pearl, Black and White and Ruby and Sapphire base sets among them. A set we hold cards for now has a page listing every card in it, and says plainly where no price history is held yet. Three of those sets turned out to have a price history all along, filed under a spelling with the word and in place of the ampersand.
Five new guides answering the questions people actually type
What a collection is worth, what grading costs now that the cheap tiers are gone, how many PSA 10 Charizards exist, why the cheapest listing never matches the market price, and whether a damaged card is worth anything. Every figure was recomputed from our own tables by a separate check that ran its own queries, and where the numbers could not support a finding the finding was removed rather than softened.
The Morning Pull notification no longer prints the same sentence twice
A mail client shows the subject and then a preview line under it. Yesterday both lines were the same sentence, and the preview carried a wide blank space before the newsletter name, because the characters padding it out were not as invisible as intended. The preview line now has to carry the morning's second story, and the padding cannot draw a gap.
A scan that corrects itself stops apologising for the card it no longer shows
When a scan read one card's name but was about to show you a different card, it said so and set the card aside as uncertain. It then swapped in the card it had actually read, and kept the warning anyway, so a correct answer arrived looking doubtful. The warning is now re-checked against the card you are actually being shown.
If the scan can see the ex on the card, the plain version is a different card
Where a scan reads a card's name and can see the ex printed on it, the ordinary version of that card is no longer treated as a close enough match to hand back. That is how a Reshiram ex came back as an ordinary Reshiram promo. A scan that simply missed the two small letters is still treated as an ordinary partial reading, as before.
The closer look now goes to whichever cards are still in doubt
When a scan cannot settle a card from its picture alone, it takes a closer look at the bottom edge to read the collector number. That closer look was only being offered to cards caught between two printings of themselves, and skipped cards caught between two different lookalikes, which a number settles just as well. It now goes to whichever cards on the page are still unresolved, least certain first.
Two printings of one card is a choice, not a shrug
When the only cards a scan could be confusing are other printings of the very same card, it now tells you the card and offers the printings, instead of leaving the whole pocket unanswered. If something genuinely different is in contention, the scan still hands the question to you as before.
Two different kinds of reader agreeing is a second opinion
To choose between two printings of a card, a scan wants the small number on the bottom edge confirmed by more than one reader. It was only counting agreement between separate language models, and discarding a number that one of those had read and the scanner's own digit recogniser had independently confirmed. Those two look at the card in completely different ways, so when they agree on the same card the scan now accepts it.
A second opinion has to come from a second reader
To settle which printing of a card you are holding, a scan asks several different readers for the small number on the bottom edge and only trusts a number two of them agree on. Two readers from the same family answering first was closing the question early, so a number that had been read correctly was being thrown away. The scan now waits for a genuinely independent second opinion.
A scan that reads one card's name stops handing you a different card
When a binder scan read a card's name and the card it was about to show you was something else entirely, it used to say it was unsure and then show you the other card anyway. If the card it read is already in the list it found, that card comes first now. Nothing is marked certain on the strength of this, so it only ever changes which card you are looking at, never how sure the scan claims to be.
Cards now carry the second half of their collector number
A collector number is printed as two halves, like 004/084, and when a card exists as two printings the second half is often the only difference between them. Four in ten cards in our catalogue were missing it, so a scan had nothing to tell those printings apart. Every card in a set now carries the set's own number, which is what lets a scan pick the right printing instead of handing you both.
The second half of a collector number now reaches the scanner
Yesterday's change gave the catalogue the missing half of each card's collector number, but it landed in the wrong index and the scanner never saw it. It reaches the scanner now, which is what lets a scan tell two printings of the same card apart when their numbers share a first half.
Scans can read the second half of a collector number again
A card's number is printed as two halves, like 004/084, and the second half is often the only thing separating two printings of the same card. Four in ten cards in our catalogue were missing that second half, including most of the newest English sets, so scans of those cards had nothing to tell the printings apart and handed them back for you to choose. Where a set records it on some of its cards, every card of that set now carries it.
A closer look at the cards a scan cannot otherwise tell apart
Some cards exist as two printings with the same picture, and the only thing that separates them is the small collector number along the bottom edge. The scan now takes a closer look at exactly those cards, and only those, which is quick enough to be worth doing and reads the number where a wider look could not. Cards the picture can already tell apart are left alone.
A card without the ex on it is not the ex version of that card
If a scan reads "ex" printed on a card, the ordinary version of that card is no longer treated as a near enough match, which is how a Reshiram ex came back as a plain Reshiram promo. Cards whose name the scan reads but whose form word runs into the name, like the mask Ogerpon cards, are matched properly now too. And when the scan reads one card's name but is about to hand you a different card it already had on its list, it hands you the one it read.
Two readers have to agree before a scan calls a card certain
A binder scan reads the small collector number at the bottom of a card and also reads the card's name. When those two disagreed, the number was winning and the card came back marked certain, which is how a Reshiram ex came back as an ordinary Reshiram promo. The number now stands down when the name points somewhere else, and you get the choice instead. Separately, cards whose artwork already tells two printings apart no longer wait for a number reader that had nothing to say.
Two printings of one card stay a question until something can answer it
When a scan cannot tell two printings of the same card apart, it now says so instead of picking one. The printed name cannot settle that question, because both printings carry the same name, so the scan waits for the collector number and offers you both until it has it. Cards whose number could be read but whose rivals could not are settled again, which brings back prints the scanner had started handing back unnecessarily.
When the scanner reads the collector number, it trusts what it read
Two printings of a card can look identical, so the scanner reads the small number at the bottom edge to tell them apart. It was doing that, getting it right, and still handing the card back for you to confirm, because it was scoring itself on how similar the two pictures were rather than on the number it had just read. Those cards now come back settled. A Japanese card whose price is filed under its English listing also gets its price back.
A card the scanner could not read a number for no longer loses to one it barely could
When two printings of a card look alike, the scanner reads the small collector number at the bottom edge to tell them apart. If one of the two had no number recorded in our catalogue, it was being treated as though it had scored worst, rather than as a card we simply had not checked. An English card was handed back as its Japanese printing because of it. Japanese cards also get their prices back: a Japanese listing and the English product it matches are one card written down twice, and the price lived on one of the two spellings.
Binder scans read Japanese cards against English listings
Japanese cards are listed in our catalogue under their English names, so when a binder scan read a card's name off the card itself, in Japanese, it could not tell that it matched the very listing it was looking at. Those pockets came back as unsure even though the right card was already top of the list. Scans now read across the two languages, which also stops a Mega card being mistaken for the ordinary one, and stops an ex card being mistaken for the version without it. When one strip of a page is slow to come back, a second request for that strip now runs alongside it and the scan takes whichever arrives first, so one slow strip no longer costs the whole page its reading.
A binder page keeps every card it read, even when the reading runs late
A binder scan reads the whole page in one pass, which tells us both where each card sits and what it says. When that reading took longer than usual, the scan was throwing away the positions and keeping only the names, then waiting for the same reading anyway, so a slow page came back with cards marked unsure that had been read perfectly well. The positions are now kept whenever the reading arrives at all. A page that genuinely cannot be read also says so in plain words now, instead of quietly handing back a page of unsure cards.
Scans drop a check that was no longer earning its time
When a photo did not resemble anything, the scanner tried turning it ninety degrees each way in case the card had been shot sideways. We measured it on the exact photographs where that check had ever changed the answer: all thirteen now resolve to the same card without it, while the check itself was costing up to 1.7 seconds on those scans. So it is off by default, which takes about a fifth of a second off a typical scan. It can still be switched on for measurement.
Groundwork for a faster scan
When a photo does not resemble anything we know, the scanner tries turning it ninety degrees each way in case the card was shot sideways. That check is worth about a fifth of a second on average across all scans, and it only ever changes the answer on a handful of photographs. This adds a way to run those exact photographs with the check switched off, on the same build and within minutes, so we can find out whether it is still earning its place rather than guessing. Nothing changes for you yet.
Beckett slabs are recognised too
If you photograph a graded card and send it without telling us it is graded, the scanner works that out on its own by reading the grading company off the case. It knew PSA, BGS and CGC, and did not know Beckett by name, even though Beckett prints its name in full across the top of every slab it seals. It also could not read the words GEM MINT, only the shorter GEM MT. So a perfectly legible Beckett label proved nothing and the card was matched on artwork alone, which on the test card meant the wrong card entirely. Both are fixed, and the same rule now decides whether a label is worth reading and whether to trust what it says, so the two cannot drift apart.
Graded slabs now read their label when you only send a photo
Our own app crops the grading label off a slab before sending it, so the scanner always had one to read. Anyone sending a plain photograph through the API did not, and the scanner tried to make its own crop from the wrong place: the top of the card rather than the holder above it, where the label actually is. On one test slab that was the difference between reading W CHARMANDER and WCHARMANDER, and one lost space was the difference between the right card and the wrong one. It now crops the top of the photograph. The size check that decided when to try had the same blind spot, since a slab in its case is narrower than a bare card and fell outside a range written for bare cards, so hint-less slabs were skipped by the very rule meant to catch them.
The paid scanning API now has an accuracy bar of its own
Our published scanner accuracy has always been measured against the engine our own app uses. The paid API sits behind a thin layer on top of that engine, and nobody had ever scored it separately, so a difference between the two could have grown unnoticed. It now keeps its own record and its own bar, and which one a measurement belongs to is read from the address it called rather than typed in by hand, so the two can never be mixed up or quietly averaged together.
Scan API answers 41% faster at the slow end, and slightly more accurately
When a card was hard to pin down, the paid scanning API quietly ran a second visual pass before answering, on the reasonable assumption that looking twice could only help. We finally scored it over all 159 cards in our benchmark and it did not help: it rescued two cards and broke three, while the slowest tenth of answers took 18.4 seconds instead of 10.7. It is now off unless you ask for it with refine true. Nothing about which card you get changes except for the better, the wait gets materially shorter, and the developer docs now carry the actual numbers instead of the assumption.
Report pages now point at the same card the card page does
When one card exists twice in the catalogue we pick one of the two as the real address and point the other at it. The market report underneath was not following that rule: it claimed to be its own address while the card page above it pointed somewhere else, which is the sort of disagreement that makes a search engine choose for you. Set reports had the same problem from a different direction, because several spellings of a set name all reach one dossier and each spelling was claiming to be the original. Both now name the same address their parent page does. There is no extra database work: the answer was already worked out moments earlier and is reused.
The accuracy bar now counts a card nobody can call
Our scanner accuracy test measures 159 real photographs and the result is published on the status page. One of those photographs cannot be marked right or wrong by anyone: two Japanese printings of the same card share one artwork and one set symbol and neither carries a collector number. It now sits outside the score instead of swinging it, which it had done three times in one day. The standard itself is unchanged, since the bar still allows exactly one genuine miss, and the case is named with its reason on every run rather than quietly dropped.
When two cards share one painting, you now see both
Some cards exist twice in the catalogue because the same artwork was printed into two products, and occasionally nothing on the card itself can tell you which one you are holding. Until now the scanner picked one of them and the other appeared nowhere in the list, so if it guessed wrong there was no way to correct it. The reason was narrow: the scanner rescued cards it matched better than its leading guess, and a card like this always scores a little worse, because the only difference between the two is which photographer shot our reference picture. It now also keeps the close matches that share the leading card’s name, so both printings appear and you can pick the right one. It changes nothing about which card is suggested first.
Set reports that never existed, and a card no reader can call
Three fixes behind the scenes. Reports for 87 sets could never be built because a name check refused brackets, commas, plus signs and slashes, so sets like Battle Starter Deck (Blastoise) had a report link that led nowhere, and our sitemap was telling Google to go and look at them. Identity is now settled by asking the catalogue whether the set is real, which is what actually knows. Separately, three pages were both hidden from search and blocked from being read, which cancels out, because a search engine cannot obey an instruction it is not allowed to fetch. And our scanner accuracy test now has a verdict for a card that cannot be called: two Japanese printings of Misty’s Duel share one artwork and one set symbol and neither carries a collector number, so nothing on the card can separate them. That case now counts as neither a pass nor a failure instead of swinging the published score on a coin toss.
One of yesterday's four speed cuts cost a card, so it is gone
Of the four changes that made scanning faster, one stopped the extra image checks a fraction earlier when the first look already looked good. The accuracy run over 159 real photographs caught it serving the wrong card on one of them, three times out of three. It was worth about three hundredths of a second. The card it lost sat a hair above the line it introduced, so there is no better line to draw, and it has been removed outright. The other three cuts stay and the scan is still meaningfully quicker than it was.
Four cuts to how long a card scan takes
A scan used to prepare four versions of your photo and study each one: the plain crop, a brightened one, a more saturated one, and a tighter crop. Measuring which of them ever found the right card showed the tighter crop pulling its weight and the other two almost never deciding anything, so they are gone. The scanner was also studying the straightened picture of the card twice over, having already done it moments earlier, and it now keeps the first result. It reads the two most useful strips of the bottom edge at the same time instead of one after the other, and it stops preparing that whole battery of images at all when the first look is already confident. None of this changes which card you get; it is the same answer, sooner. The accuracy gate runs twice over 159 real photographs before any of it counts as done.
The duplicate database read pays for itself
When a price lookup is slow to answer we send a second copy of the query and take whichever returns first. We measured it both ways on the same build: with it, roughly 3 in 100 lookups are slow; without it, 13 in 100, and the slow end of the range goes from about a third of a second to nearly a full second. It costs one extra read on a fifth of lookups and never fires on a fast one, so it stays. A small remainder it cannot help is a different problem, where both copies end up waiting on the same thing, and that one gets fixed where the waiting happens.
A way to price the duplicate database read we make
When a price lookup is slow to answer we quietly send a second copy of the same query and take whichever comes back first. That doubles the database work on about a quarter of these lookups, and we have just learned it cannot rescue the slowest ones, because both copies wait on the same thing. Before removing it we want to know what it is worth on the merely sluggish ones, so this adds a switch that turns it off for a single request. That lets us compare both ways on one build within minutes of each other, which is the only comparison worth trusting. The switch can only ever turn the extra work off, never up.
October 2026327 shipped
The price-speed check stops deciding on a coin toss
Our own monitoring kept flipping the site between green and red on price lookup speed. The cause was the check, not the site: most lookups answer in about a quarter of a second, but roughly one in sixteen is slow, and the check sampled forty cards and judged the run on the third slowest. Whether it caught one of the slow ones was close to chance, and eight runs in a row off identical code read anywhere from 517ms to 1416ms. The speed limits are untouched. The check now draws a second, separate sample before it will call anything wrong, so a genuine slowdown still fails and a sample that got unlucky does not. The slow minority is a real cost and we know what it is now, so it gets fixed on its own terms rather than hidden behind a looser limit.
Measuring the part of a price lookup that is occasionally slow
Most price lookups answer in about a quarter of a second, but roughly one in sixteen takes a second or more, and that is what our own monitoring keeps flagging. We already race a second copy of the slow query to cut those short. Checking it from outside could not tell whether that race is actually running, and one of the numbers we were judging it by turned out to include a separate one-off cost that happens the first time a server handles a request. That number now covers only the query it names, and the race reports whether it started, how promptly, and whether it won. No change to what you see yet; this is the measurement that tells us which fix is the right one.
Plainer words on the home screen
The big heading on the home screen said "One table, two ways in", which made sense only if you had seen how the thing is built. It now says what you can actually do there: ask about any card, or start from one of the ready-made lists. The heading is also about a third smaller, because the numbers in the lists are what deserve the weight, and the counts read as "73 cards" rather than shouting in capitals. The row of category buttons lost a border it did not need, since it already sits inside one.
Two status checks that were crying wolf
The status page was showing a disruption for two reasons that were not disruptions. One watched how fast card prices load and judged the whole run on the single slowest request out of forty; the card it flagged turned out to serve in a quarter of a second when asked again, six times in a row. It now asks the slow card a second time before calling anything wrong, and the speed limits themselves are unchanged. The other watched the freshness queue and worked out its trend by drawing a line between the first and last readings, so the dip right after a big successful run made a flat queue look like a growing one. It now fits the line across every reading and compares typical levels rather than edges, and it no longer reports a backlog as a fault while the daily budget is spent, which is the one time a backlog is expected.
A footer read that could not name one card is no longer trusted
We had added an extra look at the bottom strip of a card for when the first look finds no number. A full run over our 159 test photos priced it honestly: it helped no card that was not already being read correctly, and on one card it misread a set code, matched ten different cards in the catalogue, and served the wrong one of them. So it is gone, along with the companion check from the previous release that measurement showed never ran. A reading that cannot narrow things to a single card is not evidence, and the moment it would get used is exactly the moment we have nothing else to go on. One fewer read also makes these scans slightly faster and cheaper.
Groundwork for telling same-numbered cards apart
Five different cards in our catalogue carry the number TG05, and four of those also print a set total of 30, so reading the number off a gallery card cannot tell you which one you are holding. This adds the companion check for that case: where the number matches exactly one of the cards already in contention, it decides. On the card that prompted it the number turned out to be enough to narrow the field on its own, so this groundwork changes nothing you will see yet.
A last look at the bottom of the card when the first one finds no number
Gallery cards print a number like TG05/TG30 in gold on a gold border. Read from a wide strip across the bottom of the card, the camera often fuses it into one unreadable run of characters because the weakness row and the flavour text come along with it. The scanner now takes one more look at a tighter strip when it has found no number at all, which keeps the slash in the middle and lets it read both halves. It only happens when the scan would otherwise have to decide on artwork alone.
The status page called the Scan API degraded when every scan was being answered correctly
Our scanner has an accuracy gate that re-runs 159 photographs and refuses to carry its score forward onto a build it has not measured. That is the right behaviour, but the waiting state was being published as a service problem, so shipping a change made the Scan API look degraded to anyone reading the status page even though no request had failed. The page now shows that component as degraded when a measured run actually comes in below our recorded best, which is the thing a customer would feel, and keeps the waiting state where it belongs, with us.
Card pages are rebuilt once a day instead of four times, and the sitemap stopped claiming every card changed daily
Our sitemap told search engines that all 53,000 card pages changed every single day, because it was reporting the day we last recorded a price rather than the day a price actually moved. Recording a price that did not change is not a change to the page. It now reports the day the price genuinely moved, which on a normal day is about 7,700 cards instead of 52,500. Card pages were also being rebuilt every six hours against figures that only arrive once a day, so three of every four rebuilds produced the same page. Nothing changes for a reader: the price you see is fetched live by your browser either way.
When straightening a photo cuts the card number off, the scanner now looks at the original
The scanner straightens a photographed card before reading it, and on an angled shot through a hard holder that straightening can clip the very bottom of the card, which is where the collector number is printed. Every attempt to read the number was happening on the straightened image, so on those photos there was nothing to find and the scanner had to choose between two or three near-identical cards on artwork alone. It now falls back to the bottom of the photo you actually took, but only when it still has no number, so a normal scan costs exactly what it did before. The test card that had been coming back as the wrong Pikachu now reads its number.
Our Japanese exclusives index was counting cards that have English printings
The index tracks the twenty-five most valuable Japanese cards that have no English printing. It decided that by matching on the card name and its printed HP, and most of the catalog carries no printed HP, so an English card could sit in a different group from its own Japanese namesake and never be compared to it. Cards like Sabrina's Gengar and M Charizard EX were being counted as Japanese only when we hold their English printings. Eleven of the twenty-five were wrong. The test now asks the question the index actually asks, which is whether an English printing of that card exists at all. The index level moves when this lands, and that move is a correction to which cards belong in it, not a change in the market.
Two faults on the card page: a missing price chart, and Japanese cards that were not the same card
A card with only one printing could never show its own price history. The page always tells the server which printing you are looking at, and a check meant for cards with several printings read that as a reason to withhold the chart, so cards we have recorded daily prices for since the series began were saying there was no history yet. Separately, the Japanese versions panel was matching on the card name and its printed HP, and two thirds of the catalog carries no printed HP at all, so for most cards it was matching on the name alone. That is how a 2009 Pokemon Rumble Mew came to list a 1996 Mew and two 2022 Mew as its Japanese versions. The panel now shows a Japanese card only when exactly one in our catalog can be it, and says nothing when it cannot tell, rather than offering a list of cards that are not the same card.
Gallery cards photographed through a sleeve now read their number instead of guessing
Trainer Gallery and Galarian Gallery cards print a number like TG05/TG30 in gold on a gold border, and through a sleeve the camera reads the T as a 7 and the G as a 6. The scanner was getting no number at all from those cards, which left it choosing between two or three Pikachus on the picture alone, and it sometimes chose wrong. It now uses the fact that the number prints its two letters twice, once on each side of the slash, so the two halves agree on what the letters were even when neither half is read cleanly. A test card that had been coming back as the wrong Pikachu now comes back right.
The card screener works on a phone, and now shows what it knows about grading risk
The screener was built for a desktop table and most people arrive on a phone. Filters now open in a panel that slides in from the side, with a count of how many you have set, and the preset screens scroll sideways instead of wrapping into a wall of chips. Everything you have set stays visible with the panel closed. On top of that the screener now carries what our grading work already knew about each card: how fast its graded registry is filling, how often it comes back a 9 instead of a 10, how quickly PSA 10s are actually selling, and where a house call exists. Four new one tap screens sit above the table, including every card we currently call a buy. Those columns are part of Pro, and the page says plainly when a card has no reading rather than implying one is hidden.
Signing in from the middle of something now brings you back to it
The Sign in button in the header always sent you to your collection afterwards, whatever you had been doing. If you were part way through a screen on the card screener, reading a research piece, or looking at a card, you came back to an empty collection with no way back to the thing that made you sign in. The button now returns you to the page you left. The links inside the product already worked this way; the one in the header did not.
Price charts no longer record a day the price provider sent us twice
Our daily price file carries no date, so on a morning the provider published late we could download the previous day's file and store it as today. Every price looked unchanged, which is a flat day on every chart and a day of real movement lost from every board. The pipeline now checks how much of a file actually moved before storing it, refuses one that is yesterday's again, and comes back later the same morning for the real file. A day of history is no longer the price of a late provider.
A tie-break between two readings no longer silences the step that was going to get it right
When a number is hard to read, one step of the scanner steps in if its best candidate is clearly better than the one already chosen. A rule added yesterday swapped that candidate for a different one before the comparison was made, which sometimes made the step decide it was not needed at all. It now compares first and chooses second, which is the order it should always have been in. The test card that had been coming back wrong is right again.
Groundwork: a way to switch two recent scanner rules off for a single test scan
One test card started coming back wrong and reading the code did not explain why. This adds a switch, usable only by our own tools, that turns off the two rules added yesterday for one scan at a time, so the cause can be measured instead of guessed at. Nothing changes for anyone scanning a card.
A blurred number no longer outvotes a card the camera recognised outright
When a number is hard to read, the scanner weighs up several readings of it. A rule added yesterday let a reading that matched a card's set size exactly win outright, which is right when the choice is close and wrong when the picture had already identified the card plainly. It now only breaks a tie. One test card that had been coming back as the wrong card is right again.
Scanning the same Japanese card twice now gives you the same answer twice
A Japanese card is listed twice in our catalog, once by each of the two data sources we use, and both entries point at the same product. The card and its price were right either way, but which of the two entries came back depended on the photograph, so two scans of one card could disagree about its catalog entry. That is no use to anyone storing a collection or calling the API, so one of the two is now always the answer.
Japanese cards in a binder now come back on the row that carries a price
A Japanese card exists twice in our catalog, once from each of the two sources we buy data from, and only one of those carries a price. A binder page could identify the card perfectly and still hand you the copy with no price on it, which looks like a failure even though the card was right. When both copies of one card are in play, the priced one is now the one you get.
The first binder page after a quiet spell is much faster
Binder pages are read with help from a graphics machine that shuts down when nobody is scanning. Starting it back up takes longer than we were willing to wait, so the first page after a quiet spell gave up on it twice and then did all the work on the slower machine, which took about 46 seconds. We now wait long enough for it to actually arrive, which costs nothing when it is already running and turns that first page into about 18 seconds.
Two cards that share a name, an attack and a picture are now told apart by who drew them
A gallery reprint can share its species, its attack text and even its artwork with the original card, which leaves the scanner choosing between them on the picture alone. The one thing a reprint cannot share is its illustrator, and that name is printed on the card. The scanner now reads it and uses it, but only when every candidate has one and exactly one of them matches, so it never guesses. Separately, when a blurred number leaves two candidates, the one whose set size matches the number printed on the card is now preferred over one that needed a digit forgiven.
A free trial is now recorded as a trial, so we can tell you when the first charge lands
Starting Moonstone Pro with free days gives you everything a paying member gets, and it also means a charge is coming on a particular date. We were recording the membership but not the trial, so the account page could say you were a member and could not say what happens when the free days end. It now stores both, which is what lets the page name the date.
The one-look reader now keeps the same caution as the reader it replaces
Reading a hard card in one pass gets you more text, and more text is not always better: a blurred number that comes back as obvious nonsense is harmless, while one that comes back looking plausible can talk the scanner out of a card it had already identified from the picture. That happened on a test card, so the new reader now only consults its most aggressive magnifications when the picture itself was inconclusive, which is the rule the old reader followed.
Groundwork for reading a difficult card in one look instead of six
When a card's number will not read, the scanner goes back and looks again at a bigger magnification, then again, up to five times, one after another. Those are all crops of the same photograph, so they can be read together in one pass. On the hardest cards we test with, that is four reads instead of twenty and half the time. It is built and measured but not yet switched on, because the reader that decides which card you are holding does not change until a full accuracy run says it is at least as good.
The set code printed on a card is now checked against the card's own print run
Reading the short set code beside a collector number lets the scanner tell apart two cards that share a number. On its own that code can be misread: the small letter on the end drops out, and the scanner then looks in the set next door. It now has to agree with the run size printed on the same line, so a dropped letter no longer sends you to the wrong card. English and promo cards print a language box in that spot, and that is now read too.
Japanese cards now resolve by their set code, so one misread digit no longer serves the wrong card
A Japanese card prints a short set code next to its collector number, and that code is what tells two cards with the same number apart. The scanner was reading the code off the card and then discarding it, because the code is printed hard against the regulation letter beside it and the reader expected a gap. It now reads them together, and a card whose number is blurred in one digit still comes back right.
The status page now warns about the scanner's own model budget, not just the assistant's
One account pays for the card reader and for Cynthia, and when it runs dry the reader stops working first. The warning used to appear only under Cynthia, so a scanning outage looked like a chat problem. It now appears under scanning too, and it fires with more money left, because the reader needs a larger balance to start a job at all.
Scans say when the model could not be reached, and API page scans cost a third less to run
If the scanner cannot reach its reading model, the scan now says so in plain words instead of quietly returning a thinner answer. Separately, a page sent through the API is read in one pass rather than four: the four-pass version exists to shave seconds off a scan somebody is standing and waiting for, and it costs almost twice as much to run, which is not the right trade for a customer scanning in bulk.
A single-card scanning change was withdrawn the same night it shipped
Last night's change cut each card's number strip earlier in the scan. The nightly single-card accuracy run came back two cards below its best, so the change is out again while that is understood. Nothing about what the scanner reports has changed from the version before it.
The scanner keeps reading collector numbers while it waits, instead of stopping early
While a binder page is away being read, the scanner reads the small collector numbers at the bottom of each card, which is free time because it is waiting anyway. It used to stop the instant the page came back. Now that pages come back much faster, stopping early just meant doing the same work a moment later, so it keeps going until it has read them all.
Binder pages are now read a row at a time, which takes another second and a half off
A full page used to be read in one go, then in two halves, and is now read one row at a time with every row going out at once. The work is in writing out what it sees, and that divides with the rows, so a twenty-card page comes back sooner again with exactly the same cards named.
A full binder page now scans in about eight seconds, and the 151 set page works again
A twenty-card page used to take about eleven seconds and now takes about eight, because the page is read as two halves at the same time rather than one. Cards laid out on a table or a shop counter were also being given extra pockets where the camera had seen a patch of cloth or the edge of a display case, which pushed every card after it one place along; those are gone, and with them most of the wrong names on counter photos. And the 151 set page came back: a Japanese set arrived overnight with a name ending in the same number, and the page could no longer tell which set you meant.
Two new studies: what the sealed box did while the cards fell, and what a price's last two digits tell you
We paired every sealed box, Elite Trainer Box and bundle against the singles of its own set over 25 days. The cards fell in 31 of 34 sets, and in ten of them the sealed price went the other way. The second piece reads the cents: a card over $100 whose price ends in .00 or .99 sat completely still for a month three times as often as one priced to the odd cent, and when it finally moved it moved about 13%.
A binder page with an empty pocket keeps every card in its place
Two placement faults on binder pages are fixed. A row with an empty pocket in the middle had every card after the gap reported one place over, so the wrong card could be shown for a pocket with full confidence; and the empty-sleeve check could blank the card beside a gap instead of the gap itself. A page is also no longer widened by a column the reader saw in the binder's margin. Measured on the owner's own test pages before shipping and on production after.
Set pages resolve to the English set when a Japanese printing shares its name
White Flare and Black Bolt are also the English names of their Japanese sets, and for one day both set pages showed the Japanese cards' four-week price series instead of the English set's fourteen months. A set name that two catalogues share now goes to the English set, and its release date and launch comparison come back with it.
The binder desk sends one frame, and keeps its lane warm while you scan
At the counter a page used to go to the server as three frames at once; measured today that took 23 seconds against 16 for one frame, paid three cold starts instead of one, and billed the page call three times, while the single frame has not served a wrong card with confidence on the owner's pages in any run of the day since the page's lattice and name check landed. The desk now sends one frame. While the binder tab is open it also keeps the scanning function and the picture matcher awake every thirty seconds, so a page after a conversation starts warm. Prices for the top three candidates of every pocket are fetched while the pictures are verified, and the number reader starts with the closest calls.
A reprint and its original are told apart the same way every time
A Classic Collection reprint and the Base Set card it reprints share the artwork and the printed number, so the scanner compares the photograph's gold stamp against both catalogue images. That comparison fetched the two images fresh on every scan with a single two-second attempt, and when one fetch failed the original quietly won: the same photograph was identified correctly 28 times and wrongly once on identical code. The catalogue side is now fetched with retries and remembered per card, and a comparison that could not be made says so instead of deciding by default.
A binder page answers in half the time it did this morning
Three things ran one after another that can run side by side. The number reader that checks each pocket's printed collector number now does its work while the page call is still out, instead of after it; the second look that followed the page's own names is folded into the first; and the footer pictures go to the matcher while the number reader runs. On the owner's twenty-card pages the server time measured 9 to 13 seconds against 16 to 24 this morning, with the same answers. The response also says which model matched each page's pictures, so a slow first page can be explained.
October 2026327 shipped
The first binder page after a pause no longer takes half a minute
The picture matcher behind the binder scan runs on a separate machine that used to switch itself off 45 seconds after the last page, so at a counter nearly every page after a conversation paid its start-up and, worse, the phone's request gave up waiting after four seconds and did the matching the slow way on its own. The machine now stays on for ten minutes after a page, the scan desk keeps it awake every four minutes while the binder tab is open, and a page that does catch it starting waits for it instead of giving up.
The same card, not merely inside
On a table the detector sometimes boxes as two broad swathes rather than cards, the duplicate rule from 1.70.59 refused every card the model found because each sat inside a swathe, and the page came back with two pockets and nothing named. Two boxes are now the same card only when each holds the other's centre and they are of a size, so a swathe never swallows the cards on it while a jittered second box for one card is still refused.
A card is not added where a card already is
On a table of thirteen loose cards the model boxed each top-row card as a box two rows tall, the pairing preferred the second-row rectangle that box swallowed whole, the true second-row boxes then found their places taken and were added as new pockets, and every card after them was served one slot over with confidence. A reader box now pairs with the rectangle under its centre when both overlap enough, and a box whose centre sits in a pocket already on the page is that card, not a new position. A box clear of every pocket is still added.
The full page prompt is back
The shorter page prompt of 1.70.57 made each page cheaper and quicker to answer, and measured against the certification pages it read fewer names and served more wrong cards with confidence. Accuracy wins: the page call asks for everything it did before. The second look at close calls still runs while the page call is in flight.
A binder page asks the model for less and waits on it less
The single page call used to return a collector number and set code for every card, which the scan has thrown away since 1.70.50 because at page scale they are guessed rather than read, plus two flags written out even when false. The model is now asked for the box, the row and column and the name, and for empty or cut only when true, so a 20-card page's answer is roughly half the tokens: cheaper, and the seconds spent generating it come off every page. The second look at close calls is also prepared while the page call is in flight instead of after it.
Scale is $249 a month for 50,000 scans
The Scale tier moves from $199 to $249 a month for the same 50,000 scans at 120 requests a minute, half a cent a scan. A binder page now bills one scan and costs more to serve than a single card, and at $199 the tier sold volume below what it cost. Developer and Growth do not change, nobody was subscribed to Scale at the old price, and the custom rate above 50,000 a month stays.
A binder page bills one scan on the API
A binder page is one call, and it now counts one unit against an API plan's quota however many pockets it holds, where it counted nine. The developers page and the terms say the same. A page that does not complete still bills nothing.
A page's own reading has the last word on a confident pocket
Two pockets on the certification pages were served confident with a card the page reader had plainly contradicted: a Pikachu slab served as a Magnemite, a Mega Greninja ex served as a Mega Charizard X ex, both because a face scored between 70 and 89 was never checked against the read name. A third served the Japanese twin of an English card the page reads in Latin script. The served card is now checked against the reading last of all: a real catalogue name in the same script that is not the served card's, or a Latin reading of a Japanese print whose English print exists, takes the confidence away and hands the pocket back to confirm. Measured on every production page of the night, the rule fires on those three and on no right answer.
The developers FAQ describes the binder scan as it works
The answer to how the binder scan works still said the model's collector number picked the print. It now says what the single call contributes (where each card is, its row and column, and its name), that the artwork match picks and verifies the print, that a pocket the model did not list is placed by where it sits, and that the facing page is left out and counted.
A binder page keeps its lattice when the reader skips an empty pocket, and the facing page stays out
The page reader lists cards, not pockets, so an empty pocket it left out used to hand the page's positions back to a column guess, and on three seller pages and one of the owner's own the cards after it were served one slot over at full confidence. The listed cards now fix the page's rows and columns and every unlisted pocket is placed by where it sits; a card-shaped rectangle beyond that lattice at the photo's edge is the facing page and is left out and counted as clipped. The pictures are also cropped, embedded and matched while the page call is in flight, so a warm page answers several seconds sooner.
Every set opens, and the pack opening has a shape
Fourteen of the thirty five sets on the pack simulator, Ascended Heroes among them, refused to open: the card pool behind each set was only ever built by an overnight job, and once its row expired nothing rebuilt it. A set now lays out its own pool the first time someone asks for it, so every set the catalogue holds can be opened. The opening itself was redrawn: you hold the pack, tear it across the top, fan the cards, turn each one over and settle on what you pulled. It respects reduced motion, and a card or pack without a price says so in words.
The single-call scan takes the name from the model and the print from the picture
At page scale a collector number is about ten pixels tall and the model fills it in rather than reading it: on the owner's pages it returned numbers and set codes that belong to no print of the card, and one of them picked the wrong print. The single call now contributes the name and the position only; which print it is comes from the artwork match and, where several prints share the artwork, the pocket is handed back to confirm rather than priced on a number that was never read.
The single-call scan keeps the page's grid, and the docs describe it
On the first pages read with one call, an empty pocket the model did not list dropped out of the page and every later card moved one slot over. The page's own lattice is now kept whenever the model's boxes change nothing, and the model reports each card's row and column so an empty pocket is filled in as empty. The developer docs and the API terms now describe the binder scan as what it is: one model read of the page, the catalogue and the artwork settling the print, a dated market price per pocket.
Binder and batch scans now run on one model call
Every binder or batch scan makes one call: the model says where each card is and what it prints, name, number and set code, and the catalogue and the picture settle which print it is and what it costs. There is no second reader round, no separate call for card positions and no footer re-read; the whole page is read at once and priced. The previous four-reader path remains available as a fallback for comparison.
A one-call binder mode, selectable per scan, for measuring against the four-reader path
The binder route accepts mode=one: a single model call returns where every card is and what it says, and the catalogue and the picture decide the print. Nothing in that mode is confirmed by a second reader, so a recalled card stays a suggestion, and the pixel floors are the only guard against a read the model invented. The four-reader path stays the default until the one-call path has been measured on the owner's own pages with no confident wrong card.
Shorter waits in the two places a binder page was still standing still
The second look at a footer is bounded to four seconds and the wait for the readers' card boxes to six, which were the two stages still holding a page after the readers had finished. Measured on the previous build, a warm page spent nine to twelve seconds in verification, most of it waiting on that footer read. Accuracy rules are unchanged.
Binder pages come back in about half the time
The readers start on the page the moment the detector has rectangles instead of after the pockets are reconciled, so their work overlaps the embedding and the catalogue search rather than following it. A pocket the readers answered no longer goes to the slower on-device name reader as well, and the second look at a footer is bounded to six seconds. No accuracy rule changed; a warm twenty-pocket page measured at twenty-eight seconds should land near fourteen.
A pocket the readers did not box is still a pocket; sealed art is now visible to crawlers
When the readers lead the detection, a pocket the detector found and no reader happened to box is kept unless it is clearly a sliver; on one twenty-pocket page the readers boxed eleven and the other nine had been dropped, which pushed every later card one slot over. A single reader's cut-off box is still enough to retire a sliver of the facing page. The readers are given a little longer to answer so that a second model family arrives more often, which is what lets a recalled card be served confident. Sealed product pictures are now published to search engines from a path crawlers may fetch, and the home page has its share image back.
Binder pages keep their lattice, and a footer link to add moonstone as a preferred source on Google
On a binder page the readers' boxes no longer add pockets the page does not have (four stickers and sleeve edges became pockets on a twenty-pocket page); their boxes still add loose cards on a counter and still remove cards cut by the frame. The readers are given a little less time to answer, which takes several seconds off a page. The footer now carries Google's own wording, add as a preferred source on Google, linking to the page where a reader can choose moonstone so our notes show up more often in their Top Stories and AI answers.
The readers find the cards too, and a page is no longer forced onto a grid
Two of the vision readers now say where every card is, in parallel with the detector, and the two answers are reconciled: a card the readers boxed that the detector missed becomes a pocket, a card cut off by the frame or covered by the binder rings is left out and counted, and when the readers say the cards are loose on a counter rather than in a binder, the pockets follow reading order with no grid and no invented empty slots. On a table of thirteen loose cards the detector had kept nine; on a binder page a sliver of the facing page had become a fourth column and pushed every later card one slot over. Each reader also reports the row and column under every label, and a grid two readers agree on places the pockets instead of the detector's clustering.
Binder scan takes a second look at the footer of every pocket it could not settle
When a page read settles the name but the name belongs to several prints that share the same artwork, the pockets still open are tiled into one picture at the crop's own resolution and the readers are asked only for the collector number and set code under each label. A number that readers from two model families agree on, matching exactly one of the prints that name allows, settles the print. Numbers and set codes that only one family agrees on are recorded and used for nothing.
Binder scan waits for a second model family before it stops listening
Four readers now look at every page, from three model families. When the first two answers come from the same family the scan keeps listening for another family until its budget runs out, instead of closing the page early, because a card the picture alone could not place is only served confident when two families agree on its printed name. Measured from production on the previous build, the two readers of one family were back in eight seconds and the third was not, which left every recalled card unsure.
Binder pocket labels are drawn as pixel digits, and a read-only answer needs two model families
The numbered label on each pocket is now drawn pixel by pixel instead of typeset, because the server that reads the page has no fonts and the readers were counting blank labels for themselves. A card that the picture alone could not place is served confident only when readers from two different model families agree on its printed name; two readers of one family share their mistakes, and that is how a Raging Bolt was served as a Morpeko. A Japanese reading of a card whose own name is not Latin no longer switches the answer to the Japanese reprint.
Binder scan asks three readers and says so when the page reader was missing
A page is now read by three vision models at once and a name counts when any two of them agree, so one slow or absent reader no longer leaves every name unconfirmed. When several prints share a name and only one has that artwork, the picture settles the print and the pocket is served confident. A scan that ran without the page reader is reported as such in the API response and on the scan desk, instead of quietly handing back a weaker result.
Binder scan labels every pocket before the page is read, and two readers must agree
The page read now draws a numbered label on each pocket the detector found and asks for the card under each label, so a name can only land on the pocket it was read from. On the owner's twenty-pocket pages the earlier read counted positions itself and handed names one pocket late. Two vision models read the page in parallel and a name counts only when both return it; a pocket with a confirmed name is now served as a confident match, a confirmed empty pocket is served as empty, and a confirmed name that contradicts the picture withdraws the picture's confidence rather than letting a wrong card through.
Binder scan reads the whole page before it matches a single pocket
A binder page is now read in one pass, the way a person reads it: the printed name on every card, in the card's own language, Japanese included, and an empty pocket reported as empty rather than filled with a guess. Each card is then matched against the catalogue with that name in hand. On the owner's own shop photos the scanner was identifying fewer than half the cards on a page and inventing cards in empty pockets; the page read gets the name on every card it can see and says so when it cannot.
The printed HP now separates two prints of the same trainer's card
Some cards exist as two prints that share a species, an owner, a dex number and the artwork, and differ only in the HP printed on the front. The scanner already knew to read that HP and use it, but only on one of the two routes it can take to those cards. It now does so on both.
A graded card's label now outranks a misread of its own foil footer
On a graded card the number printed on the grading label is flat ink read at label size, while the number on the card itself is tiny foil read through plastic. When the footer read disagreed with a label that had already identified the card by name and number, the scanner was letting the footer win, which could return a different card from the same set. The label now holds.
Back to the scanner's best measured version
Three changes to how the scanner recovers from an unreadable collector number were tried and measured against our photograph set. Each one helped a card and cost a different card, so all three have been taken back out and the scanner is the most accurate version we have recorded.
The scanner stops guessing past a name it can already read
When the collector number is blurred, the scanner is allowed to try the card one digit away. If the photograph clearly shows a different card's name, and that card is also the better match by eye, that guess is now dropped rather than preferred. A blurred Vileplume was coming back as a Venomoth with the word Vileplume legible in the same picture.
A Japanese card is no longer passed over for being filed in English
When the scanner reads a Japanese card it checks the printed name against the names in our catalogue. Some Japanese cards are filed under an English name, which cannot appear in a Japanese photograph, so that check could never succeed for them and the scanner was reading the failure as a reason to prefer a different card. It now treats a check it was unable to run as no evidence either way and keeps the card the picture actually matches.
A misread digit in the set size no longer hides the card
A collector number is printed as a card number and a set size, like 047 of 071. The scanner can already allow for misreading one digit of the set size, but the cards it recovers that way are by definition ones the picture did not rank, so they were being pushed out of the shortlist by cards matching the size it had misread. Two places on that shortlist are now held for them.
The scanner tries harder to read the number on a plain card
When the scanner cannot make out the small collector number printed at the bottom of a card, it has four further attempts: a closer crop, a sharper one, one that trims the edge of a sleeve, and a tight crop for dark photographs. Those attempts had quietly been switched off for every card that is not in a grading case, which is most of the cards people scan. They run again.
Japanese cards come back with their price
We hold many Japanese cards twice, once in each of the two catalogues we use, and only one of the two copies carries a price. Until now the scanner could only tell those copies were one card when both catalogues happened to use the identical photograph, which is a minority of them. It now recognises the pair from the artwork itself, so a Japanese card you scan comes back with its market figure instead of without one.
A misread digit in the set size no longer costs you the card
A collector number is printed as a card number and a set size, like 047 of 071. If the scanner misread one digit of the set size it could rule the right card out completely, and for a large part of the Japanese catalogue it was not reading the set size at all, so those cards scored lower than they should have on every scan that read a number. Both are fixed.
The scanner goes back to its most accurate version
A change meant to help the scanner pick the priced copy of a card did not do that, and when we measured it against our photograph set it cost two cards that had been identified correctly before. It has been taken back out, and the scanner is once again the most accurate version we have measured.
A cleaner status page
The status page was seven bordered panels stacked under a large headline and a boxed banner, which made a page you are meant to scan in two seconds into the heaviest thing on the site. It is now a quiet list: a single status line, hairline rules instead of panels, a smaller headline, and each history strip sitting next to its own figure.
Past disruptions line up again
On the status page, a disruption that lasted several days printed a wider date than a one day disruption, which pushed its name further right and left the list looking stepped. The date column is now wide enough for the longest date it can hold, so every name starts in the same place.
A key for the status history
The daily columns on our status page carry three colours, and until now the only way to tell them apart was to hover one with a mouse. There is now a key beside them naming each one.
The status page now shows how much of a day was really affected
Our status page painted a whole day red whenever a single check failed once, so a day on which thirty-three of thirty-four checks passed looked exactly like a day that was genuinely down. Each day is now filled by the share of checks that came back clean, the history begins where our measurements begin rather than padding out three empty months before them, and each past disruption is listed once with how long it lasted and how much of it we caught.
October 2026327 shipped
A correctly identified card now shows its price
Some cards appear in our catalogue twice, once from each source, and only one of the two carries a price. When the scanner matched a card by the name printed on it, it could pick the copy without the price, so a card it had identified perfectly still came back without a market figure. It now takes the priced copy of the same card.
Scanning a card with your collection behind it
If you photograph a card on a stand or a desk with other cards in shot, the scanner was reading the names printed on those other cards too, and sometimes answered with one of them. It now reads the name from inside the card it has found, so what is behind the card no longer competes with it.
Scanning a card with other cards behind it
When a card is photographed on a stand with a collection behind it, the scanner reads text from the cards in the background too, and the number printed on the card in front becomes the only clean signal. Three ways it could still talk itself out of the right answer are fixed: a single misread digit no longer rules the correct card out, the printed name is allowed to settle a tie, and a reader that cannot answer one comparison no longer abandons the rest.
The scanner trusts the name printed on the card more often
Two ways the scanner could talk itself out of the right card. If it misread one digit of the small print after the slash, like 006/130 for 006/131, it stopped considering the correct card at all and often served a different version of the same card. And when the number matched several cards, it chose between them on the picture alone, even when the name printed on the card was sitting in what it had already read. It now reads both halves of the number more forgivingly, and lets the printed name settle the choice.
Card pages are quicker again
A card page was asking the database five questions about every other card we track, every time it loaded, to work out things like how its price compares. Those comparisons are now worked out once and shared, and the list of other printings of the same card is a direct lookup instead of a search. Same numbers on the page, far less work behind it.
Market reports build faster
The query behind the report directory was pairing every card against every graded sale record to find the newest one. It now looks each card up directly, which takes about two seconds instead of ten. Same cards, same numbers, same order.
The PSA 10 movers board refreshes every four hours
It was rebuilding every hour from a record of sold prices that only turns over once a day, so twenty-three of every twenty-four rebuilds produced the same board at real cost. It now rebuilds every four hours. The numbers you see are the same ones; they are worked out less wastefully.
Card scanning is reading the printed text again
The service that reads the words and numbers printed on a card had been turned away since last week, so the scanner was matching on the picture alone and getting more cards wrong than it should. Nothing on the status page was watching that service, so it looked like the scanner itself had got worse. There is now a check for it, and the nightly accuracy test refuses to score at all while it is unavailable rather than reporting a number it cannot stand behind.
Card pages and the movers rails load faster
Every request for a card that has no picture of its own was searching the whole catalogue to find the art of its base printing, and the movers rails did the same on every load. That answer is now worked out four times a day and reused. The biggest PSA 10 movers page was also rebuilding its whole board on each visit instead of reading the one built for it every hour. The pages that were doing the most work are the ones that got quicker.
Sealed box and pack photos no longer show a broken image
Some sealed products have no photograph of their own. The page was still building a picture address for them, and that address answers with an error, so a real price sat next to the browser's broken-image icon. Products without a photograph now show a plain placeholder, and the nightly job that fetches the missing pictures no longer gets stuck retrying the ones that will never answer.
The site stops changing from dark to light while you are reading it
If you had never picked light or dark, the site followed your device and repainted the moment your device changed its mind, which on a Mac set to automatic appearance happens at sunset. Someone presenting the site watched it turn from dark to light in front of an audience. Your device still decides how the site opens; it no longer redecorates a page you are already looking at. The old fallback that guessed from the time of day is gone too, so the same device no longer gets a different site before and after seven in the evening.
A card page no longer prints two different grading populations
On Base Set Charizard the sentence said a PSA population of 106,055 and the panel beside it said 106,555. Both numbers were real, one day apart: the written page is cached for a few hours while the panel fetched a newer figure, so the two halves of one screen were quoting different days. The page now takes that figure from one place, so what you read and what you see agree.
Cards with a different foil finish show the card instead of a grey placeholder
Some printings exist for us as a price but not as a picture, because the supplier has no photograph of that particular finish. A Mirror Holofoil is the same printed card with a different shine, so the board now shows the plain printing's photograph beside its price rather than an empty frame. It is never mistaken for a different card, and the scanner still refuses to use a borrowed picture to identify anything.
Prices refresh faster than they go stale again
The job that keeps card prices current was sized for a catalogue we have since outgrown, so it could refresh 6,000 prices a day against 6,005 that went stale, and an out-of-date price is still shown rather than hidden. It now works out how much there is to do instead of using a number somebody set once, so it stays ahead as the catalogue grows. The job that clears out old cached data was also never finishing, which is what let the backlog build.
The status page now checks that Cynthia answers, not just that she can afford to
Our own status page said Cynthia was operational on a day when she was answering nobody. Everything it watched was about cost, and a service that has stopped working entirely spends nothing, so the silence looked like good news. It now asks her a question on every health run and reports what came back, how long it took, and whether a real model answered it. If she goes quiet again, the status page says so before you have to tell us.
Cynthia answers again, and answers the question you actually asked
Two things were wrong at once. Every question was taking a minute and a half and then giving up with nothing to show for it, because a lookup that runs before Cynthia is allowed to think was reading the entire cache table to find four rows it never found. And a question about the market as a whole was being read as a question about a card, so asking how the market was doing pulled up price panels for a trainer card called Black Market. Answers now start arriving in a couple of seconds, and a question about the market is answered as one.
The support queue shows what the customer actually asked, and binder scans stop drifting
The on-call queue listed a subject line and four buttons, and the question itself only appeared after opening each ticket one at a time. That is the wrong way round when something urgent is waiting: you want to know what was asked before you decide what to do about it. The first few lines of every message now sit in the list, with the full text still one tap away.
Scanning the same binder page twice now gives the same answer
Binder scanning checks the printed name on cards it is unsure about, and it was doing that for however many cards it could fit into a few seconds. On a busy server that was two cards; on a quiet one it was four. Scanning the identical photograph five times produced four cards that changed their answer between runs, and one run confirmed eight cards where the others confirmed eleven. It now reads every card it is unsure about before it answers, so the result depends on the cards rather than on how busy the server happened to be. Pages take longer when the server is slow instead of quietly giving a different answer.
September 2026145 shipped
Binder scanning stopped tripping over the HP printed next to the name
A Pokemon card prints its HP right beside its name, so when the scanner reads the name line it reads the HP too. It was then comparing the whole thing, number included, against the card's real name, which made correct reads look like near misses. One page had Mega Floette ex read correctly and served as Xerneas EX because the match scored one hundredth under the bar. The number is now set aside before the comparison. Names ending in a digit, like Porygon2, are untouched.
Binder scanning commits to more of the cards it already recognised
Binder scanning was finding the right card far more often than it was willing to say so. Measured across five full pages of real cards, it had the correct card at the top of its list for ninety five percent of pockets and committed to under half of them, handing you the rest to confirm by hand. It was deciding with two separate tests that each had to pass on their own, so a card that was obvious on one measure and merely good on the other got held back. It now uses the single combined score it was already calculating. Across two hundred pockets that serves eleven more correct cards and not one additional wrong one.
Binder scanning tells you when the photo is too far away
How close you hold the camera turns out to be the single biggest thing you control about binder scanning. Measured across ninety six real pockets, a page shot close enough that each card gets about four hundred pixels gets its printed names read three quarters of the time; a page shot from further away manages about a third, and those cards come back for you to confirm instead of being identified. There was already a warning about this and it was inside the drawer, which is closed by default on a phone, so nobody saw it. It now appears over the scanner where you cannot miss it, and it triggers at the size the reading actually breaks down rather than well below it.
Binder scanning actually reads the card names now
Binder scanning is meant to check the printed name on a card before committing to an answer, and that check was silently never happening. The part that reads text loads a model the first time it is used, and on a binder page that load was happening inside the few seconds set aside for reading, so the time went on loading and no names were ever read. The model now loads while the page is still being looked at, so the reading has its full budget. When a read does fail it now says why instead of saying nothing.
Research tables are readable on a phone
Wide tables in research articles could only be read by scrolling them sideways, which meant the most important column was often off the edge of a phone screen and the headings scrolled away with it. On the booster pack study that hid the return per dollar figure, which is the whole point of the piece. Every row is now its own labelled card on a phone, so each number arrives with the name of the column it came from. Bold text in articles also renders as bold rather than showing its asterisks.
The pack study now explains why an average can mislead you
The most useful finding in the booster pack study was hiding in a column heading. Some sets give back roughly what their average says, and some do not, because one very rare card is carrying the whole figure. Evolving Skies gives back eighteen cents per dollar on average and about eight cents in the box you are actually likely to open, since the Umbreon that carries it turns up in about one box in sixty seven. There is now a plain section explaining that, and a table showing which sets are honest about themselves and which are not.
Binder scanning goes back to asking when it is unsure
An earlier change today let binder scanning commit to more cards. Measured against ninety six real pockets it did commit to eleven more correct ones, and also to eleven wrong ones, where before it had committed to a single wrong card. Being handed a card to confirm is a small annoyance; being told the wrong card confidently is not, so that change is reverted. Binder scanning is back to where it was this morning while the real fix is worked on.
Binder scanning hands back fewer cards for you to confirm
Scanning a binder page was finding the right card far more often than it was willing to say so, and handing you the rest to confirm by hand. Measured across ninety six real pockets, it had the correct card at the top of its list in sixty of them and only committed to thirty five. The bar it has to clear is now set from that measurement rather than from a guess, and it reads more of the printed card names before answering. It still refuses rather than guessing when it is unsure, which is unchanged and deliberate.
The welcome tour asks first instead of taking over the screen
The walkthrough for first-time visitors opened itself over the page, which covered the site before anyone had seen it and on a phone got in the way of tapping anything. It is a small bar at the bottom now: take it or dismiss it, and either way the page underneath works normally the whole time. If you ignore it, nothing extra is even downloaded.
Fixed the welcome walkthrough breaking the desktop site
The short walkthrough added for first-time visitors pointed at the bottom tab bar, which only exists on phones. On a desktop browser it had nothing to point at and took the page down with it. It now checks that what it is about to highlight is actually on the screen, and does nothing at all when it is not. Phones are unaffected.
Signing in keeps the cards you already scanned
If you scanned cards before making an account, signing in used to replace them with your empty account and they were gone from the device too. Now they move into the account with you. If both your device and your account hold cards, nothing is overwritten and you get to choose. Alongside that, a scan on a phone now tells you which card it found instead of only a count, the price on each thumbnail is readable in daylight again, and when scanning is paused because too many scans came from your network you get told that rather than being shown No match.
A short welcome that shows you where to start
First-time visitors now get a brief walkthrough of the three things worth knowing: point your camera at a card, find what you scanned in your collection, and ask Cynthia about anything. It appears once, it skips in one tap, and it never asks you to make an account, because scanning and collecting both work signed out. Anyone who has already scanned a card will not see it.
Binder scanning tells you what it is doing, and what went wrong
Scanning a binder page showed a plain question mark on a flat tile while it worked, which looked the same as a card it had failed to price. Cards still being read now shimmer and show a spinner, so you can tell at a glance what is in progress and what is finished. And a binder scan that finds nothing no longer does it silently: if the page could not be read, or the cards on it could not be identified, it now says which of those happened and what usually fixes it, instead of leaving the shutter looking broken.
Graded top movers opens straight away, every time
Opening graded top movers was rebuilding three different time windows on the spot. We had already made that work happen once and be shared, but whoever arrived first after it expired still waited for the whole thing, which measured at thirty seven seconds. The rebuild now happens on the hourly job that owns the underlying figures, so the board is always sitting ready and nobody waits for it. The numbers and how often they refresh are unchanged.
Cynthia gives you an answer instead of an error page
When the service that writes Cynthia's replies was slow, she was waiting on it for the entire time she was allowed to run, so the page gave up and showed an error rather than the shorter answer she keeps in reserve for exactly that case. She now stops waiting with time to spare and tells you what she can. Separately, the scanner was preferring cards that several of its checks half agreed on over the card the photograph plainly matched best, so a Base Set Charizard could lose to a different Charizard. How well the picture matches now counts in that decision.
Cynthia answers again, and the graded movers board opens straight away
Cynthia had started timing out instead of answering. Asking her about a set made the site rebuild that whole set from scratch two or three times for the one question, and on a big set that took longer than the answer was allowed to take. It is worked out once now and kept for a few hours, so she replies again. The same thing was happening on the graded top movers: opening it rebuilt three different time windows on the spot, which measured at twenty three seconds against roughly one for the other boards, and is why switching between the mover sections felt like it hung. That work now happens once and is shared, so the board opens straight away. The figures behind both are unchanged, and they refresh on the same schedule as before.
The scanner is back on the version we know the score of
We changed several things about how the scanner picks between close candidates, and then the number we use to check it fell. The changes were measured one at a time and none of them explained the fall, so rather than keep guessing with the scanner live we put it back to the exact version whose score we have on record and will re-measure from there. Nothing about what the scanner can recognise has been given up: the version it is on is the one that set our best recorded score.
Every scan now says which model read it
We run two copies of the model that looks at your card: a fast one on a graphics card and a slower one in the same place the website runs. The fast one hands over to the slow one whenever it has a problem, which is the right thing to do, but until now nothing wrote down which of the two had actually looked at your photo. The two do not agree perfectly, and the size of that disagreement is about the size of the margin the scanner uses to make up its mind. So the answer now carries the name of the model that produced it, and the accuracy figure we publish refuses to count a test where the two models split the work between them.
Two printings of one card, told apart by the number in the corner
Some cards were printed twice in the same set with the same picture and nothing separating them but the small number in the bottom corner. Jungle Vileplume is one: a shiny version numbered 15 and a plain one numbered 31, the same artwork on both. The scanner compares pictures, so on a pair like that it was choosing between two things it cannot see a difference in, and it was never actually putting the two side by side to read their numbers. It does that now, and it only overrules the picture when the number is clear enough to be worth trusting.
The list you pick from no longer shows you the same card twice
A scan the scanner is not certain about hands you a short list to pick from, and that list could spend several of its places on one card. We hold some cards under more than one entry, and a few of the steps that reorder the list did not check for it, so on one test photograph three of the eight places went to cards it was already showing you. You now get eight different cards to choose between instead of five. A separate change widens the net the list is drawn from, which on the same photograph brought in the card the scanner should have found. It is still further down the list than it should be, and that part is not finished.
Three Pokemon indices, on the home page
There is now an index for the card market the way there is one for the stock market, and there are three of them. The Moonstone 500 holds the 500 priciest single cards in the market, English or Japanese, each counting the same. Moonstone Vintage holds 500 cards printed before Black and White. Moonstone Modern holds 500 from Sword and Shield onward. Pick one on the home page chart to see how it has moved, then open it to scroll every card it holds with its own change and how much it swings. Each list says in plain words what it holds and what it refuses, because a list you cannot check is just a number.
Two studies on where the money in this hobby actually sits
We added up what one of every card costs across all 635 sets we can attribute, and then added up what the slabs of those same cards are worth, and the two answers disagree. Base Set holds the most famous card in the hobby and ranks 91st on what it costs to complete. Reaching half the money takes 59 sets, not the handful everybody names. The second study explains how the three indices are built, including the parts we are not happy with.
September 2026145 shipped
A Japanese card that opened a blank page now opens the card
Clicking a Japanese print could land you on a page with no picture, no price and no printings, because we hold that card written down twice and one of the two entries is empty. Those pages now take you to the entry that has the card in it. Where we cannot tell which one that is, you keep the honest thin page rather than being sent to the wrong card.
Missing pictures on reverse holos and other print variants
A Mirror Holofoil or a Reverse Holofoil would show a grey placeholder next to a real price, because the card image site does not carry a separate photo for every finish. Those now borrow the picture of the plain printing of the same card, which is the same printed front. Where more than one card could be the plain printing, we still show nothing rather than guess, because a wrong picture beside a real price is worse than no picture.
Your home page, signed in, is the whole site again
Signed in, the home page had been stripped back to a balance and a few lists, and almost half of it on a phone was the sitemap at the bottom. It now carries everything a visitor sees, with your own position at the top: the scrolling quotes, the movers, the research and the articles. The buttons under your chart also stopped turning red on a day your collection was down, which was never meant to happen.
When the scanner reads the number on your card, that reading now sticks
The scanner reads the collector number printed at the bottom of a card and uses it to rule cards out. Further down the line, a separate step that matches the card's name could put back a card the number had already ruled out, and when it did that it sometimes replaced a card that matched your photo almost perfectly. A number the scanner read clearly now settles the question for the rest of the scan.
Our research now shows the days behind a fall, not just the percentage
The daily price file does not arrive every day, and on a day it does not, yesterday's prices get stored again under the new date. Every fall we rank now carries the two days it actually happened between, so a drop that took two days is never written up as one. Where we check a price against a Near Mint quote, both readings are taken over the same days rather than one series running four days longer than the other. And a PSA population line that has not been updated since before a card's set came out is refused rather than printed, because those slabs belong to some other card.
Signed in, the home page is the whole site again
Members were seeing a stripped back home page: no scrolling quotes, no movers, no research rails. It now carries everything a visitor sees, with your own position at the top in place of the welcome panel. Your holdings sit where the greeting used to be, and the market picks up right below it.
The daily research post reads like a person wrote it, because a person did
Each daily post now says exactly where its own numbers came from rather than reciting the same sources for every piece, ends by asking which cut of the work you want run next, and carries its link as a plain label instead of a tracking string. The same study will not come round again inside a month, and if it ever would, the post is held instead. If you think a figure is wrong, say so in the comments: that is the whole reason the link is there.
One piece of our research goes out to r/PokeInvesting every day, with its chart
Every day one of our studies is posted to r/PokeInvesting in full: the finding, how it was measured, the specifics with real card names and figures, the one thing the data cannot tell you, and the chart itself so you can read it without leaving Reddit. The link to the full tables is there if you want the working. If you think a number is wrong, that is the place to say so.
Sixty five cards the scanner could not have found are now in the catalog it searches
Some catalog entries never had a picture attached, and the scanner can only recognise a card it has a picture of, so those cards could not be found no matter how good the photo was. We went back to the original card databases and recovered the artwork we could. Most of the gap turned out to be cards the sources genuinely have no picture of, which is worth knowing rather than guessing at.
Extra candidates are no longer thrown away the moment the scanner reorders them
The scanner adds a few extra cards to your results when it has reason to think the obvious answer might be wrong. Every rule that reordered the results then trimmed the list back to its original length, which quietly deleted those extras before you ever saw them. Trimming now happens once, after the extras are added, so a card the scanner went looking for on your behalf actually reaches you.
The card your photo matches best is now always looked at
The scanner shortlists cards by how many of its readings agree on them, then checks that shortlist against the number printed on your card. A card that no reading happened to shortlist never reached those checks, even when it was the closest visual match in the whole catalog. It now gets a place on the list whenever it matches your photo better than the card the scanner was about to name, and the number check now reads the full list rather than the first two dozen.
Cards the photo matched best were being sorted to the back of the catalog
Some cards in the index come from store product photos rather than flat artwork scans, and the scanner nudges those down a little so a plain catalog card wins a tie. The nudge was landing on cards the photo matched better than anything else and pushing them to the very back of the catalog, where nothing could reach them. One card in our test set now scans correctly that did not before, and several others have come back within range of the checks that confirm a card. More to do here.
Trainer Gallery and Galarian Gallery are told apart by their letters
Some cards are printed in lettered subsets, so the same Pikachu can exist as TG05 in one gallery and GG30 in another with near-identical art. The scanner had a rule for telling a lettered number from a plain one, but not for telling two different lettered subsets apart, so it could offer you the wrong gallery. The letters printed before the number now count, and the card's own footer decides.
A Japanese card and its English listing are one card again
Many Japanese cards sit in our catalogue twice: once under their Japanese name with no price attached, and once under the romanised name that carries the price and the rarity. Both were going into the scanner and competing, so pointing your camera at one could return the copy that knows nothing about itself. They are now recognised as the same card, confirmed by comparing the two pictures rather than the two names, and you get the copy that can actually be priced.
One card listed twice no longer competes with itself
Some cards appear in our catalogue more than once because the shops we source from list the same card under separate product entries, usually a trainer or energy card reprinted across several decks. Both copies were going into the scanner and splitting the vote, so the one with less information about itself could win. Copies that agree on the card name, its printed number and its set size are now treated as the one card they are, and the entry that actually knows its rarity is the one you get shown.
Reverted: the binder scanner goes back to asking for more before it commits
The previous release let a second reading of a card's printed line confirm the answer outright. Measured against our certification photos it settled two more cards per page and got four more wrong while sounding certain, which is the wrong trade: a card we are unsure about costs you a tap, a card we are confidently wrong about costs you a mispriced sale. It is back to the previous behaviour while we find a version that separates the two cases.
When a second reader agrees, the binder scanner commits
On a binder page we read the card's artwork, and separately read the printed line along its bottom edge. When that second reading independently picked the same card, we recorded the agreement and then still marked the card unsure, so you had to confirm cards we had already checked twice. Agreement from that second reading now counts as the answer. A card cut off by the edge of the photo is still never called certain, because agreeing about the half we can see settles nothing about the half we cannot.
Our own self-check stops reporting a problem nobody can fix
The status page counted every catalogue entry that has no picture for the scanner to learn from, and raised an alarm whenever that number grew. Most of those entries have no artwork anywhere, so nothing could ever be done about them and the alarm went off every time the catalogue grew. It now counts only the entries that do have a picture and are waiting to be learned, which is the number somebody can actually act on.
Card pages stop rereading the entire price history of their set
To show how a card has moved against the rest of its set, every card page was reading every price ever recorded for every card in that set, and working it out again from scratch for each card. The answer is the same for all of them, so it is now worked out once per set and kept for six hours. Pages that were doing hundreds of thousands of database reads apiece now do a handful. Nothing you see changes; it just stops costing what it was costing.
The scanner will now question its own first guess
When the scanner lined up its best guess against the alternatives, it only ever compared cards sharing a name with that first guess. If the first guess was the wrong Pokemon entirely, every alternative was wrong too and the right card was never even considered, however clearly the photo showed it. A card the camera matches far better than the leading guess is now put forward as a challenger in its own right, and still has to win on the printed number like any other.
The card in your hand gets the room it deserves
On a phone, the picture of the card you just scanned was smaller than a postage stamp, which is no help at all when the question is whether we found the right print of an alternate art. It is now large enough to recognise at a glance. The confidence figure beside the name has changed too: a settled match shows a quiet tick instead of a number competing with the card name, and a doubtful one says so in words. Separately, a set whose logo has gone missing from our image provider now falls back to its lettered badge instead of trying to load a picture that is not there.
A V is not a VMAX, and search answers while you are still looking at it
Two fixes. When the scanner compared the name it read against a card in our catalogue, it ignored the V, VMAX, VSTAR, ex and GX part of the name, so a Mimikyu VMAX and a Mimikyu V looked like the same card to it and it could pick either. That part of the name now counts, which matters because those pairs often differ many times over in price. Separately, a search was working out a live price for every card it matched, up to four hundred of them, before it showed you anything. It now prices the ones you can actually see, so results arrive in about a third of the time.
An empty binder pocket is no longer read as a card
A pocket with nothing in it could still be given a card name and a price, because the only thing standing in the way was a test asking whether anything in the catalogue looked like those pixels. A sleeve catching the light can pass that. The scanner now asks the better question first, which is whether there is a card there at all: a card is printed and an empty pocket is flat, and the difference is large and easy to see. An empty pocket comes back as empty.
Clear all is back where you can reach it, and a card we cannot read says so
Clearing a scanning session now sits with Add all and Export CSV instead of as a small link above the list, where it scrolled out of sight on a phone, and it asks once before throwing a session away. And when a photo gives us too little to go on, the card no longer picks the best of a bad list and states it as fact. A Ninetales came back as a Groudon at five percent confidence, with the right card sitting tenth in the same list. A card that weak is now shown as one we could not read, with the alternatives there for you to choose from.
The self-check stops filing a new alert every hour
Our own monitoring files a ticket when a check goes red, so nothing gets lost in a log. It was filing a new one every time the set of red checks changed, treating each combination as a separate problem, and it never filed anything to say a problem had gone away. The result was a support queue full of our own machine reports. A red check now keeps one ticket that gets updated while the problem lasts and closes itself when everything is green again.
The scanner stops hedging on cards it has already told apart
On a binder page, when another printing of the same card existed anywhere in the shortlist, we marked the card unsure even when the photo had clearly picked one of them. A printing now has to be genuinely close before we hedge. More of the cards on a page come back named and priced instead of waiting for you to confirm them, and we are no more likely to be confidently wrong than before.
A binder page tells you how much detail it had to work with
How many pixels each card gets is the single biggest thing that decides whether a binder page reads correctly. Below roughly 210 pixels per card we cannot read a card name at all. The scanner asks your camera for its highest setting, but a phone or a browser can quietly hand back something smaller, and there was no way to tell which had happened. Every binder page now reports the size it was read at and how much detail each card got, and says so plainly when it was too little. Cards you remove from a binder page are also kept at full detail now rather than as a small thumbnail, which is what lets us fix the misses you find.
Binder pockets are numbered by where they are, every time
The previous two releases fixed how we number the pockets on a binder page, but only on pages laid out as a clean grid. On any other page the numbering and the order we sent the pockets in could disagree, which moved cards onto the wrong rows for some photos. A pocket's number is now always its place in the answer, on every kind of photo, so what you see in the tray matches what is on the page in front of you.
A binder page answers with all of its pockets
This finishes the fix in the previous release. A page was only reporting the pockets it could find a card in, so an empty pocket, or one we could not read, was simply left out of the answer and everything after it moved up a slot. A page now comes back with every pocket it has, and one with no card in it comes back as an empty space. You see a gap where the gap really is, and every other card sits where it actually sits on the page.
Binder pages put every card in the right pocket
When you scan a binder page we find each pocket and report what is in it. If we could not see one pocket, every card after it was reported one slot early, so a page where we read nine cards correctly could hand all nine back attached to the wrong position. Pockets are now numbered by where they sit on the page rather than by the order we happened to find them, so a pocket we cannot see leaves a gap and every other card stays where it belongs.
The scanner's accuracy alarm stopped crying wolf
Every night we point the scanner at a fixed set of 159 real photographs and compare the score against the best score ever recorded, and the status page raises an alarm if it drops. A handful of those photographs genuinely answer differently from one run to the next, so the alarm was firing on nights when nothing about the scanner had changed. It now waits for a second run to agree before calling a drop a fault, and it re-runs the test straight away instead of waiting for the next night, so a real drop is still caught within the hour. The same rule now applies in the other direction: one unusually good run no longer becomes the score every run afterwards is judged against. A large drop is still reported immediately, because that is never one of these wobbles.
Graded prices for the cards that almost never trade ungraded
Some of the most sought after cards in the hobby hardly ever change hands raw, because nearly every copy is already in a slab. Our graded price check was quietly skipping exactly those cards: if it could not find a price for an ungraded copy first, it recorded the card as having no graded sales at all and stopped asking for two weeks. Gold Stars were the clearest casualties. Mewtwo, Charizard, Rayquaza and Mudkip Gold Stars now carry their graded prices across every grade, the way Pikachu and Raikou Gold Stars always did.
The card screener was mixing two days of figures
The nightly job that rebuilds the screener had been running out of time partway through, and because it replaced each card's row as it went, the table was left holding some rows from today and some from two days earlier. The screener and the home page section that draws from it both presented that as one current picture. The rebuild now writes a whole new set before anything switches over to it, so you either see the newest complete set of figures or the last one, never a blend of the two, and the date at the top is always the date of what you are looking at.
The scanner can now see a Japanese card next to its English twin
Thousands of Japanese cards are listed with their collector number inside the card's name, and the scanner was treating that number as part of the name. A Japanese print therefore never looked like the same card as its English counterpart, so when the scanner compared close candidates side by side, the Japanese one was left out of the comparison entirely. Point your camera at a Japanese reprint and it is now weighed against its English twin the way any other pair of printings already was.
Two jobs that had been failing quietly every night
The job that publishes the scanner card list to the CDN had not succeeded since the first time it ran, because it was refusing to replace its own file. And the morning letter could be left permanently stuck: if the writer started a day and then died, nobody could pick that day back up, and the only way out would have sent you a letter with nothing in it. A half-written day is now released after half an hour, while a day that was actually written still waits for a person.
The self-check reads its slow numbers instead of recalculating them
Three of the checks on the status page were each reading the whole card catalogue to work out one figure, which used up the time the check is allowed and left other checks unreported. Those figures are now worked out by a separate job once an hour and written down, so the self-check reads them. Every one of them is shown with how long ago it was measured, and a figure that goes stale is flagged rather than quietly treated as current.
The hourly self-check stopped running out of time
One of the checks that watches for a set filed under two different names was taking 94 seconds on its own, which used up most of the time the whole self-check is allowed and left the rest of it unreported. It needed an index that had never been created. That check now takes under a second, so the status page reports every check again instead of stopping halfway.
The site stops running out of database connections while idle
Pages and scans were intermittently failing because each server instance held a database connection open whether or not it was doing anything, so the account ran out while barely working. Connections are opened per request now and released immediately, and when the database does turn a request away, the site asks again instead of showing you an error. Set pages also stopped counting their own cards the slow way, which was reading the whole catalog three times for every set; the count now comes from one pass shared across pages, so it can be up to ten minutes behind a brand new card. The status page carries a new reading for how often the database turns a request away.
A price is only trusted when the card's own condition prices make sense together
A damaged copy cannot be worth more than a mint one. Where the prices we hold for a card say otherwise, we no longer treat its near mint figure as the card's value, because that figure is the unreliable one. The card keeps the price it had rather than taking a number we cannot stand behind.
A card that was simply re-priced is not a card that moved
Some cards sat at one price for weeks, jumped once, and sat at the new price. That is a seller re-pricing, not the card changing hands, so those no longer appear as movers whatever the size of the jump. We also stopped a card's price from being taken from a different version of it, such as a reverse holo standing in for the normal print.
September 2026145 shipped
Every price on the site is a near mint price
The daily feed we price from carries one figure per card with no condition attached, and on cards with no recent near mint sales that figure is what a played or damaged copy fetched. We now publish the real near mint price everywhere we can prove it describes the same card, so search, the screener, artist pages and your collection all show what a near mint copy is worth.
Condition prices stay with the printing they belong to
A card's printings are different items with different prices, so the per condition prices we record for one printing are no longer shown against another. Where they do not match we say we have none rather than showing a number from a different version of the card.
The headline price is the card's price, not the cheapest thing listed
When nothing was for sale near a card's market price, we used to show the cheapest listing instead. That listing can be a damaged copy of a different printing, so it was never that card's price. We now show the market price and the cheapest listing side by side and say what each one is, and where we hold a real near mint price it leads.
Real prices for played copies, and no invented ones
The card page used to estimate what a lightly played or damaged copy was worth by taking a fixed fraction of the near mint price. It now shows the real price for each condition where we have one, and says plainly when we do not. The daily boards also hold back until our record covers enough of the market to call anything the week's biggest move.
Price moves are measured on near mint prices, and nothing else
We now keep our own record of what a near mint copy of each card was worth on each day, taken from real per condition prices rather than a single figure that could quietly describe a played copy. Every price move on the boards and the screener is measured from that record, so a card only appears when both the old price and the new one describe a near mint copy. We also keep the lightly played, moderately played, heavily played and damaged prices, so what a worn copy is worth becomes a real number instead of an estimate.
A card that only looks like it rose is left off the board too
Some cards appeared to jump because the price we had been comparing against was a played copy rather than a near mint one. A move is now checked at both ends, so a card only appears when both the old price and the new one describe a near mint copy.
Every price we publish is a Near Mint price, and we say when we saw it
A card is worth different amounts in different conditions, and a heavily played copy is not what your near mint copy is worth. Our daily boards now confirm each card is quoting a near mint price before printing it, and a card we cannot confirm is left off rather than shown. A price we last saw months ago no longer counts as today's price.
The scanner's accuracy is measured every night and can only go up
A fixed set of 159 real photographs is scanned on a schedule, the score is recorded with the exact build and index that produced it, and the best run ever recorded becomes the bar. A run below the bar turns the scanner red on the status page and names the cards it got wrong. A run that could not be measured says so and leaves the bar alone.
Graded prices agree with each other everywhere on the page
A card's PSA 10 figure could read one number in the band and another in the tape below it, because the two were quoting different columns of the same record: the all time median beside the recent one. Everything now quotes the same rule, including the market reports, and a report built before the rule changed is retired rather than shown. Checked across 66 cards, from 337 disagreements to none.
Top movers is a seven day board, and a set's launch no longer reads as a crash
The movers board on the home page now measures the same seven days the daily letter does, so a card the letter names is always on the site. Cards whose set came out during the window have left it: a preorder price meeting the street price on release day looked like a 98% fall, and three of those were leading the losers. The biggest real fall this week leads instead.
The daily letter reaches everyone on the list
One seeded audit account on a reserved domain made the mail provider refuse the whole morning's batch, so the first edition reached nobody. Addresses on domains that exist precisely so nothing delivers to them are no longer on the list, and when a batch is refused the letter is sent one at a time at a pace the provider accepts.
Four numbers that disagreed with themselves
Top movers on the home page had been blank since the morning, because one failed reading was kept and re-served for hours; an empty board is now thrown away after a minute. A card whose price had fallen still showed no change over thirty days, because the change was measured to the last day the price source reported rather than to today; it now ends at the price printed beside it. The daily letter called its lead the biggest drop of the week when the site published larger ones it deliberately leaves out, and says which list it is the biggest of. A letter that reaches nobody is retried one message at a time and the outcome is checked every morning.
Signed in, the home page is your portfolio
Members open on what their cards are worth, the change since the recorded prices start, and a line they can set to a week or a month. Under it, the three holdings that moved most with their art, a watchlist, and the market in one short list. The headline sentence names the card behind the move when one card carries most of it. Visitors who are not signed in see the page as before.
A daily letter that fails to go out now says so
The record of each morning's send counted the messages the mail provider accepted and stored that as the number of readers, so a send that failed for everyone looked exactly like a morning with nobody subscribed. It now records how many people were on the list, how many copies went, and what the provider said when one did not. Re-sending a morning uses the letter already written for it instead of writing a new one.
The letter never counts sales it did not measure
A note the daily letter could quote said the earlier price rested on a number of recorded sales, and that number counts the days we recorded a price, not sales. It now says what it is, a median over a few daily readings. The check that refuses a cause running the wrong way also reads every card in the letter against its own direction, not only the card it leads with.
The letter's guess about a move is held to the direction and the set
Two checks on the daily letter had holes. A cause that runs the wrong way (an expensive copy selling, on a card that fell) slipped through whenever an extra word sat between the copy and the sale, and a reprint could be offered as a cause for any set whose release date we do not hold, which is most Japanese sets. Both now refuse, and the second refuses unless the set is known to be recent.
Morning Pull carries the three Pokemon stories worth a tap
An In the news block picks the three most tap-worthy stories from the last two days (set reveals, big sales, grading news, store drops, tournaments), each with its picture, its source, how long ago it ran, and one short line on why a collector should care that is checked against the story's own words. The letter still reads in a minute, and the hairlines between its blocks are gone.
Two things that stand out about each card, beside its art
The three lines beside the card image used to repeat the band below them. Now they are the two most notable facts about that card: the size of its week against every priced card, how far it sits under its recorded high, how hard it is to get a 10 in its set, its price rank in the set, how thin its registry is, or what the same card costs in the other language. A card with only one thing worth saying gets one line, never filler.
Lighter pages: small card art arrives at the size it is shown
Thumbnails in the home rails, the version chips and the graded ladders were full card images squeezed into tiles a few dozen pixels wide. They now come down at the painted size, which takes the home page from about 890 KB of images to under 480 KB on a phone and cuts card pages by two thirds.
Morning Pull reads in a minute, in a collector's words
The daily letter is under 180 words: the biggest price change of the week with a short take on why, in plain words a collector uses, with today's Daily Buys picks always in it (yesterday's, dated, when today's are not built yet), the set and grading notes, and one Pokemon fun fact. The guess about a move now fits its direction and the card's era, and every figure is one the site's own pages print.
The card page's metric band lines up, and portfolio and watch share a row
Every cell in the band under a card uses the same two-line shape, so figures start on one line and a fifth metric runs as a footer line instead of sitting alone with an empty half. Add to portfolio and Watch price sit side by side in every language, and the print line and the versions block use one label style.
The day's prices are written in full even on a slow morning
The daily TCGplayer price dump is stored once and written to the recorded series until every card is in, with two follow-up runs at 03:25 and 03:50 UTC finishing whatever the first could not. This morning's day had stopped at 60% of the catalog when the database was slow, which is what the status page's pricing warning was reporting.
Signed in, the home page opens on your portfolio
Members see their collection's value, its change over the recorded window, a line built from the recorded price of every card they hold, the three holdings that moved most, and one Scan button, in place of the marketing headline and the stat strip. Visitors who are not signed in see the page as before.
The metric labels have their info buttons back, and AGC slabs stay out of raw sales
The small circled i beside every metric label on the card page was showing as a bare square; it opens the definition again. Recent eBay sales now recognise AGC, GAG, CGA, BCCG and PGC slabs, and ACE, DSG and MNT when a grade follows, so a graded sale no longer sits in the raw list or the raw median.
Quieter chrome across the site
The sign-in and reset pages are one centred column with the moon mark, without the marketing panel beside the form. Section headings on the home page, the research desks and the card and set pages lose the small "moonstone" label that sat above each one, footer columns lose the hairline over each heading, empty home sections no longer leave a rule behind, and the Pro page drops its counters and gold glow.
The graded tab shows every grading company at once
PSA, CGC, BGS, TAG, ACE and SGC ladders sit side by side with a dated figure and sample per grade, the tab label names the companies the card has, a find-my-grade picker shows one figure large (a CGC Pristine 10, say), and one line compares a CGC 10 with the PSA 10 where both have sold. Every qualifier in the metric band wraps under its figure again on phones.
Japanese cards answer to their English names
Search for "Giratina VSTAR Universe 261" and you get ギラティナVSTAR 261/172, which has had PSA, CGC, BGS and ACE sales all along. Nearly 17,000 Japanese cards and 27,000 set names gained an English alias, katakana queries match whole names, and Japanese results show the English name and set under the printed one.
The binder scanner reads the printed name, and asks the camera for more pixels
The name printed on each card now outranks what the picture looks like, a page is treated as one set unless a card proves otherwise, a card the picture search missed can be found by its name, and the two prints of one picture no longer argue with each other. The binder desk also asks the phone for its 4K stream, which roughly doubles the pixels per card and is the single biggest lever the loop measured.
TCGplayer's own prices beside ours on every card
Each card page now shows TCGplayer's published low, market, mid, high and direct-low prices for the printing you are looking at, with the day and a link to the listing and to TCGplayer's condition guide. When their market and our recorded price disagree by more than 15%, the page says so instead of picking one. Cynthia names both sources too.
Scanned cards as a carousel on your phone, and set pages that load
On a phone the scan tray now shows one card at a time with the next peeking in, a scrub rail for the whole session, and the condition controls folded behind a summary line, so the camera stays on screen. The binder crop is taken at the moment you tap, so it matches the outline you saw even while it is changing shape. Set pages that had stalled for a minute on first load now come up in under half a second.
Graded prices that say when the card last sold
A PSA 10 figure is now the median of the last 90 days of verified sales when there are enough, or the last sale with its date when there are not, and the long-window median stays visible when it disagrees. Every grade the sales feed carries is recorded, PSA 8 and below included. A Skyridge Crystal Golem PSA 10 had printed a thirteen-month blend as if it were today's price.
A settings page you can read down
Morning Pull first, then appearance and language, then your account, each as a row with its control at the end and a line that says what happened when you change it. The account menu's appearance row is now one quiet line with a link to Settings.
Switch a scanned card between the printings a camera cannot tell apart
A scanned Base Set card now shows its Unlimited, 1st Edition and Shadowless runs, and its Base Set 2, Legendary Collection or Classic Collection reprints of the same art, as chips on the row. Pick one and the row re-prices; a page that is all Shadowless switches in one tap.
Binder scans cross-check three frames and stay inside the outline
The binder desk now shoots three sharp frames of the page, runs each through the scanner and only calls a card certain when the frames agree; a disagreement becomes a tap-to-pick list instead of a wrong price. It also scans only what sits inside the green outline, so cards on the facing page or the next binder no longer appear in your results.
One number per figure on every card page
A card page could show two PSA 10 medians and a gem rate beside "not tracked" (Karen's Tyranitar did). The bullets, the metric band, the recorded-data ledger, the share image and the machine-readable data now all read one resolved figure set, and an audit script checks any deployment for drift.
Twenty studies on the sets and cards nobody had written up
The EX era (Unseen Forces, Team Rocket Returns, Delta Species, Dragon Frontiers, Deoxys and eleven more), Expedition, the Japanese promo families, Sun and Moon and Diamond and Pearl as eras, Japanese 151 against English 151, five card studies, and five questions people actually search (cheapest Gold Star, which Neo set holds value, Black Star Promos, McDonald's sets, POP Series). Every figure independently recomputed before publication.
Tables that read like lists on a phone
The recorded-data ledger on card pages, the grading desk, the registry watch and the track record now stack into labelled entries under 640px with no sideways scrolling, and their columns line up under their headers on a desk. Also: every Pokemon fun fact in the morning letter was checked against the games and rewritten where it was loose.
The movers board says how many days it measured
The home board called itself 30-day while its comparable price history reached 16 days, so a card up 50% in the letter's 7-day window could sit among the losers on the home page. Every label now prints the span the board actually compared and the day it ends.
Release notes as one calm log
This page: title first, one line of summary, one quiet meta line, a date stamp only where the day changes, and the version printed once at the top. The appearance switch has left the footer for the account menu and the settings page.
Binder pages and bulk drops come back in the order you scanned them
A binder page's nine pockets now read top-left to bottom-right in the tray, and a multi-file drop reads in the order the files were chosen. Both had been landing in reverse.
September 2026145 shipped
Graded medians on the screener and card pages read the newest tape
About a hundred cards were showing a PSA 10 median from an old snapshot while a newer one sat under another key (Raikou Gold Star read $4,653 where the tape held $20,675). The newest row now wins everywhere.
Morning Pull talks like a friend, not a research note
The letter is now Morning Pull. Each story ends on a one-sentence take in plain words, with a hedged guess at what probably happens next instead of a method note, a Pokemon fun fact closes every edition (about a card in that morning's letter when there is one), and the buttons no longer sit flush against the next divider.
The morning letter reads in dark mode and says why it matters
The morning letter now carries a one-line take under each story, real buttons instead of a row of identical links, figures in the plain-text copy, and panels that stay legible in Apple Mail's dark mode. The writer is refused a third time before the letter falls back to figures only.
The desk asks real questions and holds sixteen screens
The prompts beside the ask box are now the questions people actually type, and the screens sit behind four categories (Valuation, Grading, Momentum, Supply), sixteen in all, each tile counting its cards from the same table the screener reads.
Morning Pull, the morning letter, and a settings page
A daily email at 5:30am Pacific with the night's movers, the screener's freshest picks, the card of the day and the news, every figure taken from the boards on the site. Signing up opts you in; your settings page turns it off, and the light or dark switch now lives there too.
Every version of a card, grouped by what differs
Under the card name: its printings with their own prices, the Japanese print, the same card at another rarity in its set, and its promo or gallery reprints, each as a labelled row that wraps instead of clipping.
Cynthia and the screener share one desk
On the home page and on every card page, one panel: ask in words, or set the bars yourself. Each screen tile shows a fanned pile of its top three cards so it reads as a screen, not one card.
Market reports show their work
Every report opens on a market snapshot, states its data integrity (which of thirteen checks it passed), prints its score as a table whose rows add up, separates the market call from the grading signal, liquidity and listed float, and prices grading at the PSA service tier your card actually needs, net of eBay's selling fee.
One report is free, and the rest sell themselves better
The Mew ex (Paldean Fates) report is open to everyone as a showcase. Locked reports now list exactly which sections this dossier holds, with the verdict block explaining what each colour means.
Every metric explains itself
An info mark beside every figure on the card page opens a plain-language definition: what it is, how we compute it, how to read it. Beta versus the moonstone Index included.
Recent eBay sales link to the sale
Each recorded sale on a card page now links to the eBay listing it came from, shown as a slab with its grade, with searches for live and sold listings above the list.
Tap the card art to see it full screen
Pinch, scroll or double tap to zoom into the largest art we hold, pan around it, and close with a tap.
Card pages read faster
Key figures as three bullets under the name, the PSA 10 population in the band, a printing switcher with each printing's own price, collapsible sections, the discussion as a paginated section at the foot, and one Explore block instead of two rows of pills.
Card pages for search engines and AI assistants
Every recorded figure sits in the page's own HTML with its basis and date, each card has a JSON twin, and the sitemap dates every card to the day its figures last moved.
One grading fee model everywhere
Break-even and grading math on every page use the same published PSA tier for the card's declared value and net the sale through eBay's fee. No more flat $20.
The set screen: four ways to read one set
Pick any set and rank every card in it four ways at once: the PSA 10 premium, the laggards, gem rate against price, and how far each card sits from its own peak. It answers the question people actually ask, which is not "what is this card worth" but "what in this set is cheap right now".
Ask Cynthia about a whole set
Name a set in a question and Cynthia now builds the set screen before she answers, instead of asking you to name specific cards. She cites the ranked cards and links the screen she read.
The screener, rebuilt as a terminal
Four pills carry the filters people use every day and a disclosure holds the other ten, every figure now takes a ceiling as well as a floor, six named screens open with live counts, and the grid is never empty when you arrive. On a phone each row is a labelled quote card, so nothing scrolls sideways any more.
The binder scanner catches the top row
A nine-pocket page that came back as six now comes back as nine: a row of cards that sit slightly out of line is still a row, and an empty pocket in an otherwise even grid is told apart from a card the scanner missed.
Single card scans are a second or two quicker
The same scan, one to two seconds faster, and a little more accurate on the hard cases. Two lookalike pairs that used to swap places are now kept apart.
174 of 185 research notes recomputed from scratch
Every published figure in the archive was rebuilt from the data rather than trusted, and each of the eleven that could not be rebuilt is labelled with the reason. A number on this site should survive being checked.
Fifteen studies on the arguments collectors actually have
Vintage against modern, which sets hold up, which grading myths survive contact with the tape. Fifteen new pieces, each one independently recomputed before it was allowed to stay live.
Binder scanning, rebuilt: a page in seconds, not minutes
Photograph a binder page and get every pocket named and priced. A page that took forty seconds to over two minutes now takes four to twelve, and a pocket the scanner is unsure about says so instead of guessing.
The landing page quotes like a terminal
Two live tapes run under the header: sets one way on top, the Pokemon Index and twenty two blue chip species the other way beneath, each with its artwork and its real move. The showcase below is a full quote panel with the recorded price series, the graded ladder and the grading maths.
Two scanning desks: single card, and binder
Scanning a single card is free. Binder and bulk scanning is its own tab for members, and on a desktop the scanner opens on a drop zone rather than a webcam square.
An intake desk for shops
Set your margin, floor and rounding, scan a stack, and every row comes back with an offer you can pass on, override by hand or annotate. Export a CSV or print the sheet, and a closed tab does not lose the session.
Every card page says what we actually recorded
Each page now opens with that card's own market price, its PSA 10 median and the number of sales behind it, as of the date we recorded them, rather than a stock promise. A new /about page explains in plain words what the platform measures and how.
A set name resolves to the set you asked for
Typing a set name used to be able to land you on a different set that shared a word with it. The rule was rewritten and measured across all 777 set names in the catalog.
Thirty reference studies on how this market works
Grading economics, set lifecycles, liquidity, catalog structure, returns and risk, and sealed economics. Thirty pieces built on our own recorded tape, every one independently recomputed before publication.
Cynthia cites our own research
Ask her a question the archive already answers and she quotes the study and links it, instead of reasoning from scratch. Our recorded data is the only reason to ask her rather than a general chatbot.
Three free days of Pro
Pro opened with a free trial: three days, a notice before the card is ever charged, and nothing taken if you cancel inside the window. The membership page always carries the terms in force today.
A support desk and a public status page
Write to a person at /support and get a ticket you can follow. /status publishes seven components with ninety days of history, so you can see for yourself whether the thing you are waiting on is us.
Cynthia is a proper chat app on a phone
The transcript scrolls, the composer stays put, answers arrive at the top rather than showing you their tail, and you can read what you typed. Ask Cynthia now sits at the top of the home page.
Price targets, drawn on the card's own chart
Every card in the book carries a disclosed model target projected onto its price history. The direction is visible to everyone and the magnitude is a member figure.
Far more sets have a page of their own
Three quarters of the set catalog had nothing to land on when you searched for it. Those pages resolve now, and the search panel opens on screen on a phone rather than off the side of it.
The site speaks four languages
English, Spanish, Chinese and Thai, chosen from the menu beside the theme switch and remembered on your device. Research notes are machine translated with a badge saying so, and figures and card names never change.
Open a pack, and keep score
The pack simulator opens a real booster from any supported set using that set's researched pull rates and card order, prices every pull at the printing you actually got, and keeps a running paid against pulled ledger on your device. Entertainment and odds education, not cards you own.
The Grading Desk, every Tuesday
Nobody publishes PSA population history, so we snapshot it daily and the deltas are ours. Each week: which cards the registry is absorbing fastest, what is hardest to gem against its own era, and what a PSA 10 is worth over raw.
A watchlist for the cards you are waiting on
Put a price on a card you are waiting for and the engine watches it for you every morning. A target disarms the moment it is crossed, so one move is one message and not a week of them.
Quant metrics on card, set and artist pages
Drawdown, volatility, momentum and the rest, computed only from series we recorded ourselves. If we have not recorded enough to say something, the page says nothing rather than filling the gap.
September 2026145 shipped
"Nobody has graded this card" is now an answer
Graded coverage now runs over the whole catalog rather than only the cards that happened to carry a price, and a card with no PSA sales on record says so in words instead of showing a dash. An absence we have checked is an answer; an absence we never looked at is not.
Pull rates on set pages
Where a published study exists, the set page shows what a pack actually yields, sourced verbatim. Where none exists, it says so instead of rolling a number.
The card screener
An empty grid you drive: filter roughly forty five thousand priced cards on price, PSA 10 median, population, gem rate and move, and every screen you build is a URL you can send to someone.
August 202612 shipped
Daily Buys
A conviction list published every day with buy, sell and hold ratings and a disclosed target on each. The engine has to clear its own costs before it calls anything a buy.
One hundred hand written card house views
A written view on a hundred individual cards, each one taken through an author, an insider read and an accuracy pass before it was published.
Market Reports for members
A dossier per card and per set: the recorded price series, the graded ladder, the grading maths and a written house view. Built for the cards and sets people ask about most, and refreshed on a rotation.
A public track record
Every scored call is dated and kept, win or lose, at /reports/track-record. A research desk that only shows you its good weeks is not worth reading.
A light theme
Warm paper by day, night sky by dark, chosen from the account menu or from the time of day the first time you arrive. Every page and chart was retuned for both.
Cynthia answers while she is still thinking
Answers stream in rather than landing all at once, with the first words in a couple of seconds instead of five to twelve.
Moonstone Pro
Nine ninety nine a month: 300 Cynthia questions a day instead of the free desk's 25, binder scanning, and 200 API card scans a month. The free desks stay free, and every member figure we have built since is included.
Scan a whole binder page at once
Photograph a page of nine and get every pocket named and priced, instead of scanning card by card.
Cynthia, the research assistant
Ask a question in plain words and get an answer built from our own recorded prices, graded sales and population data, with the cards it names linked and the tables drawn. Send her a photo of a card and she reads it.
Import your collection from a link
Paste a Collectr share link and the whole collection comes across, valued at our recorded prices rather than retyped card by card.
The Scan API
The same scanner behind a key, for shops and developers who want it inside their own tools. A free sandbox tier to try it on, and a dashboard showing exactly what you have used.
moonstone opens
A card scanner, a research engine and a page for every card we track, on one site. Everything above is what happened after.
Dates are the day the change reached production. Everyday fixes and data work are not listed; this page records what changed for the person using the site.