moonstone · for card shops

Buy a collection in minutes, not an afternoon.

Photograph binder pages or lay singles under the camera. Every card is identified to the exact set and printing, priced at TCGplayer market, discounted to your buy margin, and totalled. Export the offer sheet and hand it across the counter.

  • Exact printing, not a name match. Holo, reverse, 1st edition and shadowless price apart. The scanner resolves them, and where two printings share identical art it asks you rather than guessing.
  • Your margin, your floor. Set them once. Offers round down, never up. Bulk under the floor is counted and left off.
  • Uncertain matches never make the sheet. A row the scanner is not sure of is flagged for a look, not priced and hoped for.
  • One sheet, spreadsheet-ready. Columns on line one, market and offer side by side, a review column, a totals row, TCGplayer ids for your inventory system.

Up to 25 lines per sheet export free so you can check the identification against your own eyes. Bigger sheets need a Scan API plan or moonstone Pro. Prices are the recorded TCGplayer market, updated daily; see the API terms for what you may do with them.

Keep capturing. Cards price in the background and land in the bar below.

How a shop uses it

  1. Open this page on a phone or a desktop with a webcam. Set your margin and floor in the tray; they are remembered.
  2. Photograph nine-pocket binder pages one at a time, or hold singles under the camera. Cards stack up in the tray with market and offer.
  3. Tap any flagged row to confirm the match or pick the printing. Adjust condition and quantity where a card is played or there are duplicates.
  4. Export the offer sheet. Total at the bottom, one line per card, ready for the counter or the POS.

Building your own intake tool? The same recognition engine is one REST call: the Scan API, with a binder endpoint that returns nine pockets per request.