Start free

Collection

Track every copy you own, and leave whenever you like.

Import a Moxfield or Deckbox export and ManaLotus resolves it row by row, flags every guess, and holds an ambiguous row back with its candidate printings listed in the report. What lands is yours at the copy: the exact printing, the Finish, the Condition. And everything you entered exports free and lossless on every tier.

Track up to 1,000 cards free. Nothing charges until a price is published on the pricing page.

Import report · moxfield.csv

Matched to a printingResolved
Printing assumedFlagged
UnresolvedHeld, candidate printings listed

The three states the report can put a row in. Every row you bring lands in one of them, matched or not.

Portability

Export every field you typed, on any tier

Everything you entered exports free and lossless on every tier: the printing, the quantity, the condition, the finish, the language, your notes and tags, what you paid for it. The valuations computed on top of your rows are the paid column set. Every field you typed or imported comes back out whatever you are paying, and we test that round trip against the rows that break exports, the commas and quotes and newlines sitting inside your own notes.

Go past the free cap and the collection stays viewable, exportable, and removable. If it stays over, we mail a CSV of the whole thing and keep it restorable in full for 12 months. Nothing gets trimmed, and we never pick which cards survive.

Yours on the way in, yours on the way out.

Import

Bring the collection you already have

Drop in a Moxfield, Deckbox, or Canonical CSV export and every row walks the same ladder, strictest rung first: set code and collector number, then a set code off by a character, then a set name where a code belongs, then a card name that resolves to exactly one printing in that set.

  • A card name that resolves to one oracle card is applied at that card's canonical printing and flagged as an Assumed Printing, because an assumed printing moves your totals
  • A name with two candidates and no tiebreak is held, never guessed, and the report lists the candidate printings it was choosing between
  • A file whose columns match no supported format, or match two of them, stops and asks you to pick. A file where nothing matched at all fails the job and still hands you the report saying why

How a row gets matched

Set code and collector numberexact
Set code off by a characterset corrected
Set name where a code belongsset name mapped
Card name, one printing in that setname and set
Card name, one oracle cardassumed
Two candidates and no tiebreakheld, never guessed

The ladder every row walks, strictest rung first. The first rung that fits decides the row, and a row that fits none of them is held for you, never guessed.

Scale

The binder filled up, then the longbox, then the closet shelf.

Sorting, totals, and prices run server-side from your first card, so the page opens the same whether the shelf holds four thousand cards or four hundred thousand. Your browser paints one page of it and asks for the next. The free side of that runs to 1,000 cards, and the pricing page writes out where the line sits.

Your collection

Filter to blue instantsserver-side
Sort by priceserver-side
Value the whole shelfserver-side
Your browser downloadsone page

A schematic of where the work happens. Filtering, sorting, and totals run on the server. Your browser paints one page of it.

For collectors

A collection is made of copies, and copies differ

An owned row is one exact printing at one Finish in one Condition, so a near mint retro frame and a moderately played extended art copy of the same card sit as two rows and price apart. The card page keeps the count of how many of that card's versions you already have.

  • Finish and Condition ride on the row, nonfoil through etched and near mint through damaged, edited from the card page as a finish-by-condition grid of steppers
  • Treatments are first-class search vocabulary: is:showcase is an operator, and asking for a surge foil in plain language resolves to the same printings
  • The card page switches from Shop to Collector, and the Collector view is every version in a filterable table with a rail for foil style, frame, art, and promo source
  • Browse any set by collector number or rarity, with treatment badges on the tiles and the set's totals per finish in the header

One card, several rows

Printingthe exact set and number
Finishnonfoil · foil · etched
Conditionnear mint through damaged
Treatmentsearch vocabulary

A schematic of the grain a copy is stored at. Two copies of the same card in different finishes or conditions are two rows, and they price apart.

Lists

A list that already knows what you own

Every entry is a printing you picked, at the quantity you want, and the list nets itself against your collection: hold three of the four and it asks for one. The figure underneath is what the rest costs at those exact printings.

  • A smart list is a saved rule, re-read every time you open it. Pin the cards you want held out of the rule, hide the ones you never want back, restore a hidden card when you change your mind
  • Point a rule at a set and the list becomes a completion tracker for it, counted at the card, so any printing you own closes the slot
  • Watch a list and the drops come to you, on the same alerts stack and the same free watch allowance as everything else

Smart list · a rule that keeps looking

The rulere-read every time you open it
Pinned cardsheld out of the rule
Hidden cardsrestorable, one click
Rule stops parsingsays so, pins stay

A schematic of the two halves. A rule that stops parsing says so and keeps your pins safe. A rule that matches nothing today says that too, in its own words.

Buying

The wants, and the order to buy them in

Tap the star on a printing anywhere on the site, in search, on a card page, inside a deck, and it lands on the Wishlist. The Wishlist is the one view over everything you have marked Want, netted against what you own, with a bulk action that clears the wants your collection already covers.

  • Next Buy ranks only the wants that carry evidence: one that completes a documented combo in a deck you built, one that fits a deck's archetype, one sitting near its tracked low
  • It says how many of your wants carried evidence out of how many it looked at, how many of your decks it measured against, and it names any cap that bit
  • Open a public deck, press Get these cards, and you get a list of what that deck needs and your collection does not cover
  • Export to Moxfield text, CSV, or TCGplayer Mass Entry, and anything with no TCGplayer product is named for you in the notice that comes back

Next Buy · why this one

Completes a comboin a deck you built
Fits a deckarchetype and colors line up
Near its tracked lowa buy window

The three kinds of evidence a want can carry. They sort in tiers you can read off the row, and nothing is folded into a single score.

Breaks

Crack the box with the app open

Pick the box you are opening and start a session. Type a collector number and the pull lands; when one number covers more than one printing, a numbered quick pick puts the likely one first. Shift for foil, option for etched, one keystroke to undo. Crack the box, log each pull as it hits the table, and the cards are in your collection before you sleeve them.

  • The running value resolves server-side against the box's own market price, and a card with no price row is counted as unpriced and left out of the total
  • The biggest pull of the session names itself, and every finished break stays in your history with what it was worth at open and what it is worth today

Break · one box, one session

Type the collector number, pick the finish

one number, two printingsa numbered quick pick

Priced as you go

running valueagainst the box's own market price
no price rowcounted unpriced

Add to collection

the sessionbecomes owned card rows

A schematic of the session. Every entry is re-priced server-side off the same price rows the rest of the site reads, so the running total is not your browser's arithmetic.

Value over time

What it was worth, night after night

A snapshot is taken nightly and frozen, and the chart draws three lines off them: market, buylist, and cost basis for the rows that carry what you paid. A night with no reading leaves a gap in the line. A brand new collection is told the first snapshot has not run yet, because a chart starting at zero would be reporting a measurement nobody took. Free accounts read the trailing 90 days of it, and the full history rides with paid collection storage.

Collection value · nightly

Marketwhat it sells for
Buylistwhat a shop pays
Cost basiswhat you paid, where the row carries it
A night with no readinga gap in the line

The three lines the chart draws, off frozen nightly snapshots. A missing reading breaks the line instead of dropping it to zero.

Opening a break is free, including the running value, the biggest pull, and committing the session into your collection. The EV scorecard beside it, which reads a break against what the box was expected to hold, belongs to the paid Expected Value feature, and that feature is not on sale yet. The pricing page carries that boundary and every other one.

Why it holds up

The difference you feel once it outgrows the shelf

A collection app built for a binder
ManaLotus
You retype the collection you already tracked somewhere else
Import a Moxfield or Deckbox export and it resolves row by row
The importer quietly drops the rows it cannot place
Every row lands in the Import Report, matched, flagged, or held with its candidates
The app crawls once you pass a few thousand cards
Filtering, sorting, and valuation run server-side, so the page opens the same at any size
Your want list is a note in your phone nobody checks against the shelf
A want is state on the printing, netted against what you own everywhere it appears
Getting your data back out means a paid export, if it is offered at all
Everything you entered exports free and lossless on every tier

Bring it all, and take it with you

Import without export is a trap with a subscription fee, and we refuse to be one. Bring the collection you already have, and keep every row yours as it grows.